ctb: allowing adc enable for 10g to be 0, romode changing bit from disable analog to enable analog, removing matterhorn specific (#789)

This commit is contained in:
maliakal_d 2023-07-25 10:33:18 +02:00 committed by GitHub
parent c9dfa408db
commit d5ce03918c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 18 additions and 41 deletions

View File

@ -316,8 +316,8 @@
#define CONFIG_LED_DSBL_OFST (0) #define CONFIG_LED_DSBL_OFST (0)
#define CONFIG_LED_DSBL_MSK (0x00000001 << CONFIG_LED_DSBL_OFST) #define CONFIG_LED_DSBL_MSK (0x00000001 << CONFIG_LED_DSBL_OFST)
#define CONFIG_DSBL_ANLG_OTPT_OFST (8) #define CONFIG_ENBLE_ANLG_OTPT_OFST (8)
#define CONFIG_DSBL_ANLG_OTPT_MSK (0x00000001 << CONFIG_DSBL_ANLG_OTPT_OFST) #define CONFIG_ENBLE_ANLG_OTPT_MSK (0x00000001 << CONFIG_ENBLE_ANLG_OTPT_OFST)
#define CONFIG_ENBLE_DGTL_OTPT_OFST (9) #define CONFIG_ENBLE_DGTL_OTPT_OFST (9)
#define CONFIG_ENBLE_DGTL_OTPT_MSK (0x00000001 << CONFIG_ENBLE_DGTL_OTPT_OFST) #define CONFIG_ENBLE_DGTL_OTPT_MSK (0x00000001 << CONFIG_ENBLE_DGTL_OTPT_OFST)
#define CONFIG_ENBLE_TRNSCVR_OTPT_OFST (10) #define CONFIG_ENBLE_TRNSCVR_OTPT_OFST (10)

View File

@ -785,13 +785,8 @@ int setADCEnableMask(uint32_t mask) {
uint32_t getADCEnableMask() { return adcEnableMask_1g; } uint32_t getADCEnableMask() { return adcEnableMask_1g; }
void setADCEnableMask_10G(uint32_t mask) { void setADCEnableMask_10G(uint32_t mask) {
if (mask == 0u) {
LOG(logERROR, ("Cannot set 10gb adc mask to 0\n"));
return;
}
// convert 32 bit mask to 8 bit mask // convert 32 bit mask to 8 bit mask
uint8_t actualMask = 0; uint8_t actualMask = 0;
if (mask != 0) {
int ival = 0; int ival = 0;
for (int ich = 0; ich < NCHAN_ANALOG; ich = ich + 4) { for (int ich = 0; ich < NCHAN_ANALOG; ich = ich + 4) {
if ((1 << ich) & mask) { if ((1 << ich) & mask) {
@ -799,7 +794,6 @@ void setADCEnableMask_10G(uint32_t mask) {
} }
++ival; ++ival;
} }
}
LOG(logINFO, ("Setting adcEnableMask 10G to 0x%x (from 0x%08x)\n", LOG(logINFO, ("Setting adcEnableMask 10G to 0x%x (from 0x%08x)\n",
actualMask, mask)); actualMask, mask));
@ -919,15 +913,15 @@ int setReadoutMode(enum readoutMode mode) {
uint32_t addr = CONFIG_REG; uint32_t addr = CONFIG_REG;
uint32_t addr_readout_10g = READOUT_10G_ENABLE_REG; uint32_t addr_readout_10g = READOUT_10G_ENABLE_REG;
bus_w(addr, (bus_r(addr) | CONFIG_DSBL_ANLG_OTPT_MSK) & bus_w(addr,
(~CONFIG_ENBLE_DGTL_OTPT_MSK) & (bus_r(addr) & (~CONFIG_ENBLE_ANLG_OTPT_MSK) &
(~CONFIG_ENBLE_TRNSCVR_OTPT_MSK)); (~CONFIG_ENBLE_DGTL_OTPT_MSK) & (~CONFIG_ENBLE_TRNSCVR_OTPT_MSK)));
bus_w(addr_readout_10g, bus_r(addr_readout_10g) & bus_w(addr_readout_10g, bus_r(addr_readout_10g) &
(~READOUT_10G_ENABLE_ANLG_MSK) & (~READOUT_10G_ENABLE_ANLG_MSK) &
~(READOUT_10G_ENABLE_DGTL_MSK) & ~(READOUT_10G_ENABLE_DGTL_MSK) &
~(READOUT_10G_ENABLE_TRNSCVR_MSK)); ~(READOUT_10G_ENABLE_TRNSCVR_MSK));
if (analogEnable) { if (analogEnable) {
bus_w(addr, bus_r(addr) & ~(CONFIG_DSBL_ANLG_OTPT_MSK)); bus_w(addr, bus_r(addr) | (CONFIG_ENBLE_ANLG_OTPT_MSK));
bus_w(addr_readout_10g, bus_w(addr_readout_10g,
bus_r(addr_readout_10g) | bus_r(addr_readout_10g) |
((adcEnableMask_10g << READOUT_10G_ENABLE_ANLG_OFST) & ((adcEnableMask_10g << READOUT_10G_ENABLE_ANLG_OFST) &
@ -2240,16 +2234,6 @@ int startStateMachine() {
LOG(logINFO, ("Status Register: %08x\n", bus_r(STATUS_REG))); LOG(logINFO, ("Status Register: %08x\n", bus_r(STATUS_REG)));
// TODO: Temporary Matternhorn Specific ( will be moved to the pattern )
if (transceiverEnable) {
uint32_t addr = 0x202 << MEM_MAP_SHIFT;
bus_w(addr, bus_r(addr) | (1 << 1));
LOG(logINFOBLUE, ("Writing 1 to reg 0x202\n"))
usleep(1);
cleanFifos();
usleep(1);
}
return OK; return OK;
} }

View File

@ -4345,12 +4345,6 @@ int set_adc_enable_mask_10g(int file_des) {
#else #else
// only set // only set
if (Server_VerifyLock() == OK) { if (Server_VerifyLock() == OK) {
if (arg == 0u) {
ret = FAIL;
sprintf(mess,
"Not allowed to set adc mask of 0 due to data readout \n");
LOG(logERROR, (mess));
} else {
setADCEnableMask_10G(arg); setADCEnableMask_10G(arg);
uint32_t retval = getADCEnableMask_10G(); uint32_t retval = getADCEnableMask_10G();
if (arg != retval) { if (arg != retval) {
@ -4362,7 +4356,6 @@ int set_adc_enable_mask_10g(int file_des) {
LOG(logERROR, (mess)); LOG(logERROR, (mess));
} }
} }
}
#endif #endif
return Server_SendResult(file_des, INT32, NULL, 0); return Server_SendResult(file_des, INT32, NULL, 0);
} }

View File

@ -7,7 +7,7 @@
#define APIEIGER "developer 0x230525" #define APIEIGER "developer 0x230525"
#define APIGOTTHARD "developer 0x230615" #define APIGOTTHARD "developer 0x230615"
#define APIGOTTHARD2 "developer 0x230615" #define APIGOTTHARD2 "developer 0x230615"
#define APICTB "developer 0x230629"
#define APIMYTHEN3 "developer 0x230621" #define APIMYTHEN3 "developer 0x230621"
#define APIMOENCH "developer 0x230707" #define APIMOENCH "developer 0x230707"
#define APIJUNGFRAU "developer 0x230720" #define APIJUNGFRAU "developer 0x230720"
#define APICTB "developer 0x230720"