Post Go back to editing

ADRV9009 no-os API-TALISE_initArm() register address

Category: Software

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?