2023-08-30 17:31:07 +02:00
|
|
|
# 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:
|
2023-10-24 12:59:35 +02:00
|
|
|
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
2023-08-30 17:31:07 +02:00
|
|
|
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
|
|
|
|
|
|
|
|
clocks:
|
|
|
|
maxItems: 1
|
|
|
|
|
|
|
|
port:
|
|
|
|
$ref: audio-graph-port.yaml#
|
|
|
|
unevaluatedProperties: false
|
|
|
|
|
|
|
|
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>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
...
|