blob: 206f6d61e362e30725df809bc459a758a992561b [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
8title: Texas Instruments TLV320AIC3x Codec
9
10description: |
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
43maintainers:
44 - Jai Luthra <j-luthra@ti.com>
45
46properties:
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
121required:
122 - compatible
123 - reg
124
125additionalProperties: false
126
127examples:
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...