Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / sound / ti,tlv320aic3x.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 # Copyright (C) 2022 Texas Instruments Incorporated
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/sound/ti,tlv320aic3x.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Texas Instruments TLV320AIC3x Codec
9
10 description: |
11   TLV320AIC3x are a series of low-power stereo audio codecs with stereo
12   headphone amplifier, as well as multiple inputs and outputs programmable in
13   single-ended or fully differential configurations.
14
15   The serial control bus supports SPI or I2C protocols, while the serial audio
16   data bus is programmable for I2S, left/right-justified, DSP, or TDM modes.
17
18   The following pins can be referred in the sound node's audio routing property:
19
20   CODEC output pins:
21      LLOUT
22      RLOUT
23      MONO_LOUT
24      HPLOUT
25      HPROUT
26      HPLCOM
27      HPRCOM
28
29   CODEC input pins for TLV320AIC3104:
30      MIC2L
31      MIC2R
32      LINE1L
33      LINE1R
34
35   CODEC input pins for other compatible codecs:
36      MIC3L
37      MIC3R
38      LINE1L
39      LINE2L
40      LINE1R
41      LINE2R
42
43 maintainers:
44   - Jai Luthra <j-luthra@ti.com>
45
46 properties:
47   compatible:
48     enum:
49       - ti,tlv320aic3x
50       - ti,tlv320aic33
51       - ti,tlv320aic3007
52       - ti,tlv320aic3106
53       - ti,tlv320aic3104
54
55   reg:
56     maxItems: 1
57
58   reset-gpios:
59     maxItems: 1
60     description:
61       GPIO specification for the active low RESET input.
62
63   gpio-reset:
64     $ref: /schemas/types.yaml#/definitions/uint32-matrix
65     maxItems: 1
66     description:
67       Deprecated, please use reset-gpios instead.
68     deprecated: true
69
70   ai3x-gpio-func:
71     description: AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
72     $ref: /schemas/types.yaml#/definitions/uint32-array
73     maxItems: 2
74
75   ai3x-micbias-vg:
76     description: MicBias required voltage. If node is omitted then MicBias is powered down.
77     $ref: /schemas/types.yaml#/definitions/uint32
78     oneOf:
79       - const: 1
80         description: MICBIAS output is powered to 2.0V.
81       - const: 2
82         description: MICBIAS output is powered to 2.5V.
83       - const: 3
84         description: MICBIAS output is connected to AVDD.
85
86   ai3x-ocmv:
87     description: Output Common-Mode Voltage selection.
88     $ref: /schemas/types.yaml#/definitions/uint32
89     oneOf:
90       - const: 0
91         description: 1.35V
92       - const: 1
93         description: 1.5V
94       - const: 2
95         description: 1.65V
96       - const: 3
97         description: 1.8V
98
99   AVDD-supply:
100     description: Analog DAC voltage.
101
102   IOVDD-supply:
103     description: I/O voltage.
104
105   DRVDD-supply:
106     description: ADC analog and output driver voltage.
107
108   DVDD-supply:
109     description: Digital core voltage.
110
111   '#sound-dai-cells':
112     const: 0
113
114   clocks:
115     maxItems: 1
116
117   port:
118     $ref: audio-graph-port.yaml#
119     unevaluatedProperties: false
120
121 required:
122   - compatible
123   - reg
124
125 additionalProperties: false
126
127 examples:
128   - |
129     #include <dt-bindings/gpio/gpio.h>
130     i2c {
131       #address-cells = <1>;
132       #size-cells = <0>;
133
134       tlv320aic3x_i2c: audio-codec@1b {
135         compatible = "ti,tlv320aic3x";
136         reg = <0x1b>;
137
138         reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
139
140         AVDD-supply = <&regulator>;
141         IOVDD-supply = <&regulator>;
142         DRVDD-supply = <&regulator>;
143         DVDD-supply = <&regulator>;
144       };
145     };
146
147   - |
148     #include <dt-bindings/gpio/gpio.h>
149     spi {
150       #address-cells = <1>;
151       #size-cells = <0>;
152
153       tlv320aic3x_spi: audio-codec@0 {
154         compatible = "ti,tlv320aic3x";
155         reg = <0>; /* CS number */
156         #sound-dai-cells = <0>;
157
158         AVDD-supply = <&regulator>;
159         IOVDD-supply = <&regulator>;
160         DRVDD-supply = <&regulator>;
161         DVDD-supply = <&regulator>;
162         ai3x-ocmv = <0>;
163       };
164     };
165
166 ...