mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-28 00:48:07 -04:00
dt-bindings: sound: tlv320aic3x: Convert to dtschema
Convert bindings for TI's TLV320AIC3x audio codecs to dtschema. The following properties are still found in some old dts files, but will be ignored by the driver: - adc-settle-ms - port Signed-off-by: Jai Luthra <j-luthra@ti.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20221221145216.11400-1-j-luthra@ti.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
158
Documentation/devicetree/bindings/sound/ti,tlv320aic3x.yaml
Normal file
158
Documentation/devicetree/bindings/sound/ti,tlv320aic3x.yaml
Normal file
@@ -0,0 +1,158 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
# Copyright (C) 2022 Texas Instruments Incorporated
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/ti,tlv320aic3x.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Texas Instruments TLV320AIC3x Codec
|
||||
|
||||
description: |
|
||||
TLV320AIC3x are a series of low-power stereo audio codecs with stereo
|
||||
headphone amplifier, as well as multiple inputs and outputs programmable in
|
||||
single-ended or fully differential configurations.
|
||||
|
||||
The serial control bus supports SPI or I2C protocols, while the serial audio
|
||||
data bus is programmable for I2S, left/right-justified, DSP, or TDM modes.
|
||||
|
||||
The following pins can be referred in the sound node's audio routing property:
|
||||
|
||||
CODEC output pins:
|
||||
LLOUT
|
||||
RLOUT
|
||||
MONO_LOUT
|
||||
HPLOUT
|
||||
HPROUT
|
||||
HPLCOM
|
||||
HPRCOM
|
||||
|
||||
CODEC input pins for TLV320AIC3104:
|
||||
MIC2L
|
||||
MIC2R
|
||||
LINE1L
|
||||
LINE1R
|
||||
|
||||
CODEC input pins for other compatible codecs:
|
||||
MIC3L
|
||||
MIC3R
|
||||
LINE1L
|
||||
LINE2L
|
||||
LINE1R
|
||||
LINE2R
|
||||
|
||||
maintainers:
|
||||
- Jai Luthra <j-luthra@ti.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,tlv320aic3x
|
||||
- ti,tlv320aic33
|
||||
- ti,tlv320aic3007
|
||||
- ti,tlv320aic3106
|
||||
- ti,tlv320aic3104
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
maxItems: 1
|
||||
description:
|
||||
GPIO specification for the active low RESET input.
|
||||
|
||||
gpio-reset:
|
||||
maxItems: 1
|
||||
description:
|
||||
Deprecated, please use reset-gpios instead.
|
||||
deprecated: true
|
||||
|
||||
ai3x-gpio-func:
|
||||
description: AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
maxItems: 2
|
||||
|
||||
ai3x-micbias-vg:
|
||||
description: MicBias required voltage. If node is omitted then MicBias is powered down.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
oneOf:
|
||||
- const: 1
|
||||
description: MICBIAS output is powered to 2.0V.
|
||||
- const: 2
|
||||
description: MICBIAS output is powered to 2.5V.
|
||||
- const: 3
|
||||
description: MICBIAS output is connected to AVDD.
|
||||
|
||||
ai3x-ocmv:
|
||||
description: Output Common-Mode Voltage selection.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
oneOf:
|
||||
- const: 0
|
||||
description: 1.35V
|
||||
- const: 1
|
||||
description: 1.5V
|
||||
- const: 2
|
||||
description: 1.65V
|
||||
- const: 3
|
||||
description: 1.8V
|
||||
|
||||
AVDD-supply:
|
||||
description: Analog DAC voltage.
|
||||
|
||||
IOVDD-supply:
|
||||
description: I/O voltage.
|
||||
|
||||
DRVDD-supply:
|
||||
description: ADC analog and output driver voltage.
|
||||
|
||||
DVDD-supply:
|
||||
description: Digital core voltage.
|
||||
|
||||
'#sound-dai-cells':
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tlv320aic3x_i2c: audio-codec@1b {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0x1b>;
|
||||
|
||||
reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
tlv320aic3x_spi: audio-codec@0 {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0>; /* CS number */
|
||||
#sound-dai-cells = <0>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
ai3x-ocmv = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,97 +0,0 @@
|
||||
Texas Instruments - tlv320aic3x Codec module
|
||||
|
||||
The tlv320aic3x serial control bus communicates through both I2C and SPI bus protocols
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible - "string" - One of:
|
||||
"ti,tlv320aic3x" - Generic TLV320AIC3x device
|
||||
"ti,tlv320aic33" - TLV320AIC33
|
||||
"ti,tlv320aic3007" - TLV320AIC3007
|
||||
"ti,tlv320aic3106" - TLV320AIC3106
|
||||
"ti,tlv320aic3104" - TLV320AIC3104
|
||||
|
||||
|
||||
- reg - <int> - I2C slave address
|
||||
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpios - GPIO specification for the active low RESET input.
|
||||
- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
|
||||
- Not supported on tlv320aic3104
|
||||
- ai3x-micbias-vg - MicBias Voltage required.
|
||||
1 - MICBIAS output is powered to 2.0V,
|
||||
2 - MICBIAS output is powered to 2.5V,
|
||||
3 - MICBIAS output is connected to AVDD,
|
||||
If this node is not mentioned or if the value is incorrect, then MicBias
|
||||
is powered down.
|
||||
- ai3x-ocmv - Output Common-Mode Voltage selection:
|
||||
0 - 1.35V,
|
||||
1 - 1.5V,
|
||||
2 - 1.65V,
|
||||
3 - 1.8V
|
||||
- AVDD-supply, IOVDD-supply, DRVDD-supply, DVDD-supply : power supplies for the
|
||||
device as covered in Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
|
||||
Deprecated properties:
|
||||
|
||||
- gpio-reset - gpio pin number used for codec reset
|
||||
|
||||
CODEC output pins:
|
||||
* LLOUT
|
||||
* RLOUT
|
||||
* MONO_LOUT
|
||||
* HPLOUT
|
||||
* HPROUT
|
||||
* HPLCOM
|
||||
* HPRCOM
|
||||
|
||||
CODEC input pins for TLV320AIC3104:
|
||||
* MIC2L
|
||||
* MIC2R
|
||||
* LINE1L
|
||||
* LINE1R
|
||||
|
||||
CODEC input pins for other compatible codecs:
|
||||
* MIC3L
|
||||
* MIC3R
|
||||
* LINE1L
|
||||
* LINE2L
|
||||
* LINE1R
|
||||
* LINE2R
|
||||
|
||||
The pins can be used in referring sound node's audio-routing property.
|
||||
|
||||
I2C example:
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
tlv320aic3x: tlv320aic3x@1b {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0x1b>;
|
||||
|
||||
reset-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
};
|
||||
|
||||
SPI example:
|
||||
|
||||
spi0: spi@f0000000 {
|
||||
tlv320aic3x: codec@0 {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0>; /* CS number */
|
||||
#sound-dai-cells = <0>;
|
||||
spi-max-frequency = <1000000>;
|
||||
|
||||
AVDD-supply = <®ulator>;
|
||||
IOVDD-supply = <®ulator>;
|
||||
DRVDD-supply = <®ulator>;
|
||||
DVDD-supply = <®ulator>;
|
||||
ai3x-ocmv = <0>;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user