Datasheet section Prescaler Value specifies prescaler should be 8/9 for output frequencies more than 3.6GHz. It doesn't specify if this value is VCO or divided output. I assume it is VCO if FEEDBACK (R4,D13) is 1 otherwise it's divided output. Linux driver always work on fundamental feedback. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/frequency/adf4350.c?id=HEAD#n139 should this code block be after line 152?
Hi,
Yes, you can adjust the code as above.
Your assumption is correct. 3.6 GHz maximum frequency is defined for the feedback frequency. I guess you forgot to add code block that you mentioned.
Kudret
I've provided link, but source changed.
I meant this:
if (freq > ADF4350_MAX_FREQ_45_PRESC) { prescaler = ADF4350_REG1_PRESCALER; mdiv = 75; } else { prescaler = 0; mdiv = 23; }
should be after
while (freq < ADF4350_MIN_VCO_FREQ) { freq <<= 1; st->r4_rf_div_sel++; }