1e047d037SRicard Wanderlof# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2e047d037SRicard Wanderlof%YAML 1.2 3e047d037SRicard Wanderlof--- 4e047d037SRicard Wanderlof$id: http://devicetree.org/schemas/sound/ti,tlv320adc3xxx.yaml# 5e047d037SRicard Wanderlof$schema: http://devicetree.org/meta-schemas/core.yaml# 6e047d037SRicard Wanderlof 7e047d037SRicard Wanderloftitle: Texas Instruments TLV320ADC3001/TLV320ADC3101 Stereo ADC 8e047d037SRicard Wanderlof 9e047d037SRicard Wanderlofmaintainers: 10e047d037SRicard Wanderlof - Ricard Wanderlof <ricardw@axis.com> 11e047d037SRicard Wanderlof 12e047d037SRicard Wanderlofdescription: | 13e047d037SRicard Wanderlof Texas Instruments TLV320ADC3001 and TLV320ADC3101 Stereo ADC 14e047d037SRicard Wanderlof https://www.ti.com/product/TLV320ADC3001 15e047d037SRicard Wanderlof https://www.ti.com/product/TLV320ADC3101 16e047d037SRicard Wanderlof 17*58ae9a2aSKrzysztof KozlowskiallOf: 18*58ae9a2aSKrzysztof Kozlowski - $ref: dai-common.yaml# 19*58ae9a2aSKrzysztof Kozlowski 20e047d037SRicard Wanderlofproperties: 21e047d037SRicard Wanderlof compatible: 22e047d037SRicard Wanderlof enum: 23e047d037SRicard Wanderlof - ti,tlv320adc3001 24e047d037SRicard Wanderlof - ti,tlv320adc3101 25e047d037SRicard Wanderlof 26e047d037SRicard Wanderlof reg: 27e047d037SRicard Wanderlof maxItems: 1 28e047d037SRicard Wanderlof description: I2C address 29e047d037SRicard Wanderlof 30e047d037SRicard Wanderlof '#sound-dai-cells': 31e047d037SRicard Wanderlof const: 0 32e047d037SRicard Wanderlof 33e047d037SRicard Wanderlof '#gpio-cells': 34e047d037SRicard Wanderlof const: 2 35e047d037SRicard Wanderlof 36e047d037SRicard Wanderlof gpio-controller: true 37e047d037SRicard Wanderlof 38e047d037SRicard Wanderlof reset-gpios: 39e047d037SRicard Wanderlof maxItems: 1 40e047d037SRicard Wanderlof description: GPIO pin used for codec reset (RESET pin) 41e047d037SRicard Wanderlof 42e047d037SRicard Wanderlof clocks: 43e047d037SRicard Wanderlof maxItems: 1 44e047d037SRicard Wanderlof description: Master clock (MCLK) 45e047d037SRicard Wanderlof 46e047d037SRicard Wanderlof ti,dmdin-gpio1: 47e047d037SRicard Wanderlof $ref: /schemas/types.yaml#/definitions/uint32 48e047d037SRicard Wanderlof enum: 49e047d037SRicard Wanderlof - 0 # ADC3XXX_GPIO_DISABLED - I/O buffers powered down and not used 50e047d037SRicard Wanderlof - 1 # ADC3XXX_GPIO_INPUT - Various non-GPIO input functions 51e047d037SRicard Wanderlof - 2 # ADC3XXX_GPIO_GPI - General purpose input 52e047d037SRicard Wanderlof - 3 # ADC3XXX_GPIO_GPO - General purpose output 53e047d037SRicard Wanderlof - 4 # ADC3XXX_GPIO_CLKOUT - Clock source set in CLKOUT_MUX reg 54e047d037SRicard Wanderlof - 5 # ADC3XXX_GPIO_INT1 - INT1 output 55e047d037SRicard Wanderlof - 6 # ADC3XXX_GPIO_SECONDARY_BCLK - Codec interface secondary BCLK 56e047d037SRicard Wanderlof - 7 # ADC3XXX_GPIO_SECONDARY_WCLK - Codec interface secondary WCLK 57e047d037SRicard Wanderlof default: 0 58e047d037SRicard Wanderlof description: | 59e047d037SRicard Wanderlof Configuration for DMDIN/GPIO1 pin. 60e047d037SRicard Wanderlof 61e047d037SRicard Wanderlof When ADC3XXX_GPIO_GPO is configured, this causes corresponding the 62e047d037SRicard Wanderlof ALSA control "GPIOx Output" to appear, as a switch control. 63e047d037SRicard Wanderlof 64e047d037SRicard Wanderlof ti,dmclk-gpio2: 65e047d037SRicard Wanderlof $ref: /schemas/types.yaml#/definitions/uint32 66e047d037SRicard Wanderlof enum: 67e047d037SRicard Wanderlof - 0 # ADC3XXX_GPIO_DISABLED - I/O buffers powered down and not used 68e047d037SRicard Wanderlof - 1 # ADC3XXX_GPIO_INPUT - Various non-GPIO input functions 69e047d037SRicard Wanderlof - 2 # ADC3XXX_GPIO_GPI - General purpose input 70e047d037SRicard Wanderlof - 3 # ADC3XXX_GPIO_GPO - General purpose output 71e047d037SRicard Wanderlof - 4 # ADC3XXX_GPIO_CLKOUT - Clock source set in CLKOUT_MUX reg 72e047d037SRicard Wanderlof - 5 # ADC3XXX_GPIO_INT1 - INT1 output 73e047d037SRicard Wanderlof - 6 # ADC3XXX_GPIO_SECONDARY_BCLK - Codec interface secondary BCLK 74e047d037SRicard Wanderlof - 7 # ADC3XXX_GPIO_SECONDARY_WCLK - Codec interface secondary WCLK 75e047d037SRicard Wanderlof default: 0 76e047d037SRicard Wanderlof description: | 77e047d037SRicard Wanderlof Configuration for DMCLK/GPIO2 pin. 78e047d037SRicard Wanderlof 79e047d037SRicard Wanderlof When ADC3XXX_GPIO_GPO is configured, this causes corresponding the 80e047d037SRicard Wanderlof ALSA control "GPIOx Output" to appear, as a switch control. 81e047d037SRicard Wanderlof 82e047d037SRicard Wanderlof Note that there is currently no support for reading the GPIO pins as 83e047d037SRicard Wanderlof inputs. 84e047d037SRicard Wanderlof 85e047d037SRicard Wanderlof ti,micbias1-vg: 86e047d037SRicard Wanderlof $ref: /schemas/types.yaml#/definitions/uint32 87e047d037SRicard Wanderlof enum: 88e047d037SRicard Wanderlof - 0 # ADC3XXX_MICBIAS_OFF - Mic bias is powered down 89e047d037SRicard Wanderlof - 1 # ADC3XXX_MICBIAS_2_0V - Mic bias is set to 2.0V 90e047d037SRicard Wanderlof - 2 # ADC3XXX_MICBIAS_2_5V - Mic bias is set to 2.5V 91e047d037SRicard Wanderlof - 3 # ADC3XXX_MICBIAS_AVDD - Mic bias is same as AVDD supply 92e047d037SRicard Wanderlof default: 0 93e047d037SRicard Wanderlof description: | 94e047d037SRicard Wanderlof Mic bias voltage output on MICBIAS1 pin 95e047d037SRicard Wanderlof 96e047d037SRicard Wanderlof ti,micbias2-vg: 97e047d037SRicard Wanderlof $ref: /schemas/types.yaml#/definitions/uint32 98e047d037SRicard Wanderlof enum: 99e047d037SRicard Wanderlof - 0 # ADC3XXX_MICBIAS_OFF - Mic bias is powered down 100e047d037SRicard Wanderlof - 1 # ADC3XXX_MICBIAS_2_0V - Mic bias is set to 2.0V 101e047d037SRicard Wanderlof - 2 # ADC3XXX_MICBIAS_2_5V - Mic bias is set to 2.5V 102e047d037SRicard Wanderlof - 3 # ADC3XXX_MICBIAS_AVDD - Mic bias is same as AVDD supply 103e047d037SRicard Wanderlof default: 0 104e047d037SRicard Wanderlof description: | 105e047d037SRicard Wanderlof Mic bias voltage output on MICBIAS2 pin 106e047d037SRicard Wanderlof 107e047d037SRicard Wanderlofrequired: 108e047d037SRicard Wanderlof - compatible 109e047d037SRicard Wanderlof - reg 110e047d037SRicard Wanderlof - clocks 111e047d037SRicard Wanderlof 112*58ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false 113e047d037SRicard Wanderlof 114e047d037SRicard Wanderlofexamples: 115e047d037SRicard Wanderlof - | 116e047d037SRicard Wanderlof 117e047d037SRicard Wanderlof #include <dt-bindings/gpio/gpio.h> 118e047d037SRicard Wanderlof #include <dt-bindings/sound/tlv320adc3xxx.h> 119e047d037SRicard Wanderlof 120e047d037SRicard Wanderlof i2c { 121e047d037SRicard Wanderlof #address-cells = <1>; 122e047d037SRicard Wanderlof #size-cells = <0>; 123e047d037SRicard Wanderlof tlv320adc3101: audio-codec@18 { 124e047d037SRicard Wanderlof compatible = "ti,tlv320adc3101"; 125e047d037SRicard Wanderlof reg = <0x18>; 126e047d037SRicard Wanderlof reset-gpios = <&gpio_pc 3 GPIO_ACTIVE_LOW>; 127e047d037SRicard Wanderlof clocks = <&audio_mclk>; 128e047d037SRicard Wanderlof gpio-controller; 129e047d037SRicard Wanderlof #gpio-cells = <2>; 130e047d037SRicard Wanderlof ti,dmdin-gpio1 = <ADC3XXX_GPIO_GPO>; 131e047d037SRicard Wanderlof ti,micbias1-vg = <ADC3XXX_MICBIAS_AVDD>; 132e047d037SRicard Wanderlof }; 133e047d037SRicard Wanderlof }; 134e047d037SRicard Wanderlof 135e047d037SRicard Wanderlof audio_mclk: clock { 136e047d037SRicard Wanderlof compatible = "fixed-clock"; 137e047d037SRicard Wanderlof #clock-cells = <0>; 138e047d037SRicard Wanderlof clock-frequency = <24576000>; 139e047d037SRicard Wanderlof }; 140e047d037SRicard Wanderlof... 141