Message ID | 20230615152631.224529-2-herve.codina@bootlin.com |
---|---|
State | Superseded |
Headers | show |
Series | Add support for IIO devices in ASoC | expand |
On Thu, 15 Jun 2023 17:26:19 +0200 Herve Codina <herve.codina@bootlin.com> 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@bootlin.com> LGTM Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > .../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@bootlin.com> > + > +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>; > + };
On Thu, 15 Jun 2023 17:26:19 +0200, Herve Codina 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@bootlin.com> > --- > .../bindings/sound/audio-iio-aux.yaml | 64 +++++++++++++++++++ > 1 file changed, 64 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/audio-iio-aux.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
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@bootlin.com> + +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>; + };
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@bootlin.com> --- .../bindings/sound/audio-iio-aux.yaml | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/audio-iio-aux.yaml