Commit 289650d6 authored by Alexander Stein's avatar Alexander Stein Committed by Mark Brown

ASoC: dt-bindings: tlv320aic32x4: convert to DT schema format

Convert the binding to DT schema format.
Since commit 514b044c ("ASoC: tlv320aic32x4: Model PLL in CCF")
clocks & clock-names = "mclk" is mandatory, it has been added to required
properties as well. '#sound-dai-cells' is added for reference from
simple-audio-card.
Signed-off-by: default avatarAlexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230616083549.2331830-1-alexander.stein@ew.tq-group.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 1a32b4b9
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2019 Texas Instruments Incorporated
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/ti,tlv320aic32x4.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Texas Instruments TLV320AIC32x4 Stereo Audio codec
maintainers:
- Alexander Stein <alexander.stein@ew.tq-group.com>
description: |
The TLV320AIC32x4 audio codec can be accessed using I2C or SPI
properties:
compatible:
enum:
- ti,tas2505
- ti,tlv320aic32x4
- ti,tlv320aic32x6
reg:
maxItems: 1
clocks:
items:
- description: Master clock
clock-names:
items:
- const: mclk
av-supply:
description: Analog core power supply
dv-supply:
description: Digital core power supply
iov-supply:
description: Digital IO power supply
ldoin-supply:
description: LDO power supply
reset-gpios:
maxItems: 1
'#sound-dai-cells':
const: 0
aic32x4-gpio-func:
description: |
GPIO function configuration for pins MFP1-MFP5.
Types are defined in include/sound/tlv320aic32x4.h
$ref: /schemas/types.yaml#/definitions/uint32-array
minItems: 5
maxItems: 5
required:
- compatible
- reg
- clocks
- clock-names
- iov-supply
allOf:
- $ref: dai-common.yaml#
- if:
not:
required:
- ldoin-supply
then:
required:
- av-supply
- dv-supply
additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
audio-codec@18 {
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
iov-supply = <&reg_3v3>;
ldoin-supply = <&reg_3v3>;
clocks = <&clks 201>;
clock-names = "mclk";
aic32x4-gpio-func= <
0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
0x04 /* MFP3 AIC32X4_MFP3_GPIO_ENABLED */
0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
0x08 /* MFP5 AIC32X4_MFP5_GPIO_INPUT */
>;
};
};
Texas Instruments - tlv320aic32x4 Codec module
The tlv320aic32x4 serial control bus communicates through I2C protocols
Required properties:
- compatible - "string" - One of:
"ti,tlv320aic32x4" TLV320AIC3204
"ti,tlv320aic32x6" TLV320AIC3206, TLV320AIC3256
"ti,tas2505" TAS2505, TAS2521
- reg: I2C slave address
- *-supply: Required supply regulators are:
"iov" - digital IO power supply
"ldoin" - LDO power supply
"dv" - Digital core power supply
"av" - Analog core power supply
If you supply ldoin, dv and av are optional. Otherwise they are required
See regulator/regulator.txt for more information about the detailed binding
format.
Optional properties:
- reset-gpios: Reset-GPIO phandle with args as described in gpio/gpio.txt
- clocks/clock-names: Clock named 'mclk' for the master clock of the codec.
See clock/clock-bindings.txt for information about the detailed format.
- aic32x4-gpio-func - <array of 5 int>
- Types are defined in include/sound/tlv320aic32x4.h
Example:
codec: tlv320aic32x4@18 {
compatible = "ti,tlv320aic32x4";
reg = <0x18>;
clocks = <&clks 201>;
clock-names = "mclk";
aic32x4-gpio-func= <
0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
0x04 /* MFP3 AIC32X4_MFP3_GPIO_ENABLED */
0xff /* AIC32X4_MFPX_DEFAULT_VALUE */
0x08 /* MFP5 AIC32X4_MFP5_GPIO_INPUT */
>;
};
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment