1# 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 = <®ulator>; 141 IOVDD-supply = <®ulator>; 142 DRVDD-supply = <®ulator>; 143 DVDD-supply = <®ulator>; 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 = <®ulator>; 159 IOVDD-supply = <®ulator>; 160 DRVDD-supply = <®ulator>; 161 DVDD-supply = <®ulator>; 162 ai3x-ocmv = <0>; 163 }; 164 }; 165 166... 167