Message ID | 20230623085830.749991-2-herve.codina@bootlin.com |
---|---|
State | Accepted |
Commit | cacff5e8a305b98595829ac4f5fe669e015ce19c |
Headers | show |
Series | Add support for IIO devices in ASoC | expand |
Le 23/06/2023 à 10:58, Herve Codina a écrit : > 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> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Christophe Leroy <christophe.leroy@©sgroup.eu> > --- > .../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>; > + };
Le 23/06/2023 à 10:58, Herve Codina a écrit : > 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> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Reviewed-by: Rob Herring <robh@kernel.org> Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu> > --- > .../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>; > + };
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>; + };