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