RADGigastar: Update settings

pull/64/head
Kyle Schwarz 2024-04-17 14:24:36 -04:00
parent 9c830a91a2
commit 31d47613e7
2 changed files with 39 additions and 5 deletions

View File

@ -327,6 +327,35 @@ typedef struct SERDESPOC_SETTINGS_t
} SERDESPOC_SETTINGS; } SERDESPOC_SETTINGS;
#define SERDESPOC_SETTINGS_SIZE 10 #define SERDESPOC_SETTINGS_SIZE 10
enum
{
SERDESGEN_MOD_ID_NONE = 0,
SERDESGEN_MOD_ID_FPD3_2x2 = 1,
SERDESGEN_MOD_ID_GMSL2_2x2 = 2,
SERDESGEN_MOD_ID_GMSL1_4x4 = 3,
SERDESGEN_MOD_ID_FPD3_TO_GMSL2_2x2 = 4,
// new modules go above this line
SERDESGEN_MOD_ID_UNKNOWN = -1,
};
#define SERDESGEN_SETTINGS_FLAG_TX_PATGEN_ENABLE 0x0001
typedef struct SERDESGEN_SETTINGS_t
{
/*
* bit0: enable pattern generator
*/
uint16_t flags;
uint8_t rsvd1;
uint8_t mod_id; // connected module passed back from device
uint16_t tx_speed; // Mbps per lane, all tx ports
uint16_t rx_speed; // Mbps per lane, all rx ports
// reserved space for the future
// maybe pattern generator settings
uint8_t rsvd2[24];
} SERDESGEN_SETTINGS;
#define SERDESGEN_SETTINGS_SIZE 32
#define ETHERNET_SETTINGS2_FLAG_FULL_DUPLEX 0x01 #define ETHERNET_SETTINGS2_FLAG_FULL_DUPLEX 0x01
#define ETHERNET_SETTINGS2_FLAG_AUTO_NEG 0x02 #define ETHERNET_SETTINGS2_FLAG_AUTO_NEG 0x02
#define ETHERNET_SETTINGS2_FLAG_TCPIP_ENABLE 0x04 #define ETHERNET_SETTINGS2_FLAG_TCPIP_ENABLE 0x04

View File

@ -60,16 +60,17 @@ typedef struct {
struct struct
{ {
uint16_t hwComLatencyTestEn : 1; uint16_t hwComLatencyTestEn : 1;
uint16_t reserved : 15; uint16_t disableUsbCheckOnBoot : 1;
uint16_t reserved : 14;
} flags; } flags;
ETHERNET_SETTINGS2 ethernet1; ETHERNET_SETTINGS2 ethernet1;
ETHERNET_SETTINGS2 ethernet2; ETHERNET_SETTINGS2 ethernet2;
LIN_SETTINGS lin1; LIN_SETTINGS lin1;
OP_ETH_GENERAL_SETTINGS opEthGen; OP_ETH_GENERAL_SETTINGS opEthGen;
OP_ETH_SETTINGS opEth1; OP_ETH_SETTINGS opEth1;
OP_ETH_SETTINGS opEth2; OP_ETH_SETTINGS opEth2;
SERDESCAM_SETTINGS serdescam1; SERDESCAM_SETTINGS serdescam1;
SERDESPOC_SETTINGS serdespoc; SERDESPOC_SETTINGS serdespoc;
@ -79,12 +80,16 @@ typedef struct {
SERDESCAM_SETTINGS serdescam4; SERDESCAM_SETTINGS serdescam4;
RAD_REPORTING_SETTINGS reporting; RAD_REPORTING_SETTINGS reporting;
uint16_t network_enables_4; uint16_t network_enables_4;
SERDESGEN_SETTINGS serdesgen;
RAD_GPTP_SETTINGS gPTP;
uint64_t network_enables_5;
} radgigastar_settings_t; } radgigastar_settings_t;
#pragma pack(pop) #pragma pack(pop)
#ifdef __cplusplus #ifdef __cplusplus
static_assert(sizeof(radgigastar_settings_t) == 634, "RADGigastar settings size mismatch"); static_assert(sizeof(radgigastar_settings_t) == 710, "RADGigastar settings size mismatch");
#include <iostream> #include <iostream>