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