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