iio: ABI: add ABI file for the LTC2688 DAC
authorNuno Sá <nuno.sa@analog.com>
Fri, 25 Feb 2022 13:01:28 +0000 (14:01 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 1 Mar 2022 22:13:53 +0000 (22:13 +0000)
Define the sysfs interface for toggle or dither capable channels. Dither
capable channels will have the extended interface:

 * out_voltageY_dither_en
 * out_voltageY_dither_raw
 * out_voltageY_dither_offset
 * out_voltageY_dither_raw_available
 * out_voltageY_dither_frequency
 * out_voltageY_dither_frequency_available
 * out_voltageY_dither_phase
 * out_voltageY_dither_phase_available

Toggle enabled channels will have:

 * out_voltageY_toggle_en
 * out_voltageY_raw0
 * out_voltageY_raw1
 * out_voltageY_symbol

The common interface present in all channels is:

 * out_voltageY_raw (not present in toggle enabled channels)
 * out_voltageY_raw_available
 * out_voltageY_powerdown
 * out_voltageY_scale
 * out_voltageY_offset
 * out_voltageY_calibbias
 * out_voltageY_calibscale

Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20220225130129.69-3-nuno.sa@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2688 [new file with mode: 0644]
MAINTAINERS

diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2688 b/Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2688
new file mode 100644 (file)
index 0000000..1c35971
--- /dev/null
@@ -0,0 +1,86 @@
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_en
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Dither enable. Write 1 to enable dither or 0 to disable it. This is useful
+               for changing the dither parameters. They way it should be done is:
+
+               - disable dither operation;
+               - change dither parameters (eg: frequency, phase...);
+               - enabled dither operation
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               This raw, unscaled value refers to the dither signal amplitude.
+               The same scale as in out_voltageY_raw applies. However, the
+               offset might be different as it's always 0 for this attribute.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_raw_available
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Available range for dither raw amplitude values.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_offset
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Offset applied to out_voltageY_dither_raw. Read only attribute
+               always set to 0.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Sets the dither signal frequency. Units are in Hz.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_frequency_available
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Returns the available values for the dither frequency.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Sets the dither signal phase. Units are in Radians.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_dither_phase_available
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Returns the available values for the dither phase.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_toggle_en
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Toggle enable. Write 1 to enable toggle or 0 to disable it. This is
+               useful when one wants to change the DAC output codes. The way it should
+               be done is:
+
+               - disable toggle operation;
+               - change out_voltageY_raw0 and out_voltageY_raw1;
+               - enable toggle operation.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_raw0
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_raw1
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               It has the same meaning as out_voltageY_raw. This attribute is
+               specific to toggle enabled channels and refers to the DAC output
+               code in INPUT_A (_raw0) and INPUT_B (_raw1). The same scale and offset
+               as in out_voltageY_raw applies.
+
+What:          /sys/bus/iio/devices/iio:deviceX/out_voltageY_symbol
+KernelVersion: 5.18
+Contact:       linux-iio@vger.kernel.org
+Description:
+               Performs a SW toggle. This attribute is specific to toggle
+               enabled channels and allows to toggle between out_voltageY_raw0
+               and out_voltageY_raw1 through software. Writing 0 will select
+               out_voltageY_raw0 while 1 selects out_voltageY_raw1.
index 7f2e55a..29f4b6d 100644 (file)
@@ -11322,6 +11322,7 @@ M:      Nuno Sá <nuno.sa@analog.com>
 L:     linux-iio@vger.kernel.org
 S:     Supported
 W:     http://ez.analog.com/community/linux-device-drivers
+F:     Documentation/ABI/testing/sysfs-bus-iio-dac-ltc2688
 F:     drivers/iio/dac/ltc2688.c
 
 LTC2947 HARDWARE MONITOR DRIVER