[PATCH 5/5] staging: iio: ad9832: add sysfs documentation

Tomas Borquez posted 5 patches 1 month, 3 weeks ago
There is a newer version of this series
[PATCH 5/5] staging: iio: ad9832: add sysfs documentation
Posted by Tomas Borquez 1 month, 3 weeks ago
Add sysfs ABI documentation for the AD9832/AD9835 Direct Digital
Synthesizer chips, documenting frequency, phase, output control,
and pin control attributes.

Signed-off-by: Tomas Borquez <tomasborquez13@gmail.com>
---
 .../Documentation/sysfs-bus-iio-dds-ad9832    | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832

diff --git a/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832 b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
new file mode 100644
index 0000000000..5ceea57917
--- /dev/null
+++ b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
@@ -0,0 +1,41 @@
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_frequencyY
+KernelVersion:	6.19
+Contact:	linux-iio@vger.kernel.org
+Description:
+    Frequency in Hz for frequency register Y (0-1). The active
+    frequency register is selected via out_altcurrent0_frequency_symbol.
+
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_phaseY
+KernelVersion:	6.19
+Contact:	linux-iio@vger.kernel.org
+Description:
+    Phase offset in radians for phase register Y (0-3). Valid
+    range is 0 to 2*PI (exclusive) with 12-bit hardware resolution. The
+    active phase register is selected via out_altcurrent0_phase_symbol.
+
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_frequency_symbol
+KernelVersion:	6.19
+Contact:	linux-iio@vger.kernel.org
+Description:
+    Selects which frequency register (0 or 1) is active for output.
+
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_phase_symbol
+KernelVersion:	6.19
+Contact:	linux-iio@vger.kernel.org
+Description:
+    Selects which phase register (0-3) is active for output.
+
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_enable
+KernelVersion:	6.19
+Contact:	linux-iio@vger.kernel.org
+Description:
+    Enables (1) or disables (0) the output. When disabled, the
+    device is held in reset state.
+
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_pincontrol_en
+KernelVersion:	6.19
+Contact:	linux-iio@vger.kernel.org
+Description:
+    Enables (1) or disables (0) hardware pin control for frequency
+    and phase selection. When enabled, external pins control
+    register selection instead of software.
-- 
2.43.0
Re: [PATCH 5/5] staging: iio: ad9832: add sysfs documentation
Posted by Marcelo Schmitt 1 month, 3 weeks ago
On 12/15, Tomas Borquez wrote:
> Add sysfs ABI documentation for the AD9832/AD9835 Direct Digital
> Synthesizer chips, documenting frequency, phase, output control,
> and pin control attributes.
> 
> Signed-off-by: Tomas Borquez <tomasborquez13@gmail.com>
> ---
>  .../Documentation/sysfs-bus-iio-dds-ad9832    | 41 +++++++++++++++++++
>  1 file changed, 41 insertions(+)
>  create mode 100644 drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
> 
> diff --git a/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832 b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
> new file mode 100644
> index 0000000000..5ceea57917
> --- /dev/null
> +++ b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
> @@ -0,0 +1,41 @@
> +What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_frequencyY
To be more generic, I think we could use a capital letter for the channel number
too and avoid the symbol postfix in the this attribute's name.
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrentY_frequency

> +KernelVersion:	6.19
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +    Frequency in Hz for frequency register Y (0-1). The active
> +    frequency register is selected via out_altcurrent0_frequency_symbol.
Maybe, if we can keep only the 'Frequency in Hz for frequency channel Y.' part
of the description, this is something that could actually go into sysfs-bus-iio
when the driver graduates. Though, the 'register is selected via
out_altcurrent0_frequency_symbol' part is trickier since it seems to be design
specific. 

What if we do something like
+What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrentY_frequency_symbolZ
+KernelVersion:	6.19
+Contact:	linux-iio@vger.kernel.org
+Description:
+    Frequency in Hz for symbol Z of frequency Y channel. The active
+    frequency symbol is selected via out_altcurrentY_frequency_symbol.
?

Same thoughts about out_altcurrent0_phaseY.
Re: [PATCH 5/5] staging: iio: ad9832: add sysfs documentation
Posted by Jonathan Cameron 1 month, 2 weeks ago
On Thu, 18 Dec 2025 12:10:19 -0300
Marcelo Schmitt <marcelo.schmitt1@gmail.com> wrote:

> On 12/15, Tomas Borquez wrote:
> > Add sysfs ABI documentation for the AD9832/AD9835 Direct Digital
> > Synthesizer chips, documenting frequency, phase, output control,
> > and pin control attributes.
> > 
> > Signed-off-by: Tomas Borquez <tomasborquez13@gmail.com>
> > ---
> >  .../Documentation/sysfs-bus-iio-dds-ad9832    | 41 +++++++++++++++++++
> >  1 file changed, 41 insertions(+)
> >  create mode 100644 drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
> > 
> > diff --git a/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832 b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
> > new file mode 100644
> > index 0000000000..5ceea57917
> > --- /dev/null
> > +++ b/drivers/staging/iio/Documentation/sysfs-bus-iio-dds-ad9832
> > @@ -0,0 +1,41 @@
> > +What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrent0_frequencyY  
> To be more generic, I think we could use a capital letter for the channel number
> too and avoid the symbol postfix in the this attribute's name.
> +What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrentY_frequency
> 
> > +KernelVersion:	6.19
> > +Contact:	linux-iio@vger.kernel.org
> > +Description:
> > +    Frequency in Hz for frequency register Y (0-1). The active
> > +    frequency register is selected via out_altcurrent0_frequency_symbol.  
> Maybe, if we can keep only the 'Frequency in Hz for frequency channel Y.' part
> of the description, this is something that could actually go into sysfs-bus-iio
> when the driver graduates. Though, the 'register is selected via
> out_altcurrent0_frequency_symbol' part is trickier since it seems to be design
> specific. 

For now, these interfaces are specific enough I'd be tempted to put them in
sysfs-bus-iio-frequency or a driver specific file for now.

That lets us keep a little more track of how they are used. It's a lot
easier to make sure documentation is generic enough once there are a few users
(though as Marcelo suggests, make it as a general as possible from the start!)

Jonathan

> 
> What if we do something like
> +What:		/sys/bus/iio/devices/iio:deviceX/out_altcurrentY_frequency_symbolZ
> +KernelVersion:	6.19
> +Contact:	linux-iio@vger.kernel.org
> +Description:
> +    Frequency in Hz for symbol Z of frequency Y channel. The active
> +    frequency symbol is selected via out_altcurrentY_frequency_symbol.
> ?
> 
> Same thoughts about out_altcurrent0_phaseY.