Skip to content

Commit cee56a8

Browse files
Shenghao-Dingbroonie
authored andcommitted
ASoc: dt-bindings: PCM6240: Add initial DT binding
PCM6240 family chips are popular among audio customers, in spite of only a portion of the functionality of codec, such as ADC or DAC, and so on, for different Specifications, range from Personal Electric to Automotive Electric, even some professional fields. Yet their audio performance is far superior to the codec's, and cost is lower than codec, and much easier to program than codec. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Shenghao Ding <shenghao-ding@ti.com> Link: https://lore.kernel.org/r/20240407091846.1299-5-shenghao-ding@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 6bb1b70 commit cee56a8

1 file changed

Lines changed: 177 additions & 0 deletions

File tree

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2022 - 2024 Texas Instruments Incorporated
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Texas Instruments PCM6240 Family Audio ADC/DAC
9+
10+
maintainers:
11+
- Shenghao Ding <shenghao-ding@ti.com>
12+
13+
description: |
14+
The PCM6240 Family is a big family of Audio ADC/DAC for
15+
different Specifications, range from Personal Electric
16+
to Automotive Electric, even some professional fields.
17+
18+
Specifications about the audio chip can be found at:
19+
https://www.ti.com/lit/gpn/tlv320adc3120
20+
https://www.ti.com/lit/gpn/tlv320adc5120
21+
https://www.ti.com/lit/gpn/tlv320adc6120
22+
https://www.ti.com/lit/gpn/dix4192
23+
https://www.ti.com/lit/gpn/pcm1690
24+
https://www.ti.com/lit/gpn/pcm3120-q1
25+
https://www.ti.com/lit/gpn/pcm3140-q1
26+
https://www.ti.com/lit/gpn/pcm5120-q1
27+
https://www.ti.com/lit/gpn/pcm6120-q1
28+
https://www.ti.com/lit/gpn/pcm6260-q1
29+
https://www.ti.com/lit/gpn/pcm9211
30+
https://www.ti.com/lit/gpn/pcmd3140
31+
https://www.ti.com/lit/gpn/pcmd3180
32+
https://www.ti.com/lit/gpn/taa5212
33+
https://www.ti.com/lit/gpn/tad5212
34+
35+
properties:
36+
compatible:
37+
description: |
38+
ti,adc3120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
39+
digital converter (ADC) with 106-dB SNR.
40+
41+
ti,adc5120: 2-Channel, 768-kHz, Burr-Brown™ Audio ADC with 120-dB SNR.
42+
43+
ti,adc6120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
44+
digital converter (ADC) with 123-dB SNR.
45+
46+
ti,dix4192: 216-kHz digital audio converter with Quad-Channel In
47+
and One-Channel Out.
48+
49+
ti,pcm1690: Automotive Catalog 113dB SNR 8-Channel Audio DAC with
50+
Differential Outputs.
51+
52+
ti,pcm3120: Automotive, stereo, 106-dB SNR, 768-kHz, low-power
53+
software-controlled audio ADC.
54+
55+
ti,pcm3140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
56+
with 106-dB SNR.
57+
58+
ti,pcm5120: Automotive, stereo, 120-dB SNR, 768-kHz, low-power
59+
software-controlled audio ADC.
60+
61+
ti,pcm5140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
62+
with 120-dB SNR.
63+
64+
ti,pcm6120: Automotive, stereo, 123-dB SNR, 768-kHz, low-power
65+
software-controlled audio ADC.
66+
67+
ti,pcm6140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
68+
with 123-dB SNR.
69+
70+
ti,pcm6240: Automotive 4-ch audio ADC with integrated programmable mic
71+
bias, boost and input diagnostics.
72+
73+
ti,pcm6260: Automotive 6-ch audio ADC with integrated programmable mic
74+
bias, boost and input diagnostics.
75+
76+
ti,pcm9211: 216-kHz digital audio converter With Stereo ADC and
77+
Routing.
78+
79+
ti,pcmd3140: Four-channel PDM-input to TDM or I2S output converter.
80+
81+
ti,pcmd3180: Eight-channel pulse-density-modulation input to TDM or
82+
I2S output converter.
83+
84+
ti,taa5212: Low-power high-performance stereo audio ADC with 118-dB
85+
dynamic range.
86+
87+
ti,tad5212: Low-power stereo audio DAC with 120-dB dynamic range.
88+
oneOf:
89+
- items:
90+
- enum:
91+
- ti,adc3120
92+
- ti,adc5120
93+
- ti,pcm3120
94+
- ti,pcm5120
95+
- ti,pcm6120
96+
- const: ti,adc6120
97+
- items:
98+
- enum:
99+
- ti,pcmd512x
100+
- ti,pcm9211
101+
- ti,taa5212
102+
- ti,tad5212
103+
- const: ti,adc6120
104+
- items:
105+
- enum:
106+
- ti,pcm3140
107+
- ti,pcm5140
108+
- ti,dix4192
109+
- ti,pcm6140
110+
- ti,pcm6260
111+
- const: ti,pcm6240
112+
- items:
113+
- enum:
114+
- ti,pcmd3140
115+
- ti,pcmd3180
116+
- ti,pcm1690
117+
- ti,taa5412
118+
- ti,tad5412
119+
- const: ti,pcm6240
120+
- enum:
121+
- ti,adc6120
122+
- ti,pcm6240
123+
124+
reg:
125+
description:
126+
I2C address, in multiple pcmdevices case, all the i2c address
127+
aggregate as one Audio Device to support multiple audio slots.
128+
minItems: 1
129+
maxItems: 4
130+
131+
reset-gpios:
132+
maxItems: 1
133+
134+
interrupts:
135+
maxItems: 1
136+
description:
137+
Invalid only for ti,pcm1690 because of no INT pin.
138+
139+
'#sound-dai-cells':
140+
const: 0
141+
142+
required:
143+
- compatible
144+
- reg
145+
146+
allOf:
147+
- $ref: dai-common.yaml#
148+
- if:
149+
properties:
150+
compatible:
151+
contains:
152+
enum:
153+
- ti,pcm1690
154+
then:
155+
properties:
156+
interrupts: false
157+
158+
additionalProperties: false
159+
160+
examples:
161+
- |
162+
#include <dt-bindings/gpio/gpio.h>
163+
i2c {
164+
/* example for two devices with interrupt support */
165+
#address-cells = <1>;
166+
#size-cells = <0>;
167+
pcm6240: audio-codec@48 {
168+
compatible = "ti,pcm6240";
169+
reg = <0x48>, /* primary-device */
170+
<0x4b>; /* secondary-device */
171+
#sound-dai-cells = <0>;
172+
reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
173+
interrupt-parent = <&gpio1>;
174+
interrupts = <15>;
175+
};
176+
};
177+
...

0 commit comments

Comments
 (0)