From JESD204B Framer API Data Structures of AD9371-User-Guide-UG-992.pdf, we only found "serializerLaneCrossbar" setting, no "ADC/SAMPLE crossbar setting. Could current AD9371 API support ADC/SAMPLE CROSSBAR swap setting?
AD9371
Recommended for New Designs
The AD9371 is a highly integrated, wideband RF transceiver
offering dual channel transmitters and receivers, integrated synthesizers, and digital signal...
Datasheet
AD9371 on Analog.com
From JESD204B Framer API Data Structures of AD9371-User-Guide-UG-992.pdf, we only found "serializerLaneCrossbar" setting, no "ADC/SAMPLE crossbar setting. Could current AD9371 API support ADC/SAMPLE CROSSBAR swap setting?
You can refer following code snippet in API function MYKONOS_setupJesd204bFramer() in 'mykonos.c' to understand how to set ADC crossbar.
#define MYKONOS_ADDR_FRAMER_ADC_XBAR_SEL 0x061
mykonosErr_t MYKONOS_setupJesd204bFramer(mykonosDevice_t *device)
{
:
:
:
framerADC_XBar = 0xB1;
if (ML == 24)
{
if (device->rx->rxChannels == RX1)
{
/* adc 0 and 2 used */
framerADC_XBar = ((framerADC_XBar & 0x0C) << 2) | (framerADC_XBar & 0x03);
}
else if (device->rx->rxChannels == RX2)
{
/* swap ADC xbar for Rx1 and Rx2 */
framerADC_XBar = ((framerADC_XBar & 0xF) << 4) | ((framerADC_XBar & 0xF0) >> 4);
/* adc 0 and 2 used */
framerADC_XBar = ((framerADC_XBar & 0x0C) << 2) | (framerADC_XBar & 0x03);
}
/* Framer: Set ADC Crossbar */
CMB_SPIWriteByte(device->spiSettings, MYKONOS_ADDR_FRAMER_ADC_XBAR_SEL, framerADC_XBar);
}
else
{
/* Framer: Set ADC Crossbar */
CMB_SPIWriteByte(device->spiSettings, MYKONOS_ADDR_FRAMER_ADC_XBAR_SEL, framerADC_XBar);
}
:
:
:
}