From: Rodrigo Alencar <[email protected]>

Add custom ABI documentation files for the DDS AD9910 with sysfs and
debugfs entries. The sysfs ones control parameters from the Digital Ramp
Generator and OSK engine. The debugfs attributes are read-only and
evalutate into source channel labels for each DDS core parameter.

Signed-off-by: Rodrigo Alencar <[email protected]>
---
 Documentation/ABI/testing/debugfs-iio-ad9910       | 60 ++++++++++++++++++++++
 .../ABI/testing/sysfs-bus-iio-frequency-ad9910     | 31 +++++++++++
 MAINTAINERS                                        |  2 +
 3 files changed, 93 insertions(+)

diff --git a/Documentation/ABI/testing/debugfs-iio-ad9910 
b/Documentation/ABI/testing/debugfs-iio-ad9910
new file mode 100644
index 000000000000..b4a125bc1007
--- /dev/null
+++ b/Documentation/ABI/testing/debugfs-iio-ad9910
@@ -0,0 +1,60 @@
+What:          /sys/kernel/debug/iio/iio:deviceX/frequency_source
+KernelVersion: 7.3
+Contact:       [email protected]
+Description:
+               Read-only. Reports the channel label that corresponds to which 
of the
+               on-chip signal generators is currently driving the output 
frequency.
+
+               Resolution order (first match wins):
+
+               - ``ram`` — RAM playback is enabled and its destination is
+                 frequency, phase (polar), amplitude, or polar.
+               - ``drg_frequency`` — the Digital Ramp Generator is enabled
+                 and its destination is frequency.
+               - ``parallel_frequency`` — the parallel data port is enabled
+                 and the frequency scan element is active.
+               - ``profileN`` (N = 0..7) — none of the above modulation
+                 sources are driving frequency, so the currently selected
+                 single-tone profile register is in effect.
+
+What:          /sys/kernel/debug/iio/iio:deviceX/phase_source
+KernelVersion: 7.3
+Contact:       [email protected]
+Description:
+               Read-only. Reports the channel label that corresponds to which 
of the
+               on-chip signal generators is currently driving the output phase.
+
+               Resolution order (first match wins):
+
+               - ``ram`` — RAM playback is enabled and its destination is
+                 phase or polar.
+               - ``drg_phase`` — the Digital Ramp Generator is enabled and
+                 its destination is phase.
+               - ``parallel_phase`` / ``parallel_polar_phase`` — the parallel
+                 data port is enabled and the corresponding phase scan
+                 element is active.
+               - ``profileN`` (N = 0..7) — none of the above modulation
+                 sources are driving phase, so the currently selected
+                 single-tone profile register is in effect.
+
+What:          /sys/kernel/debug/iio/iio:deviceX/amplitude_source
+KernelVersion: 7.3
+Contact:       [email protected]
+Description:
+               Read-only. Reports the channel label that corresponds to which 
of the
+               on-chip signal generators is currently driving the output 
amplitude.
+
+               Resolution order (first match wins):
+
+               - ``osk`` — the Output Shift Keying block is enabled and
+                 overrides other amplitude sources.
+               - ``ram`` — RAM playback is enabled and its destination is
+                 amplitude or polar.
+               - ``drg_amplitude`` — the Digital Ramp Generator is enabled
+                 and its destination is amplitude.
+               - ``parallel_amplitude`` / ``parallel_polar_amplitude`` — the
+                 parallel data port is enabled and the corresponding
+                 amplitude scan element is active.
+               - ``profileN`` (N = 0..7) — none of the above modulation
+                 sources are driving amplitude, so the currently selected
+                 single-tone profile register is in effect.
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..4e25f538af4a
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-iio-frequency-ad9910
@@ -0,0 +1,31 @@
+What:          /sys/bus/iio/devices/iio:deviceX/out_altcurrentY_dwell_en
+What:          /sys/bus/iio/devices/iio:deviceX/out_frequencyY_dwell_en
+What:          /sys/bus/iio/devices/iio:deviceX/out_phaseY_dwell_en
+KernelVersion: 7.3
+Contact:       [email protected]
+Description:
+               For a channel that produces parametric sweeps, this attribute 
controls
+               the sweep behavior at the configured limit. It enables dwell 
mode at a
+               sweep limit when set to 1, i.e., after the sweep is complete 
the output
+               value stays at the limit. Otherwise (setting this value to 0), 
the sweep
+               may stop or restart from the initial position, or even continue 
by
+               reversing the sweep direction.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_altcurrentY_raw_roc
+What:          /sys/bus/iio/devices/iio:deviceX/out_frequencyY_raw_roc
+What:          /sys/bus/iio/devices/iio:deviceX/out_phaseY_raw_roc
+KernelVersion: 7.3
+Contact:       [email protected]
+Description:
+               For a channel that produces parametric sweeps, this attribute 
controls
+               the rate of change of the parameter in raw units per second 
(slope).
+               This value may be influenced by the channel sampling_frequency 
attribute
+               if available. Multiplying this value by the scale attribute of 
the
+               channel yields the rate of change in physical units per second.
+
+What:          
/sys/bus/iio/devices/iio:deviceX/out_altcurrentY_raw_roc_available
+KernelVersion: 7.3
+Contact:       [email protected]
+Description:
+               Lists the available roc values for the channel. Values are
+               space-separated in ascending order.
diff --git a/MAINTAINERS b/MAINTAINERS
index cca4304195cb..fd6119aaad8c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1683,6 +1683,8 @@ M:        Rodrigo Alencar <[email protected]>
 L:     [email protected]
 S:     Supported
 W:     https://ez.analog.com/linux-software-drivers
+F:     Documentation/ABI/testing/debugfs-iio-ad9910
+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



Reply via email to