From b516631743dabbd0cf68db7f81fe8350f89c1ddd Mon Sep 17 00:00:00 2001 From: Michael Ossmann Date: Wed, 28 Jan 2026 19:07:57 -0500 Subject: [PATCH] Use lower feedback divider when possible This reverts a previous change that was a workaround for tuning glitches in sweep mode. Increase of TVCO is a better solution. --- firmware/common/rffc5071.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/firmware/common/rffc5071.c b/firmware/common/rffc5071.c index de7f1f70..d4964259 100644 --- a/firmware/common/rffc5071.c +++ b/firmware/common/rffc5071.c @@ -285,21 +285,17 @@ uint64_t rffc5071_config_synth(rffc5071_driver_t* const drv, uint64_t lo) fvco = lo << n_lo; /* - * Higher charge pump leakage setting is required above 3.2 GHz. + * Higher charge pump leakage setting and fbkdivlog are required above + * 3.2 GHz. */ if (fvco > (3200 * FREQ_ONE_MHZ)) { + fbkdivlog = 2; set_RFFC5071_PLLCPL(drv, 3); } else { + fbkdivlog = 1; set_RFFC5071_PLLCPL(drv, 2); } - /* - * Supposedly fbkdivlog can be set to 1 when VCO is below 3.2 GHz, but - * this has resulted in tuning instability on some boards, most evident - * in RX sweep mode. - */ - fbkdivlog = 2; - uint64_t tmp_n = (fvco << (24ULL - fbkdivlog)) / REF_FREQ; /* Round to nearest step = ref_MHz / 2**s. For s=6, step=625000 Hz */