summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/sound/ti,pcm6240.yaml
blob: dd5b08e3d7a1587cecdd500eb6f1905ec049163f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2022 - 2024 Texas Instruments Incorporated
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments PCM6240 Family Audio ADC/DAC

maintainers:
  - Shenghao Ding <shenghao-ding@ti.com>

description: |
  The PCM6240 Family is a big family of Audio ADC/DAC for
  different Specifications, range from Personal Electric
  to Automotive Electric, even some professional fields.

  Specifications about the audio chip can be found at:
    https://www.ti.com/lit/gpn/tlv320adc3120
    https://www.ti.com/lit/gpn/tlv320adc5120
    https://www.ti.com/lit/gpn/tlv320adc6120
    https://www.ti.com/lit/gpn/dix4192
    https://www.ti.com/lit/gpn/pcm1690
    https://www.ti.com/lit/gpn/pcm3120-q1
    https://www.ti.com/lit/gpn/pcm3140-q1
    https://www.ti.com/lit/gpn/pcm5120-q1
    https://www.ti.com/lit/gpn/pcm6120-q1
    https://www.ti.com/lit/gpn/pcm6260-q1
    https://www.ti.com/lit/gpn/pcm9211
    https://www.ti.com/lit/gpn/pcmd3140
    https://www.ti.com/lit/gpn/pcmd3180
    https://www.ti.com/lit/gpn/taa5212
    https://www.ti.com/lit/gpn/tad5212

properties:
  compatible:
    description: |
      ti,adc3120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
      digital converter (ADC) with 106-dB SNR.

      ti,adc5120: 2-Channel, 768-kHz, Burr-Brown™ Audio ADC with 120-dB SNR.

      ti,adc6120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
      digital converter (ADC) with 123-dB SNR.

      ti,dix4192: 216-kHz digital audio converter with Quad-Channel In
      and One-Channel Out.

      ti,pcm1690: Automotive Catalog 113dB SNR 8-Channel Audio DAC with
      Differential Outputs.

      ti,pcm3120: Automotive, stereo, 106-dB SNR, 768-kHz, low-power
      software-controlled audio ADC.

      ti,pcm3140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
      with 106-dB SNR.

      ti,pcm5120: Automotive, stereo, 120-dB SNR, 768-kHz, low-power
      software-controlled audio ADC.

      ti,pcm5140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
      with 120-dB SNR.

      ti,pcm6120: Automotive, stereo, 123-dB SNR, 768-kHz, low-power
      software-controlled audio ADC.

      ti,pcm6140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
      with 123-dB SNR.

      ti,pcm6240: Automotive 4-ch audio ADC with integrated programmable mic
      bias, boost and input diagnostics.

      ti,pcm6260: Automotive 6-ch audio ADC with integrated programmable mic
      bias, boost and input diagnostics.

      ti,pcm9211: 216-kHz digital audio converter With Stereo ADC and
      Routing.

      ti,pcmd3140: Four-channel PDM-input to TDM or I2S output converter.

      ti,pcmd3180: Eight-channel pulse-density-modulation input to TDM or
      I2S output converter.

      ti,taa5212: Low-power high-performance stereo audio ADC with 118-dB
      dynamic range.

      ti,tad5212: Low-power stereo audio DAC with 120-dB dynamic range.
    oneOf:
      - items:
          - enum:
              - ti,adc3120
              - ti,adc5120
              - ti,pcm3120
              - ti,pcm5120
              - ti,pcm6120
          - const: ti,adc6120
      - items:
          - enum:
              - ti,pcmd512x
              - ti,pcm9211
              - ti,taa5212
              - ti,tad5212
          - const: ti,adc6120
      - items:
          - enum:
              - ti,pcm3140
              - ti,pcm5140
              - ti,dix4192
              - ti,pcm6140
              - ti,pcm6260
          - const: ti,pcm6240
      - items:
          - enum:
              - ti,pcmd3140
              - ti,pcmd3180
              - ti,pcm1690
              - ti,taa5412
              - ti,tad5412
          - const: ti,pcm6240
      - enum:
          - ti,adc6120
          - ti,pcm6240

  reg:
    description:
      I2C address, in multiple pcmdevices case, all the i2c address
      aggregate as one Audio Device to support multiple audio slots.
    minItems: 1
    maxItems: 4

  reset-gpios:
    maxItems: 1

  interrupts:
    maxItems: 1
    description:
      Invalid only for ti,pcm1690 because of no INT pin.

  '#sound-dai-cells':
    const: 0

required:
  - compatible
  - reg

allOf:
  - $ref: dai-common.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - ti,pcm1690
    then:
      properties:
        interrupts: false

additionalProperties: false

examples:
  - |
   #include <dt-bindings/gpio/gpio.h>
   i2c {
     /* example for two devices with interrupt support */
     #address-cells = <1>;
     #size-cells = <0>;
     pcm6240: audio-codec@48 {
       compatible = "ti,pcm6240";
       reg = <0x48>, /* primary-device */
             <0x4b>; /* secondary-device */
       #sound-dai-cells = <0>;
       reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
       interrupt-parent = <&gpio1>;
       interrupts = <15>;
     };
   };
...