We are using board ZC706 with FMCOMMS3 in our project. Our main purpose is to disable gain control logic through SDK application (reference design) and to control gain through SPI from baseband (RTL) in MGC mode. For this we are writing SPI module in RTL in which we are writing register 0x109 with gain index value obtained from our BBP. The value written in register 0x109 is cross-verified through SPI read in RTL, and we are able to read back the value successfully.
Then we have followed these steps-
1. Running the ad9361 application through SDK in non-os mode with gain control mode set to MGC and some initial gain value.
2. Running the SPI in RTL to configure the register 0x109 with the new calculated gain value obtained from BBP.
We have observed the following -
1. The received signal is still using the gain set initially through SDK and not the one written through SPI in RTL.
So, our basic doubt is whether writing register 0x109 with the index value corresponding to gain is sufficient to solve our purpose or are we missing something. And other thing is do we need to run the ad9361 application again in SDK (by disabling gain writing functions) after writing the gain value from RTL.
Thanks in advance,