@@ -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 */
686730enum
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
20932176typedef struct _MacAddrEntry
20942177{
20952178 uint16_t mMacId ;
2096- uint8_t mMacAddr [MULTI_MAC__ADDR_LEN ];
2179+ uint8_t mMacAddr [MACADDR_LEN ];
20972180} MacAddrEntry ;
20982181
20992182typedef 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+
29263015typedef 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
31723263typedef 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
33823476typedef 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-
43824442enum
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
47534821typedef 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
62566327typedef 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);
63676473CHECK_STRUCT_SIZE (SRADGigastar2Settings );
63686474CHECK_STRUCT_SIZE (SRADMoonT1SSettings );
63696475CHECK_STRUCT_SIZE (SNeoVIConnectSettings );
6476+ CHECK_STRUCT_SIZE (FlashAccessoryFirmwareParams );
6477+
63706478#endif /* INTREPID_NO_CHECK_STRUCT_SIZE */
63716479
63726480#endif /* _ICSNVC40_H */
0 commit comments