Hello,i'm studying the no-os software of ADRV9009 -talise API and i feel confused about the function TALISE_initArm().
I realized the ADRV9009 register map is in <talise_reg_addr_macros.h>,which serves as a look-up-table when using "talSpiWrite" to initialize ADRV9009.
#define TALISE_ADDR_RX_BAND_CONTROL 0x0272
#define TALISE_ADDR_RX_NCO_FTW_UPDATE_CONTROL 0x027C
#define TALISE_ADDR_BBIC_ENABLES 0x0284
#define TALISE_ADDR_RADIO_CONTROL_CONFIG1 0x028A
#define TALISE_ADDR_RADIO_CONTROL_CONFIG2 0x028B
#define TALISE_ADDR_TX_DP_MASK_CH1 0x028E
But i don't know why the fragment of arm configuration is in this file as well. After all,there is no arm core in ADRV9009.
For example,the calculation function upon ADRV9009 requires initialiation of arm core first.
uint32_t TALISE_initArm(taliseDevice_t *device, taliseInit_t *init)
{
......................................
halError = talSpiWriteField(device->devHalInfo, TALISE_ADDR_ARM_DMA_CTL, 0x01,
0x02, 1);
......................................
}
The initialiation function "TALISE_initArm()" calls function "talSpiWriteField" on these address macros,
#define TALISE_ADDR_ARM_CTL_1 0x13C0
#define TALISE_ADDR_ARM_CLOCK_CONTROL 0x13C8
which are in <talise_reg_addr_macros.h>.
My question is :
I'm wondering if the address 0x13c0 is one register address of ADRV9009.
And why? There is no arm core in ADRV9009,isn't it?