On Thu, 15 Jun 2023 17:26:19 +0200 Herve Codina <herve.codina@xxxxxxxxxxx> wrote: > Industrial I/O devices can be present in the audio path. > These devices needs to be viewed as audio components in order to be > fully integrated in the audio path. > > audio-iio-aux allows to consider these Industrial I/O devices as > auxliary audio devices. > > Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx> LGTM Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > --- > .../bindings/sound/audio-iio-aux.yaml | 64 +++++++++++++++++++ > 1 file changed, 64 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/audio-iio-aux.yaml > > diff --git a/Documentation/devicetree/bindings/sound/audio-iio-aux.yaml b/Documentation/devicetree/bindings/sound/audio-iio-aux.yaml > new file mode 100644 > index 000000000000..d3cc1ea4a175 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/audio-iio-aux.yaml > @@ -0,0 +1,64 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/sound/audio-iio-aux.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Audio IIO auxiliary > + > +maintainers: > + - Herve Codina <herve.codina@xxxxxxxxxxx> > + > +description: > + Auxiliary device based on Industrial I/O device channels > + > +allOf: > + - $ref: dai-common.yaml# > + > +properties: > + compatible: > + const: audio-iio-aux > + > + io-channels: > + description: > + Industrial I/O device channels used > + > + io-channel-names: > + description: > + Industrial I/O channel names related to io-channels. > + These names are used to provides sound controls, widgets and routes names. > + > + snd-control-invert-range: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: | > + A list of 0/1 flags defining whether or not the related channel is > + inverted > + items: > + enum: [0, 1] > + default: 0 > + description: | > + Invert the sound control value compared to the IIO channel raw value. > + - 1: The related sound control value is inverted meaning that the > + minimum sound control value correspond to the maximum IIO channel > + raw value and the maximum sound control value correspond to the > + minimum IIO channel raw value. > + - 0: The related sound control value is not inverted meaning that the > + minimum (resp maximum) sound control value correspond to the > + minimum (resp maximum) IIO channel raw value. > + > +required: > + - compatible > + - io-channels > + - io-channel-names > + > +unevaluatedProperties: false > + > +examples: > + - | > + iio-aux { > + compatible = "audio-iio-aux"; > + io-channels = <&iio 0>, <&iio 1>, <&iio 2>, <&iio 3>; > + io-channel-names = "CH0", "CH1", "CH2", "CH3"; > + /* Invert CH1 and CH2 */ > + snd-control-invert-range = <0 1 1 0>; > + };