From: Rodrigo Alencar via B4 Relay <devnull+rodrigo.alencar.analog.com@kernel.org>
To: linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org
Cc: Lars-Peter Clausen <lars@metafoo.de>,
Michael Hennerich <Michael.Hennerich@analog.com>,
Jonathan Cameron <jic23@kernel.org>,
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>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Rodrigo Alencar <rodrigo.alencar@analog.com>
Subject: [PATCH RFC v2 8/9] Documentation: ABI: testing: add docs for ad9910 sysfs entries
Date: Wed, 18 Mar 2026 17:56:08 +0000 [thread overview]
Message-ID: <20260318-ad9910-iio-driver-v2-8-e79f93becf11@analog.com> (raw)
In-Reply-To: <20260318-ad9910-iio-driver-v2-0-e79f93becf11@analog.com>
From: Rodrigo Alencar <rodrigo.alencar@analog.com>
Add ABI documentation file for the DDS AD9910 with sysfs entries to
control Parallel Port, Digital Ramp Generator, RAM and OSK parameters.
Signed-off-by: Rodrigo Alencar <rodrigo.alencar@analog.com>
---
.../ABI/testing/sysfs-bus-iio-frequency-ad9910 | 182 +++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 183 insertions(+)
diff --git a/Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9910 b/Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9910
new file mode 100644
index 000000000000..120de494f6b1
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9910
@@ -0,0 +1,182 @@
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_profile
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the active profile index [0, 7] from/to the physical
+ channel. The AD9910 supports 8 profiles, each storing a complete
+ set of single tone (frequency, phase, amplitude) and RAM playback
+ parameters.
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_offset
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the parallel port frequency offset in Hz. This is the
+ base frequency tuning word (FTW register) to which the scaled
+ parallel port data is added during parallel data port modulation.
+ Valid range is [0, SYSCLK/2).
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_scale
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the parallel port frequency modulation gain. The value
+ must be a power of 2 in the [1, 2^15] range. This value scales the
+ 16-bit parallel data port input before adding it to the
+ frequency_offset value.
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_phase_offset
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the parallel port phase offset in radians. Valid range
+ is [0, 2*pi/256). This sets the lower 8 bits of the phase offset
+ word (POW register) used as a base during parallel port polar
+ modulation.
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale_offset
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the parallel port amplitude scale offset. Valid range
+ is [0, 1/256). This sets the lower 6 bits of the amplitude scale
+ factor (ASF register) used as a base during parallel port polar
+ modulation.
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_destination
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the digital ramp generator (DRG) or the RAM control
+ destination parameter. Determines which DDS core parameter is to
+ be modulated when the child mode channel is enabled.
+
+ Available values can be read from the corresponding
+ out_altvoltageY_destination_available attribute.
+
+ Valid values: "polar" (only for RAM control), "frequency", "phase"
+ and "amplitude"
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_destination_available
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Lists the available destination values for the DRG channel:
+ "frequency phase amplitude"; or for the RAM control channel:
+ "frequency phase amplitude polar".
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_operating_mode
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the DRG or RAM control operating mode. For the DRG
+ channel it controls the no-dwell behavior of the ramp.
+
+ Available values can be read from the corresponding
+ out_altvoltageY_operating_mode_available attribute.
+
+ Valid values for DRG channel:
+
+ - "bidirectional": Normal ramp generation (ramp up then
+ down, dwelling at limits).
+ - "ramp_down": No-dwell low; the ramp resets to upper
+ limit upon reaching the lower limit.
+ - "ramp_up": No-dwell high; the ramp resets to lower
+ limit upon reaching the upper limit.
+ - "bidirectional_continuous": Both no-dwell high and low;
+ the ramp continuously sweeps without dwelling.
+
+ Valid values for RAM control channel:
+
+ - "direct_switch": start address defines fixed word to be used
+ by the selected profile.
+ - "ramp_up": One-shot ramp up through current profile's address
+ range.
+ - "bidirectional": Ramp up then down through PROFILE0 pin.
+ - "bidirectional_continuous": Continuous ramp up/down
+ through current profile's address range.
+ - "ramp_up_continuous": Continuous ramp up through
+ current profile's address range.
+ - "sequenced": Sequenced playback of RAM profiles up to
+ the active profile. Requires active profile > 0.
+ - "sequenced_continuous": Continuous sequenced playback
+ of RAM profiles up to the active profile. Requires
+ active profile > 0.
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_operating_mode_available
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ For the DRG channel it lists the available operating mode values:
+ "bidirectional ramp_down ramp_up bidirectional_continuous".
+
+ For the RAM control channel it lists the available operating mode
+ values:
+ "direct_switch ramp_up bidirectional bidirectional_continuous
+ ramp_up_continuous sequenced sequenced_continuous".
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_step
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the DRG frequency step size in Hz for ramp up and ramp
+ down DRG channels. This is the increment/decrement step applied to
+ the DRG frequency value, which is input to the DDS core and it is
+ updated at each ramp clock tick when the DRG destination is
+ set to "frequency". Valid range is [0, sysclk/2).
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_phase_step
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the DRG phase step size in radians for ramp up and ramp
+ down DRG channels. This is the increment/decrement step applied to
+ the DRG phase value, which is input to the DDS core and it is
+ updated at each ramp clock tick when the DRG destination is
+ set to "phase". Valid range is [0, 2*pi).
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale_step
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ For the DRG ramp up/down channels this is used to read/write the
+ DRG amplitude step size, which is applied as an
+ increment/decrement to the DRG amplitude value, input to the DDS
+ core, updated at each ramp clock tick when the DRG destination is
+ set to "amplitude". Valid range is [0, 1].
+
+ For the OSK channel this is used to read/write the automatic OSK
+ amplitude ramp step size. Writing a non-zero value enables
+ automatic OSK mode and sets the amplitude step size. Writing "0"
+ disables automatic OSK mode. The value is rounded to the nearest
+ hardware supported step: 0.000061, 0.000122, 0.000244, or
+ 0.000488.
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_address_start
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the RAM start address for the active profile. Defines
+ the first RAM word address used during playback. Cannot be
+ changed while RAM mode is enabled. Valid range is [0, 1023].
+ If set above the current end address, the end address is
+ automatically adjusted to match.
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_address_end
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the RAM end address for the active profile. Defines
+ the last RAM word address used during playback. Cannot be
+ changed while RAM mode is enabled. Valid range is
+ [address_start, 1023].
+
+What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_pinctrl_en
+KernelVersion:
+Contact: linux-iio@vger.kernel.org
+Description:
+ Read/write the OSK manual external control enable. Writing '1'
+ enables manual control of the output amplitude envelope via an
+ external pin. Writing '0' disables it. When enabled, the OSK pin
+ directly controls the amplitude on/off state rather than using
+ the automatic OSK ramp.
diff --git a/MAINTAINERS b/MAINTAINERS
index 6403439b530d..edd87ee7da5f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1635,6 +1635,7 @@ M: Rodrigo Alencar <rodrigo.alencar@analog.com>
L: linux-iio@vger.kernel.org
S: Supported
W: https://ez.analog.com/linux-software-drivers
+F: Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9910
F: Documentation/devicetree/bindings/iio/frequency/adi,ad9910.yaml
F: drivers/iio/frequency/ad9910.c
--
2.43.0
next prev parent reply other threads:[~2026-03-18 17:56 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-18 17:56 [PATCH RFC v2 0/9] AD9910 Direct Digital Synthesizer Rodrigo Alencar via B4 Relay
2026-03-18 17:56 ` [PATCH RFC v2 1/9] dt-bindings: iio: frequency: add ad9910 Rodrigo Alencar via B4 Relay
2026-03-19 17:25 ` Conor Dooley
2026-03-20 11:21 ` Rodrigo Alencar
2026-03-20 14:00 ` Conor.Dooley
2026-03-20 17:14 ` Conor Dooley
2026-03-18 17:56 ` [PATCH RFC v2 2/9] iio: frequency: ad9910: initial driver implementation Rodrigo Alencar via B4 Relay
2026-03-22 16:50 ` Jonathan Cameron
2026-03-23 10:34 ` Rodrigo Alencar
2026-03-23 11:00 ` Andy Shevchenko
2026-03-18 17:56 ` [PATCH RFC v2 3/9] iio: frequency: ad9910: add simple parallel port mode support Rodrigo Alencar via B4 Relay
2026-03-18 18:28 ` Andy Shevchenko
2026-03-22 16:52 ` Jonathan Cameron
2026-03-23 10:39 ` Rodrigo Alencar
2026-03-23 11:01 ` Andy Shevchenko
2026-03-18 17:56 ` [PATCH RFC v2 4/9] iio: frequency: ad9910: add digital ramp generator support Rodrigo Alencar via B4 Relay
2026-03-18 19:14 ` Andy Shevchenko
2026-03-18 17:56 ` [PATCH RFC v2 5/9] iio: frequency: ad9910: add RAM mode support Rodrigo Alencar via B4 Relay
2026-03-22 17:05 ` Jonathan Cameron
2026-03-18 17:56 ` [PATCH RFC v2 6/9] iio: frequency: ad9910: add output shift keying support Rodrigo Alencar via B4 Relay
2026-03-18 17:56 ` [PATCH RFC v2 7/9] iio: frequency: ad9910: add channel labels Rodrigo Alencar via B4 Relay
2026-03-18 17:56 ` Rodrigo Alencar via B4 Relay [this message]
2026-03-22 17:22 ` [PATCH RFC v2 8/9] Documentation: ABI: testing: add docs for ad9910 sysfs entries Jonathan Cameron
2026-03-23 11:36 ` Rodrigo Alencar
2026-04-12 14:51 ` Jonathan Cameron
2026-04-12 18:45 ` David Lechner
2026-03-18 17:56 ` [PATCH RFC v2 9/9] docs: iio: add documentation for ad9910 driver Rodrigo Alencar via B4 Relay
2026-03-22 17:34 ` Jonathan Cameron
2026-03-23 11:58 ` Rodrigo Alencar
2026-04-12 14:54 ` 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=20260318-ad9910-iio-driver-v2-8-e79f93becf11@analog.com \
--to=devnull+rodrigo.alencar.analog.com@kernel.org \
--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=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=rodrigo.alencar@analog.com \
--cc=skhan@linuxfoundation.org \
/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
all inboxes | Powered by JetHome®