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