From: Andy Shevchenko <andriy.shevchenko@intel.com>
To: rodrigo.alencar@analog.com
Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
Jonathan Cameron <jic23@kernel.org>,
David Lechner <dlechner@baylibre.com>,
Andy Shevchenko <andy@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Jonathan Corbet <corbet@lwn.net>
Subject: Re: [PATCH v3 2/6] iio: frequency: adf41513: driver implementation
Date: Fri, 9 Jan 2026 20:55:13 +0200 [thread overview]
Message-ID: <aWFPEa9HI4wmYLpn@smile.fi.intel.com> (raw)
In-Reply-To: <20260108-adf41513-iio-driver-v3-2-23d1371aef48@analog.com>
On Thu, Jan 08, 2026 at 12:14:51PM +0000, Rodrigo Alencar via B4 Relay wrote:
>
> The driver is based on existing PLL drivers in the IIO subsystem and
> implements the following key features:
>
> - Integer-N and fractional-N (fixed/variable modulus) synthesis modes
> - High-resolution frequency calculations using microhertz (µHz) precision
> to handle sub-Hz resolution across multi-GHz frequency ranges
> - IIO debugfs interface for direct register access
> - FW property parsing from devicetree including charge pump settings,
> reference path configuration and muxout options
> - Power management support with suspend/resume callbacks
> - Lock detect GPIO monitoring
>
> The driver uses 64-bit microhertz values throughout PLL calculations to
> maintain precision when working with frequencies that exceed 32-bit Hz
> representation while requiring fractional Hz resolution.
...
> +/* Specifications */
> +#define ADF41510_MAX_RF_FREQ (10000ULL * HZ_PER_MHZ)
> +#define ADF41513_MIN_RF_FREQ (1000ULL * HZ_PER_MHZ)
> +#define ADF41513_MAX_RF_FREQ (26500ULL * HZ_PER_MHZ)
We need HZ_PER_GHZ. I think it's easy to have one be present in units.h.
...
> +#define ADF41513_MIN_REF_FREQ (10U * HZ_PER_MHZ)
> +#define ADF41513_MAX_REF_FREQ (800U * HZ_PER_MHZ)
> +#define ADF41513_MAX_REF_FREQ_DOUBLER (225U * HZ_PER_MHZ)
How does "U" help here?
...
> +#define ADF41513_MIN_INT_4_5 20
> +#define ADF41513_MAX_INT_4_5 511
> +#define ADF41513_MIN_INT_8_9 64
> +#define ADF41513_MAX_INT_8_9 1023
Not sure if we want (BIT(x) - 1) for the limits as we have non-0 minimums.
...
> +#define ADF41513_MAX_CLK_DIVIDER 4095
Sounds like a candidate for (BIT(12) - 1).
...
> +#define ADF41513_MAX_PHASE_MICRORAD 6283185UL
Basically I'm replying to this just for this line. 180° is PI radians, which is
something like 31415926... Can we use here (2 * 314...) where PI is provided in
one of the used form? This will help to grep and replace in case we will have a
common PI constant defined in the kernel (units.h).
--
With Best Regards,
Andy Shevchenko
next prev parent reply other threads:[~2026-01-09 18:55 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-08 12:14 [PATCH v3 0/6] ADF41513/ADF41510 PLL frequency synthesizers Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-08 12:14 ` [PATCH v3 1/6] dt-bindings: iio: frequency: add adf41513 Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-09 8:13 ` Krzysztof Kozlowski
2026-01-12 10:04 ` Rodrigo Alencar
2026-01-12 16:32 ` Krzysztof Kozlowski
2026-01-08 12:14 ` [PATCH v3 2/6] iio: frequency: adf41513: driver implementation Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-09 18:55 ` Andy Shevchenko [this message]
2026-01-12 9:56 ` Rodrigo Alencar
2026-01-12 10:57 ` Andy Shevchenko
2026-01-13 9:32 ` Rodrigo Alencar
2026-01-16 11:31 ` Rodrigo Alencar
2026-01-16 13:50 ` Andy Shevchenko
2026-01-16 13:53 ` Andy Shevchenko
2026-01-11 13:53 ` Jonathan Cameron
2026-01-08 12:14 ` [PATCH v3 3/6] iio: frequency: adf41513: handle LE synchronization feature Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-11 13:58 ` Jonathan Cameron
2026-01-08 12:14 ` [PATCH v3 4/6] iio: frequency: adf41513: features on frequency change Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-09 19:07 ` Andy Shevchenko
2026-01-12 9:45 ` Rodrigo Alencar
2026-01-12 10:54 ` Andy Shevchenko
2026-01-16 17:57 ` Jonathan Cameron
2026-01-19 7:38 ` Andy Shevchenko
2026-01-19 10:41 ` Jonathan Cameron
2026-01-19 13:18 ` Andy Shevchenko
2026-01-08 12:14 ` [PATCH v3 5/6] docs: iio: add documentation for adf41513 driver Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-08 12:14 ` [PATCH v3 6/6] Documentation: ABI: testing: add common ABI file for iio/frequency Rodrigo Alencar
2026-01-08 12:14 ` Rodrigo Alencar via B4 Relay
2026-01-11 14:01 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aWFPEa9HI4wmYLpn@smile.fi.intel.com \
--to=andriy.shevchenko@intel.com \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-doc@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=rodrigo.alencar@analog.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.