1*cacff5e8SHerve Codina# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*cacff5e8SHerve Codina%YAML 1.2
3*cacff5e8SHerve Codina---
4*cacff5e8SHerve Codina$id: http://devicetree.org/schemas/sound/audio-iio-aux.yaml#
5*cacff5e8SHerve Codina$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cacff5e8SHerve Codina
7*cacff5e8SHerve Codinatitle: Audio IIO auxiliary
8*cacff5e8SHerve Codina
9*cacff5e8SHerve Codinamaintainers:
10*cacff5e8SHerve Codina  - Herve Codina <herve.codina@bootlin.com>
11*cacff5e8SHerve Codina
12*cacff5e8SHerve Codinadescription:
13*cacff5e8SHerve Codina  Auxiliary device based on Industrial I/O device channels
14*cacff5e8SHerve Codina
15*cacff5e8SHerve CodinaallOf:
16*cacff5e8SHerve Codina  - $ref: dai-common.yaml#
17*cacff5e8SHerve Codina
18*cacff5e8SHerve Codinaproperties:
19*cacff5e8SHerve Codina  compatible:
20*cacff5e8SHerve Codina    const: audio-iio-aux
21*cacff5e8SHerve Codina
22*cacff5e8SHerve Codina  io-channels:
23*cacff5e8SHerve Codina    description:
24*cacff5e8SHerve Codina      Industrial I/O device channels used
25*cacff5e8SHerve Codina
26*cacff5e8SHerve Codina  io-channel-names:
27*cacff5e8SHerve Codina    description:
28*cacff5e8SHerve Codina      Industrial I/O channel names related to io-channels.
29*cacff5e8SHerve Codina      These names are used to provides sound controls, widgets and routes names.
30*cacff5e8SHerve Codina
31*cacff5e8SHerve Codina  snd-control-invert-range:
32*cacff5e8SHerve Codina    $ref: /schemas/types.yaml#/definitions/uint32-array
33*cacff5e8SHerve Codina    description: |
34*cacff5e8SHerve Codina      A list of 0/1 flags defining whether or not the related channel is
35*cacff5e8SHerve Codina      inverted
36*cacff5e8SHerve Codina    items:
37*cacff5e8SHerve Codina      enum: [0, 1]
38*cacff5e8SHerve Codina      default: 0
39*cacff5e8SHerve Codina      description: |
40*cacff5e8SHerve Codina        Invert the sound control value compared to the IIO channel raw value.
41*cacff5e8SHerve Codina          - 1: The related sound control value is inverted meaning that the
42*cacff5e8SHerve Codina               minimum sound control value correspond to the maximum IIO channel
43*cacff5e8SHerve Codina               raw value and the maximum sound control value correspond to the
44*cacff5e8SHerve Codina               minimum IIO channel raw value.
45*cacff5e8SHerve Codina          - 0: The related sound control value is not inverted meaning that the
46*cacff5e8SHerve Codina               minimum (resp maximum) sound control value correspond to the
47*cacff5e8SHerve Codina               minimum (resp maximum) IIO channel raw value.
48*cacff5e8SHerve Codina
49*cacff5e8SHerve Codinarequired:
50*cacff5e8SHerve Codina  - compatible
51*cacff5e8SHerve Codina  - io-channels
52*cacff5e8SHerve Codina  - io-channel-names
53*cacff5e8SHerve Codina
54*cacff5e8SHerve CodinaunevaluatedProperties: false
55*cacff5e8SHerve Codina
56*cacff5e8SHerve Codinaexamples:
57*cacff5e8SHerve Codina  - |
58*cacff5e8SHerve Codina    iio-aux {
59*cacff5e8SHerve Codina        compatible = "audio-iio-aux";
60*cacff5e8SHerve Codina        io-channels = <&iio 0>, <&iio 1>, <&iio 2>, <&iio 3>;
61*cacff5e8SHerve Codina        io-channel-names = "CH0", "CH1", "CH2", "CH3";
62*cacff5e8SHerve Codina        /* Invert CH1 and CH2 */
63*cacff5e8SHerve Codina        snd-control-invert-range = <0 1 1 0>;
64*cacff5e8SHerve Codina    };
65