Documentation / devicetree / bindings / sound / ti,pcm6240.yaml


Based on kernel version 6.10. Page generated on 2024-07-16 09:00 EST.

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>;
     };
   };
...