[PATCH v8 00/10] ADF41513/ADF41510 PLL frequency synthesizers
From: Rodrigo Alencar via B4 Relay <devnull+rodrigo.alencar.analog.com@kernel.org>
Date: 2026-03-03 13:27:25
Also in:
b4-sent, linux-doc, linux-iio, lkml
This patch series adds support for the Analog Devices ADF41513 and ADF41510 ultralow noise PLL frequency synthesizers. These devices are designed for implementing local oscillators (LOs) in high-frequency applications. The ADF41513 covers frequencies from 1 GHz to 26.5 GHz, while the ADF41510 operates from 1 GHz to 10 GHz. Key features supported by this driver: - Integer-N and fractional-N operation modes - High maximum PFD frequency (250 MHz integer-N, 125 MHz fractional-N) - 25-bit fixed modulus or 49-bit variable modulus fractional modes - Digital lock detect functionality - Phase resync capability for consistent output phase - Load Enable vs Reference signal syncronization The series includes: 1. PLL driver implementation 2. Device tree bindings documentation 3. IIO ABI documentation Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com> --- Changes in v8: - Add new function kstrntoull() to lib/kstrtox.c and tests to lib/test-kstrtox.c. - Drop custom iio u64 parser, replacing it for kstrntoull(). - Dedicated MAINTAINERS entry for drivers/iio/test/iio-test-fixpoint-parse.c. - Link to v7: https://lore.kernel.org/r/20260216-adf41513-iio-driver-v7-0-b0ed387ab559@analog.com (local) Changes in v7: - Addressed minor suggestions. - frequency_resolution ABI for AD4350 removed in favor of generic one. - Link to v6: https://lore.kernel.org/r/20260130-adf41513-iio-driver-v6-0-cf46239026bc@analog.com (local) Changes in v6: - Drop usage of simple_strtoull(). - Implement better overflow checks with iio_safe_strntou64(). - Link to v5: https://lore.kernel.org/r/20260123-adf41513-iio-driver-v5-0-2dce812a2dda@analog.com (local) Changes in v5: - Drop local parsing of 64-bit plus fractional parts - Add iio_str_to_fixpoint64() to iio core with parsing tests - Add DT property dependency for adi,charge-pump-resistor-ohms - Add local definition for ADF41513_HZ_PER_GHZ and drop units.h patch - Link to v4: https://lore.kernel.org/r/20260116-adf41513-iio-driver-v4-0-dbb7d6782217@analog.com (local) Changes in v4: - Proper usage of units.h macros - Simplifications to DT property parsing - Adjustments to return value handling - Drop of simple DT property node example - Link to v3: https://lore.kernel.org/r/20260108-adf41513-iio-driver-v3-0-23d1371aef48@analog.com (local) Changes in v3: - Use FIELD_MODIFY macro in driver implementation - Drop refin_frequency iio attribute - Drop muxout-select property from dt-bindings (and rename logic-level property) - Use -mhz suffix in power-up frequency property - Address documentation issues - Link to v2: https://lore.kernel.org/r/20251219-adf41513-iio-driver-v2-0-be29a83d5793@analog.com (local) Changes in v2: - separate driver implementation from extra features and improve commit messages - use macros from units.h - explanation of custom parse function: adf41513_parse_uhz - reorganize driver data structures - drop clock framework support for now - reorganize documentation - Link to v1: https://lore.kernel.org/r/20251110-adf41513-iio-driver-v1-0-2df8be0fdc6e@analog.com (local) --- Rodrigo Alencar (10): dt-bindings: iio: frequency: add adf41513 lib: kstrtox: add kstrntoull() helper lib: test-kstrtox: add tests for kstrntoull() iio: core: add fixed point parsing with 64-bit parts iio: test: add kunit test for fixed-point parsing iio: frequency: adf41513: driver implementation iio: frequency: adf41513: handle LE synchronization feature iio: frequency: adf41513: features on frequency change docs: iio: add documentation for adf41513 driver Documentation: ABI: testing: add common ABI file for iio/frequency Documentation/ABI/testing/sysfs-bus-iio-frequency | 11 + .../ABI/testing/sysfs-bus-iio-frequency-adf4350 | 10 - .../bindings/iio/frequency/adi,adf41513.yaml | 215 ++++ Documentation/iio/adf41513.rst | 199 ++++ Documentation/iio/index.rst | 1 + MAINTAINERS | 15 + drivers/iio/frequency/Kconfig | 10 + drivers/iio/frequency/Makefile | 1 + drivers/iio/frequency/adf41513.c | 1240 ++++++++++++++++++++ drivers/iio/industrialio-core.c | 167 ++- drivers/iio/test/Kconfig | 12 + drivers/iio/test/Makefile | 1 + drivers/iio/test/iio-test-fixpoint-parse.c | 470 ++++++++ include/linux/iio/iio.h | 2 + include/linux/kstrtox.h | 3 + lib/kstrtox.c | 47 +- lib/test-kstrtox.c | 121 ++ 17 files changed, 2461 insertions(+), 64 deletions(-) --- base-commit: cce8de7f9744a210a4441ca8a667a9950515eea7 change-id: 20251110-adf41513-iio-driver-aaca8a7f808e Best regards, -- Rodrigo Alencar [off-list ref]