Skip to content

Commit d5ca65c

Browse files
update icnVC40.h to 920.14
Signed-off-by: David Rebbe <drebbe@intrepidcs.com>
1 parent b5a295c commit d5ca65c

2 files changed

Lines changed: 221 additions & 76 deletions

File tree

include/ics/icsnVC40.h

Lines changed: 166 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,11 @@ typedef struct _NeoDeviceEx
598598
#define DRIVER_USB1 (0x40)
599599
#define DRIVER_USB2 (0x80)
600600
#define DRIVER_USB3 (0xC0)
601+
#define SERVD_DRIVER_MASK (0xFF00)
602+
#define SERVD_DRIVER_VCP (0x0100)
603+
#define SERVD_DRIVER_DXX (0x0200)
604+
#define SERVD_DRIVER_CAB (0x0400)
605+
#define SERVD_DRIVER_TCP (0x1000)
601606
uint32_t Options;
602607

603608
void* pAvailWIFINetwork;
@@ -682,6 +687,45 @@ typedef struct _stAPIFirmwareInfo
682687
/* Settings structures come are all packed to 2 bytes */
683688
#pragma pack(push, 2)
684689

690+
/* Define number of CMP streams per device*/
691+
#define CMP_STREAMS_FIRE3 (10)
692+
#define CMP_STREAMS_FIRE3FR (10)
693+
#define CMP_STREAMS_RED2 (10)
694+
#define CMP_STREAMS_A2B (3)
695+
#define CMP_STREAMS_GIGASTAR (10)
696+
697+
/* CMP Network Enables */
698+
typedef struct
699+
{
700+
uint8_t bStreamEnabled : 1;
701+
uint8_t EthModule : 2;
702+
uint8_t bControlEnabled : 1;
703+
uint8_t spare : 4;
704+
uint8_t streamId;
705+
uint8_t dstMac[6];
706+
union
707+
{
708+
uint64_t word;
709+
struct
710+
{
711+
uint16_t network_enables;
712+
uint16_t network_enables_2;
713+
uint16_t network_enables_3;
714+
uint16_t network_enables_4;
715+
};
716+
} network_enables;
717+
uint64_t network_enables_2;
718+
} CMP_NETWORK_DATA;
719+
720+
/* Global CMP Data */
721+
typedef struct
722+
{
723+
uint8_t cmp_enabled : 1;
724+
uint8_t sparebits : 7;
725+
uint8_t spare;
726+
uint16_t cmp_device_id;
727+
} CMP_GLOBAL_DATA;
728+
685729
/* SetBaudrate in CAN_SETTINGS */
686730
enum
687731
{
@@ -734,7 +778,10 @@ typedef struct
734778
uint8_t TqSync;
735779
uint16_t BRP;
736780
uint8_t auto_baud;
737-
uint8_t innerFrameDelay25us;
781+
uint8_t innerFrameDelay25us : 4;
782+
uint8_t : 1;
783+
uint8_t disableRetransmission : 1;
784+
uint8_t canClk : 2;
738785
} CAN_SETTINGS;
739786
#define CAN_SETTINGS_SIZE 12
740787

@@ -1275,7 +1322,42 @@ typedef struct SRAD_GPTP_SETTINGS_s
12751322
uint8_t gPTPportRole;
12761323
uint8_t gptpEnabledPort;
12771324
uint8_t enableClockSyntonization;
1278-
uint8_t rsvd[15];
1325+
uint8_t rsvd_1;
1326+
uint8_t icsGptpDrvVerHeader;
1327+
union {
1328+
uint8_t icsGptpDrvVerMajorMinor;
1329+
struct {
1330+
uint8_t icsGptpDrvVerMajor:4;
1331+
uint8_t icsGptpDrvVerMinor:4;
1332+
};
1333+
};
1334+
union{
1335+
uint32_t multiPortsEnabledForMaster;
1336+
struct {
1337+
uint32_t PORT_AE01:1; // this is LSB in Little Endian
1338+
uint32_t PORT_AE02:1;
1339+
uint32_t PORT_AE03:1;
1340+
uint32_t PORT_AE04:1;
1341+
uint32_t PORT_AE05:1;
1342+
uint32_t PORT_AE06:1;
1343+
uint32_t PORT_AE07:1;
1344+
uint32_t PORT_AE08:1;
1345+
uint32_t PORT_AE09:1;
1346+
uint32_t PORT_AE10:1;
1347+
uint32_t PORT_AE11:1;
1348+
uint32_t PORT_AE12:1;
1349+
1350+
uint32_t PORT_ETH1:1;
1351+
uint32_t PORT_ETH2:1;
1352+
uint32_t PORT_ETH3:1;
1353+
1354+
uint32_t PORT_AE13:1;
1355+
uint32_t PORT_AE14:1;
1356+
uint32_t PORT_AE15:1;
1357+
uint32_t PORT_AE16:1;
1358+
};
1359+
};
1360+
uint8_t rsvd_2[8];
12791361
} RAD_GPTP_SETTINGS; //36 Bytes
12801362
#define RAD_GPTP_SETTINGS_SIZE 36
12811363

@@ -1369,6 +1451,7 @@ typedef enum
13691451
SFP_ID_ICS_MV2221MB1,
13701452
SFP_ID_ICS_MV3244,
13711453
SFP_ID_ICS_MC8670,
1454+
SFP_ID_ICS_EN11100,
13721455
// add new entries here
13731456
SFP_ID_MAX,
13741457
} SfpId;
@@ -2088,18 +2171,18 @@ typedef struct _GenericBinaryStatus
20882171
} GenericBinaryStatus;
20892172

20902173
//-----------------------------------------------------------------
2091-
#define MULTI_MAC__ADDR_LEN 6
2092-
#define MULTI_MAC__MAX_MAC_CNT 32
2174+
#define MACADDR_LEN 6
2175+
#define MULTI_MACADDR_CNT 32
20932176
typedef struct _MacAddrEntry
20942177
{
20952178
uint16_t mMacId;
2096-
uint8_t mMacAddr[MULTI_MAC__ADDR_LEN];
2179+
uint8_t mMacAddr[MACADDR_LEN];
20972180
} MacAddrEntry;
20982181

20992182
typedef struct _MultiMacAddrInfo
21002183
{
21012184
uint16_t mAddrCnt;
2102-
MacAddrEntry mMacEntries[MULTI_MAC__MAX_MAC_CNT];
2185+
MacAddrEntry mMacEntries[MULTI_MACADDR_CNT];
21032186
} MultiMacAddrInfo;
21042187
//-----------------------------------------------------------------
21052188

@@ -2923,6 +3006,12 @@ enum eGPTPRole
29233006
eRoleSlave = 3,
29243007
};
29253008

3009+
enum eGPTPProfile
3010+
{
3011+
eGPTP_PROFILE_STANDARD = 0,
3012+
eGPTP_PROFILE_AUTOMOTIVE = 1,
3013+
};
3014+
29263015
typedef struct _SRADGalaxySettings
29273016
{
29283017
uint16_t perf_en;
@@ -3165,9 +3254,11 @@ typedef struct _SRADA2BSettings
31653254
ETHERNET_SETTINGS2 ethernet;
31663255
RAD_GPTP_SETTINGS gPTP;
31673256
uint64_t network_enables_5;
3257+
CMP_GLOBAL_DATA cmp_global_data;
3258+
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_A2B];
31683259
} SRADA2BSettings;
31693260

3170-
#define SRADA2BSettings_SIZE 340
3261+
#define SRADA2BSettings_SIZE 416
31713262

31723263
typedef struct _SRADMoon2Settings
31733264
{
@@ -3375,9 +3466,12 @@ typedef struct _SRADGigastarSettings
33753466
ETHERNET10T1S_SETTINGS_EXT sfp_t1s_ext_1;
33763467
ETHERNET10T1S_SETTINGS sfp_t1s_2;
33773468
ETHERNET10T1S_SETTINGS_EXT sfp_t1s_ext_2;
3469+
3470+
CMP_GLOBAL_DATA cmp_global_data;
3471+
CMP_NETWORK_DATA cmp_stream_data[CMP_STREAMS_GIGASTAR];
33783472
} SRADGigastarSettings;
33793473

3380-
#define SRADGigastarSettings_SIZE 766
3474+
#define SRADGigastarSettings_SIZE 1010
33813475

33823476
typedef struct _SRADGalaxy2Settings
33833477
{
@@ -4345,40 +4439,6 @@ typedef struct
43454439
uint8_t reserved[5];
43464440
} Fire3LinuxSettings;
43474441

4348-
#define CMP_STREAMS_FIRE3 (10)
4349-
#define CMP_STREAMS_FIRE3FR (10)
4350-
#define CMP_STREAMS_RED2 (10)
4351-
4352-
typedef struct
4353-
{
4354-
uint8_t bStreamEnabled : 1;
4355-
uint8_t EthModule : 2;
4356-
uint8_t bControlEnabled : 1;
4357-
uint8_t spare : 4;
4358-
uint8_t streamId;
4359-
uint8_t dstMac[6];
4360-
union
4361-
{
4362-
uint64_t word;
4363-
struct
4364-
{
4365-
uint16_t network_enables;
4366-
uint16_t network_enables_2;
4367-
uint16_t network_enables_3;
4368-
uint16_t network_enables_4;
4369-
};
4370-
} network_enables;
4371-
uint64_t network_enables_2;
4372-
} CMP_NETWORK_DATA;
4373-
4374-
typedef struct
4375-
{
4376-
uint8_t cmp_enabled : 1;
4377-
uint8_t sparebits : 7;
4378-
uint8_t spare;
4379-
uint16_t cmp_device_id;
4380-
} CMP_GLOBAL_DATA;
4381-
43824442
enum
43834443
{
43844444
NETWORK_TIMESYNC_OFF,
@@ -4749,6 +4809,14 @@ typedef struct _SEtherBadgeSettings
47494809

47504810
#define RADEPSILON_NUM_PORTS 18 // ATSAM + PHYs
47514811
#define RADEPSILON_MAX_PHY 18
4812+
#define EPSILON_88Q6113_SWITCH_A 1
4813+
#define EPSILON_88Q6113_SWITCH_B 2
4814+
#define EPSILON_88Q6113_SWITCH_AB 3
4815+
typedef enum
4816+
{
4817+
EPSILON_10G_PHY1 = (1 << 0),
4818+
EPSILON_10G_PHY2 = (1 << 1),
4819+
} Epsilon_10G_PHY_select;
47524820

47534821
typedef struct _SRADEpsilonSwitchSettings
47544822
{
@@ -6003,7 +6071,7 @@ typedef struct _icsSpyMessageVSB
60036071
};
60046072
uint8_t AckBytes[8];
60056073
};
6006-
uint32_t ExtraDataPtr;
6074+
uint32_t ExtraDataPtr; //in the context of a vsb file, this is a size, not a pointer
60076075
uint8_t MiscData;
60086076
uint8_t Reserved[3];
60096077
} icsSpyMessageVSB;
@@ -6237,21 +6305,24 @@ typedef enum
62376305
supportedFeatureMax = 0xFFFF,
62386306
} DeviceFeature;
62396307

6240-
typedef enum PhyErrorType
6241-
{
6242-
PhyOperationError = 0,
6243-
PhyOperationSuccess = 1,
6244-
PhyFlashingInitError = 2,
6245-
PhyFlashingEraseError = 3,
6246-
PhyFlashingWriteError = 4,
6247-
PhyFlashingReadError = 5,
6248-
PhyFlashingVerifyError = 6,
6249-
PhyFlashingDeinitError = 7,
6250-
PhyFlashingInvalidHardware = 8,
6251-
PhyFlashingInvalidDataFile = 9,
6252-
PhyGetVersionError = 10,
6253-
PhyIndexError = 11,
6254-
} PhyErrorType;
6308+
typedef enum AccessoryErrorType
6309+
{
6310+
AccessoryOperationError = 0,
6311+
AccessoryOperationSuccess = 1,
6312+
AccessoryFlashingInitError = 2,
6313+
AccessoryFlashingEraseError = 3,
6314+
AccessoryFlashingWriteError = 4,
6315+
AccessoryFlashingReadError = 5,
6316+
AccessoryFlashingVerifyError = 6,
6317+
AccessoryFlashingDeinitError = 7,
6318+
AccessoryFlashingInvalidHardware = 8,
6319+
AccessoryFlashingInvalidDataFile = 9,
6320+
AccessoryGetVersionError = 10,
6321+
AccessoryIndexError = 11,
6322+
AccessoryParamApiVersionError = 12,
6323+
AccessoryParamSizeMismatchError = 13,
6324+
AccessoryParameterNull = 14,
6325+
} AccessoryOperationErrorType;
62556326

62566327
typedef enum _EDevNameType
62576328
{
@@ -6261,6 +6332,41 @@ typedef enum _EDevNameType
62616332
EDevNameTypeTCPShort,
62626333
} EDevNameType;
62636334

6335+
#pragma pack(push, 1)
6336+
typedef struct _FlashAccessoryFirmwareParams
6337+
{
6338+
// set to FlashAccessoryFirmwareAPIVersion - This should increment anytime there is a breakage of ABI / API.
6339+
uint32_t apiVersion;
6340+
// sizeof(FlashAccessoryFirmwareParams)
6341+
uint32_t size;
6342+
// Device specific Index - we should have an enum/preprocess define for all of these
6343+
uint8_t index;
6344+
// firmware data
6345+
uint8_t* data;
6346+
// size of firmware data
6347+
uint32_t dataSize;
6348+
} FlashAccessoryFirmwareParams;
6349+
#pragma pack(pop)
6350+
#if defined(IS_64BIT_SYSTEM)
6351+
#define FlashAccessoryFirmwareParams_SIZE (21)
6352+
#else
6353+
#define FlashAccessoryFirmwareParams_SIZE (17)
6354+
#endif
6355+
6356+
6357+
typedef enum _flashAccessoryIndex
6358+
{
6359+
FLASH_ACCESSORY_EPSILON_10G_PHY1,
6360+
FLASH_ACCESSORY_EPSILON_10G_PHY2,
6361+
FLASH_ACCESSORY_EPSILON_SWITCH_A,
6362+
FLASH_ACCESSORY_EPSILON_SWITCH_B,
6363+
} flashAccessoryIndex;
6364+
6365+
typedef enum _epsilon10GPHYFW
6366+
{
6367+
FLASH_ACCESSORY_EPSILON_10G_PHY_FW_0_3_7_0
6368+
} epsilon10GPHYFW;
6369+
62646370
// Update this assert when we add features to this enum
62656371
//static_assert(NUM_VALID_DEVICE_FEATURES == (networkTerminationDWCAN08 + 1));
62666372
//static_assert(NUM_VALID_DEVICE_FEATURES <= supportedFeatureMax);
@@ -6367,6 +6473,8 @@ CHECK_STRUCT_SIZE(SRADComet3Settings);
63676473
CHECK_STRUCT_SIZE(SRADGigastar2Settings);
63686474
CHECK_STRUCT_SIZE(SRADMoonT1SSettings);
63696475
CHECK_STRUCT_SIZE(SNeoVIConnectSettings);
6476+
CHECK_STRUCT_SIZE(FlashAccessoryFirmwareParams);
6477+
63706478
#endif /* INTREPID_NO_CHECK_STRUCT_SIZE */
63716479

63726480
#endif /* _ICSNVC40_H */

0 commit comments

Comments
 (0)