Digging deeper yet - I see that in ad9361_gc_update() for the sample rates where AGC 'works', the 'Gain Update Counter' is getting calculated to be 4099 i.e. for sample rates >= 8215001. For sample rates less than 8215001, the Gain Update Counter is <= 4098. If i hard code gain update counter to 4099, AGC seems to 'work' at these lower sample rates - at least its not stuck at min gain.
Anyone understand whats wrong or have suggestion on how to properly configure for lower sample rates without having to hack up the noos driver code / misconfigure AGC?
Are there suggested decimation configurations for different ranges of sample rates?
| /* | |
| * Gain Update Counter [15:0]= round((((time*ClkRF-0x111[D4:D0]*2)-2))/2) | |
| */ | |
| reg = phy->pdata->gain_ctrl.gain_update_interval_us * (clkrf / 1000UL) -settling_delay * 2000UL - 2000UL; | |
| reg = DIV_ROUND_CLOSEST(reg, 2000UL); | |
reg = clamp_t(uint32_t, reg, 0U, 131071UL); |
Thanks
joe