On Thu, 23 May 2024 11:19:05 +0800 Kim Seer Paller <kimseer.paller@xxxxxxxxxx> wrote: > Introduces a more generalized ABI documentation for DAC. Instead of > having separate ABI files for each DAC, we now have a single ABI file > that covers the common sysfs interface for all DAC. > > Co-developed-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> > Signed-off-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> > Signed-off-by: Kim Seer Paller <kimseer.paller@xxxxxxxxxx> > --- > Documentation/ABI/testing/sysfs-bus-iio-dac | 61 +++++++++++++++++++ > .../ABI/testing/sysfs-bus-iio-dac-ltc2688 | 31 ---------- > MAINTAINERS | 8 +++ > 3 files changed, 69 insertions(+), 31 deletions(-) > create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dac > > diff --git a/Documentation/ABI/testing/sysfs-bus-iio-dac b/Documentation/ABI/testing/sysfs-bus-iio-dac > new file mode 100644 > index 000000000000..53d5213520c6 > --- /dev/null > +++ b/Documentation/ABI/testing/sysfs-bus-iio-dac > @@ -0,0 +1,61 @@ > +What: /sys/bus/iio/devices/iio:deviceX/out_currentY_toggle_en > +KernelVersion: 5.18 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +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_currentY_raw0 and out_currentY_raw1; Generalize to [0...N] or something like that to allow more symbols. > + - enable toggle operation. > + > +What: /sys/bus/iio/devices/iio:deviceX/out_currentY_raw0 > +What: /sys/bus/iio/devices/iio:deviceX/out_currentY_raw1 > +KernelVersion: 5.18 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +Description: > + It has the same meaning as out_currentY_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_currentY_raw applies. > + > +What: /sys/bus/iio/devices/iio:deviceX/out_currentY_symbol > +KernelVersion: 5.18 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +Description: > + Performs a SW toggle. This attribute is specific to toggle > + enabled channels and allows to toggle between out_currentY_raw0 > + and out_currentY_raw1 through software. Writing 0 will select > + out_currentY_raw0 while 1 selects out_currentY_raw1. Perhaps write this more generally. The ABI handles more than 2 symbol values. Performs a SW switch to a predefined output symbol, allowing switching between current symbol A with output out_currentY_rawA and new symbol B with output out_currentY_rawB by writing integer value B. > + > +What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_toggle_en > +KernelVersion: 5.18 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +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@xxxxxxxxxxxxxxx > +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@xxxxxxxxxxxxxxx > +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. > diff --git a/MAINTAINERS b/MAINTAINERS > index 758c202ec712..b3be54c09159 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -12850,6 +12850,14 @@ S: Maintained > F: Documentation/devicetree/bindings/iio/dac/lltc,ltc1660.yaml > F: drivers/iio/dac/ltc1660.c > > +LTC2664 IIO DAC DRIVER > +M: Michael Hennerich <michael.hennerich@xxxxxxxxxx> > +M: Kim Seer Paller <kimseer.paller@xxxxxxxxxx> > +L: linux-iio@xxxxxxxxxxxxxxx > +S: Supported > +W: https://ez.analog.com/linux-software-drivers > +F: Documentation/ABI/testing/sysfs-bus-iio-dac As it's a general doc, doesn't really belong in a driver specific entry. So far we haven't listed these generic docs as having specific maintainers and people have to rely on history to figure out who to cc. > + > LTC2688 IIO DAC DRIVER > M: Nuno Sá <nuno.sa@xxxxxxxxxx> > L: linux-iio@xxxxxxxxxxxxxxx