Commit 878f4c36 authored by Animesh Agarwal's avatar Animesh Agarwal Committed by Mark Brown

ASoC: dt-bindings: realtek,rt5659: Convert to dtschema

Convert the RT5659/RT5658 audio CODEC bindings to DT schema.
Signed-off-by: default avatarAnimesh Agarwal <animeshagarwal28@gmail.com>
Cc: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20240624132949.124228-1-animeshagarwal28@gmail.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 19dec665
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/realtek,rt5659.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: RT5659/RT5658 audio CODEC
maintainers:
- Animesh Agarwal <animeshagarwal28@gmail.com>
description: |
This device supports I2C only.
Pins on the device (for linking into audio routes) for RT5659/RT5658:
* DMIC L1
* DMIC R1
* DMIC L2
* DMIC R2
* IN1P
* IN1N
* IN2P
* IN2N
* IN3P
* IN3N
* IN4P
* IN4N
* HPOL
* HPOR
* SPOL
* SPOR
* LOUTL
* LOUTR
* MONOOUT
* PDML
* PDMR
* SPDIF
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
- realtek,rt5659
- realtek,rt5658
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
maxItems: 1
clock-names:
const: mclk
realtek,dmic1-data-pin:
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # dmic1 is not used
- 1 # using IN2N pin as dmic1 data pin
- 2 # using GPIO5 pin as dmic1 data pin
- 3 # using GPIO9 pin as dmic1 data pin
- 4 # using GPIO11 pin as dmic1 data pin
description: Specify which pin to be used as DMIC1 data pin.
default: 0
realtek,dmic2-data-pin:
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # dmic2 is not used
- 1 # using IN2P pin as dmic2 data pin
- 2 # using GPIO6 pin as dmic2 data pin
- 3 # using GPIO10 pin as dmic2 data pin
- 4 # using GPIO12 pin as dmic2 data pin
description: Specify which pin to be used as DMIC2 data pin.
default: 0
realtek,jd-src:
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # No JD is used
- 1 # using JD3 as JD source
- 2 # JD source for Intel HDA header
description: Specify which JD source be used.
default: 0
realtek,ldo1-en-gpios:
maxItems: 1
description: CODEC's LDO1_EN pin.
realtek,reset-gpios:
maxItems: 1
description: CODEC's RESET pin.
ports:
$ref: /schemas/graph.yaml#/properties/ports
port:
$ref: audio-graph-port.yaml#
unevaluatedProperties: false
required:
- compatible
- reg
- interrupts
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
i2c {
#address-cells = <1>;
#size-cells = <0>;
codec@1b {
compatible = "realtek,rt5659";
reg = <0x1b>;
interrupt-parent = <&gpio>;
interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
realtek,ldo1-en-gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
};
};
RT5659/RT5658 audio CODEC
This device supports I2C only.
Required properties:
- compatible : One of "realtek,rt5659" or "realtek,rt5658".
- reg : The I2C address of the device.
- interrupts : The CODEC's interrupt output.
Optional properties:
- clocks: The phandle of the master clock to the CODEC
- clock-names: Should be "mclk"
- realtek,in1-differential
- realtek,in3-differential
- realtek,in4-differential
Boolean. Indicate MIC1/3/4 input are differential, rather than single-ended.
- realtek,dmic1-data-pin
0: dmic1 is not used
1: using IN2N pin as dmic1 data pin
2: using GPIO5 pin as dmic1 data pin
3: using GPIO9 pin as dmic1 data pin
4: using GPIO11 pin as dmic1 data pin
- realtek,dmic2-data-pin
0: dmic2 is not used
1: using IN2P pin as dmic2 data pin
2: using GPIO6 pin as dmic2 data pin
3: using GPIO10 pin as dmic2 data pin
4: using GPIO12 pin as dmic2 data pin
- realtek,jd-src
0: No JD is used
1: using JD3 as JD source
2: JD source for Intel HDA header
- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
- realtek,reset-gpios : The GPIO that controls the CODEC's RESET pin.
- sound-name-prefix: Please refer to dai-common.yaml
- ports: A Codec may have a single or multiple I2S interfaces. These
interfaces on Codec side can be described under 'ports' or 'port'.
When the SoC or host device is connected to multiple interfaces of
the Codec, the connectivity can be described using 'ports' property.
If a single interface is used, then 'port' can be used. The usage
depends on the platform or board design.
Please refer to Documentation/devicetree/bindings/graph.txt
Pins on the device (for linking into audio routes) for RT5659/RT5658:
* DMIC L1
* DMIC R1
* DMIC L2
* DMIC R2
* IN1P
* IN1N
* IN2P
* IN2N
* IN3P
* IN3N
* IN4P
* IN4N
* HPOL
* HPOR
* SPOL
* SPOR
* LOUTL
* LOUTR
* MONOOUT
* PDML
* PDMR
* SPDIF
Example:
rt5659 {
compatible = "realtek,rt5659";
reg = <0x1b>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_HIGH>;
realtek,ldo1-en-gpios =
<&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
};
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