From: Jonathan Cameron <jic23@kernel.org>
To: Rodrigo Alencar via B4 Relay
<devnull+rodrigo.alencar.analog.com@kernel.org>
Cc: rodrigo.alencar@analog.com, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
David Lechner <dlechner@baylibre.com>,
Andy Shevchenko <andy@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>
Subject: Re: [PATCH RFC 1/8] dt-bindings: iio: frequency: add ad9910
Date: Sun, 1 Mar 2026 12:50:57 +0000 [thread overview]
Message-ID: <20260301125057.3b06fd0a@jic23-huawei> (raw)
In-Reply-To: <20260220-ad9910-iio-driver-v1-1-3b264aa48a10@analog.com>
On Fri, 20 Feb 2026 16:46:05 +0000
Rodrigo Alencar via B4 Relay <devnull+rodrigo.alencar.analog.com@kernel.org> wrote:
> From: Rodrigo Alencar <rodrigo.alencar@analog.com>
>
> DT-bindings for AD9910, a 1 GSPS DDS with 14-bit DAC. It includes
> configurations for the reference clock path, DAC current, reset and basic
> GPIO control.
>
> Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
Hi Rodrigo,
A few comments from me inline.
Thanks,
Jonathan
> ---
> .../bindings/iio/frequency/adi,ad9910.yaml | 236 +++++++++++++++++++++
> MAINTAINERS | 7 +
> 2 files changed, 243 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/frequency/adi,ad9910.yaml b/Documentation/devicetree/bindings/iio/frequency/adi,ad9910.yaml
> new file mode 100644
> index 000000000000..43b21d1428ba
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/frequency/adi,ad9910.yaml
> + adi,pll-vco-select:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 0
> + maximum: 5
> + description: |
> + VCO frequency range selection (0-5). When not specified and the PLL
> + is enabled, the VCO range is automatically selected based on the
> + computed system clock frequency. Typical VCO frequency ranges are:
Given this automatic mode. Why would need to override it?
> + - Range 0: 370 MHz to 510 MHz (Auto-selected when <= 465 MHz)
> + - Range 1: 420 MHz to 590 MHz (Auto-selected when > 465 MHz and <= 545 MHz)
> + - Range 2: 500 MHz to 700 MHz (Auto-selected when > 545 MHz and <= 650 MHz)
> + - Range 3: 600 MHz to 880 MHz (Auto-selected when > 650 MHz and <= 790 MHz)
> + - Range 4: 700 MHz to 950 MHz (Auto-selected when > 790 MHz and <= 885 MHz)
> + - Range 5: 820 MHz to 1050 MHz (Auto-selected when > 885 MHz)
> +
> + adi,charge-pump-current-microamp:
> + minimum: 212
> + maximum: 387
> + default: 387
> + description:
> + PLL charge pump current in microamps. Only applicable when the PLL
> + is enabled. The value is rounded to the nearest supported step.
> +
> + adi,refclk-out-drive-strength:
> + $ref: /schemas/types.yaml#/definitions/string
> + enum: [ disabled, low, medium, high ]
> + default: disabled
> + description:
> + Reference clock output (DRV0) drive strength. Only applicable when
> + the PLL is enabled.
> +
> + adi,reference-div2-enable:
> + type: boolean
> + description:
> + Enable the reference clock input divider. When enabled, the input
> + reference frequency is halved before deriving the system clock.
> + This is only applicable when the PLL is bypassed.
Often for these they can be derived from what the desired output
frequencies are. There tends to be a right answer for any combination on
input clocks and output frequency so we don't normally need them
in DT. If there is a reason we do here, needs more explanation.
> +
> + adi,inverse-sinc-enable:
> + type: boolean
> + description:
> + Enable the inverse sinc filter that compensates for the sinc roll-off
> + of the DAC output. When it is enabled, the filter introduces up to 3 dB
> + of insertion loss.
We probably need to improve our userspace filter controls for this one.
Why would it need to be in DT? Maybe we even just decide to always
enable this one despite the attenuation. I'm not sure how the term
insertion loss applies to a filter being enabled or not.
> +
> + adi,sine-output-enable:
> + type: boolean
> + description:
> + Select sine wave output from the DDS core. When not set, the
> + output is a cosine wave.
That sounds like a userspace thing probably represented as a phase
offset.
> +
> + adi,sync-clk-disable:
> + type: boolean
> + description:
> + Disable the SYNC_CLK output pin. SYNC_CLK runs at one quarter
> + of the system clock frequency.
> +
> + adi,pdclk-disable:
> + type: boolean
> + description:
> + Disable the parallel data clock (PDCLK) output. PDCLK runs at
> + one quarter of the system clock frequency.
> +
> + adi,pdclk-invert:
> + type: boolean
> + description:
> + Invert the polarity of the PDCLK output.
Others have commented on these as clock providers. I think that
will make more sense.
> +
> + adi,tx-enable-invert:
> + type: boolean
> + description:
> + Invert the polarity of the TX_ENABLE input pin.
It's an input, so I assume you are referring to some chip control
that allows us to change what is expected on this pin from
active high to active low or similar?
Is this hooked up to the backend fpga signal and that has some
fixed output polarity?
> +
> + adi,dac-output-current-microamp:
> + minimum: 8640
> + maximum: 31590
> + default: 20070
> + description:
> + DAC full-scale output current in microamps.
Needs an explanation of why this is in DT.
next prev parent reply other threads:[~2026-03-01 12:51 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-20 16:46 [PATCH RFC 0/8] AD9910 Direct Digital Synthesizer Rodrigo Alencar via B4 Relay
2026-02-20 16:46 ` [PATCH RFC 1/8] dt-bindings: iio: frequency: add ad9910 Rodrigo Alencar via B4 Relay
2026-02-21 20:43 ` David Lechner
2026-02-21 22:43 ` Conor Dooley
2026-02-22 10:49 ` Rodrigo Alencar
2026-02-22 13:24 ` Conor Dooley
2026-02-22 10:47 ` Rodrigo Alencar
2026-02-22 20:28 ` David Lechner
2026-02-22 20:31 ` Conor Dooley
2026-03-01 12:50 ` Jonathan Cameron [this message]
2026-02-20 16:46 ` [PATCH RFC 2/8] iio: frequency: ad9910: initial driver implementation Rodrigo Alencar via B4 Relay
2026-03-01 13:20 ` Jonathan Cameron
2026-02-20 16:46 ` [PATCH RFC 3/8] iio: frequency: ad9910: add simple parallel port mode support Rodrigo Alencar via B4 Relay
2026-02-23 8:27 ` Andy Shevchenko
2026-03-01 13:22 ` Jonathan Cameron
2026-02-20 16:46 ` [PATCH RFC 4/8] iio: frequency: ad9910: expose sysclk_frequency device attribute Rodrigo Alencar via B4 Relay
2026-03-01 13:23 ` Jonathan Cameron
2026-02-20 16:46 ` [PATCH RFC 5/8] iio: frequency: ad9910: add digital ramp generator support Rodrigo Alencar via B4 Relay
2026-03-01 13:26 ` Jonathan Cameron
2026-02-20 16:46 ` [PATCH RFC 6/8] iio: frequency: ad9910: add RAM mode support Rodrigo Alencar via B4 Relay
2026-03-01 13:31 ` Jonathan Cameron
2026-03-03 15:32 ` Rodrigo Alencar
2026-03-03 17:16 ` Nuno Sá
2026-03-03 17:32 ` Rodrigo Alencar
2026-03-07 14:07 ` Jonathan Cameron
2026-03-10 17:40 ` Rodrigo Alencar
2026-03-11 0:11 ` David Lechner
2026-03-11 13:11 ` Rodrigo Alencar
2026-03-11 16:54 ` Nuno Sá
2026-03-11 17:08 ` Rodrigo Alencar
2026-02-20 16:46 ` [PATCH RFC 7/8] iio: frequency: ad9910: add output shift keying support Rodrigo Alencar via B4 Relay
2026-02-20 16:46 ` [PATCH RFC 8/8] iio: frequency: ad9910: add channel labels Rodrigo Alencar via B4 Relay
2026-02-21 20:16 ` [PATCH RFC 0/8] AD9910 Direct Digital Synthesizer David Lechner
2026-02-22 10:01 ` Rodrigo Alencar
2026-02-22 20:32 ` David Lechner
2026-02-23 10:02 ` Nuno Sá
2026-03-01 13:38 ` Jonathan Cameron
2026-03-02 10:22 ` Rodrigo Alencar
2026-03-07 14:09 ` Jonathan Cameron
2026-03-07 16:50 ` David Lechner
2026-03-07 16:58 ` Jonathan Cameron
2026-03-07 18:54 ` Rodrigo Alencar
2026-03-07 20:01 ` David Lechner
2026-03-08 18:12 ` Jonathan Cameron
2026-03-09 9:52 ` Rodrigo Alencar
2026-03-09 13:14 ` Nuno Sá
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=20260301125057.3b06fd0a@jic23-huawei \
--to=jic23@kernel.org \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=devnull+rodrigo.alencar.analog.com@kernel.org \
--cc=dlechner@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox