mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-21 06:50:25 +00:00
ASoC: dt-bindings: realtek,rt5645: Convert to dtschema
Convert the RT5650/RT5645 audio CODEC bindings to DT schema. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Animesh Agarwal <animeshagarwal28@gmail.com> Cc: Daniel Baluta <daniel.baluta@nxp.com> Link: https://patch.msgid.link/20240702120106.17100-1-animeshagarwal28@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
62412a9357
commit
83d43ab0a1
2 changed files with 131 additions and 82 deletions
131
Documentation/devicetree/bindings/sound/realtek,rt5645.yaml
Normal file
131
Documentation/devicetree/bindings/sound/realtek,rt5645.yaml
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/sound/realtek,rt5645.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: RT5650/RT5645 audio CODEC
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Animesh Agarwal <animeshagarwal28@gmail.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This device supports I2C only.
|
||||||
|
|
||||||
|
Pins on the device (for linking into audio routes) for RT5645/RT5650:
|
||||||
|
* DMIC L1
|
||||||
|
* DMIC R1
|
||||||
|
* DMIC L2
|
||||||
|
* DMIC R2
|
||||||
|
* IN1P
|
||||||
|
* IN1N
|
||||||
|
* IN2P
|
||||||
|
* IN2N
|
||||||
|
* Haptic Generator
|
||||||
|
* HPOL
|
||||||
|
* HPOR
|
||||||
|
* LOUTL
|
||||||
|
* LOUTR
|
||||||
|
* PDM1L
|
||||||
|
* PDM1R
|
||||||
|
* SPOL
|
||||||
|
* SPOR
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dai-common.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- realtek,rt5645
|
||||||
|
- realtek,rt5650
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
description: The CODEC's interrupt output.
|
||||||
|
|
||||||
|
avdd-supply:
|
||||||
|
description: Power supply for AVDD, providing 1.8V.
|
||||||
|
|
||||||
|
cpvdd-supply:
|
||||||
|
description: Power supply for CPVDD, providing 3.5V.
|
||||||
|
|
||||||
|
hp-detect-gpios:
|
||||||
|
description:
|
||||||
|
A GPIO spec for the external headphone detect pin. If jd-mode = 0, we
|
||||||
|
will get the JD status by getting the value of hp-detect-gpios.
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
cbj-sleeve-gpios:
|
||||||
|
description:
|
||||||
|
A GPIO spec to control the external combo jack circuit to tie the
|
||||||
|
sleeve/ring2 contacts to the ground or floating. It could avoid some
|
||||||
|
electric noise from the active speaker jacks.
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
realtek,in2-differential:
|
||||||
|
description:
|
||||||
|
Indicate MIC2 input are differential, rather than single-ended.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
realtek,dmic1-data-pin:
|
||||||
|
description: Specify which pin to be used as DMIC1 data pin.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # dmic1 is not used
|
||||||
|
- 1 # using IN2P pin as dmic1 data pin
|
||||||
|
- 2 # using GPIO6 pin as dmic1 data pin
|
||||||
|
- 3 # using GPIO10 pin as dmic1 data pin
|
||||||
|
- 4 # using GPIO12 pin as dmic1 data pin
|
||||||
|
|
||||||
|
realtek,dmic2-data-pin:
|
||||||
|
description: Specify which pin to be used as DMIC2 data pin.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # dmic2 is not used
|
||||||
|
- 1 # using IN2N pin as dmic2 data pin
|
||||||
|
- 2 # using GPIO5 pin as dmic2 data pin
|
||||||
|
- 3 # using GPIO11 pin as dmic2 data pin
|
||||||
|
|
||||||
|
realtek,jd-mode:
|
||||||
|
description: The JD mode of rt5645/rt5650.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 0 # rt5645/rt5650 JD function is not used
|
||||||
|
- 1 # Mode-0 (VDD=3.3V), two port jack detection
|
||||||
|
- 2 # Mode-1 (VDD=3.3V), one port jack detection
|
||||||
|
- 3 # Mode-2 (VDD=1.8V), one port jack detection
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
- avdd-supply
|
||||||
|
- cpvdd-supply
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
codec@1a {
|
||||||
|
compatible = "realtek,rt5650";
|
||||||
|
reg = <0x1a>;
|
||||||
|
hp-detect-gpios = <&gpio 19 0>;
|
||||||
|
cbj-sleeve-gpios = <&gpio 20 0>;
|
||||||
|
interrupt-parent = <&gpio>;
|
||||||
|
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
avdd-supply = <&avdd_reg>;
|
||||||
|
cpvdd-supply = <&cpvdd_supply>;
|
||||||
|
realtek,jd-mode = <3>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,82 +0,0 @@
|
||||||
RT5650/RT5645 audio CODEC
|
|
||||||
|
|
||||||
This device supports I2C only.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
|
|
||||||
- compatible : One of "realtek,rt5645" or "realtek,rt5650".
|
|
||||||
|
|
||||||
- reg : The I2C address of the device.
|
|
||||||
|
|
||||||
- interrupts : The CODEC's interrupt output.
|
|
||||||
|
|
||||||
- avdd-supply: Power supply for AVDD, providing 1.8V.
|
|
||||||
|
|
||||||
- cpvdd-supply: Power supply for CPVDD, providing 3.5V.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
|
|
||||||
- hp-detect-gpios:
|
|
||||||
a GPIO spec for the external headphone detect pin. If jd-mode = 0,
|
|
||||||
we will get the JD status by getting the value of hp-detect-gpios.
|
|
||||||
|
|
||||||
- cbj-sleeve-gpios:
|
|
||||||
a GPIO spec to control the external combo jack circuit to tie the sleeve/ring2
|
|
||||||
contacts to the ground or floating. It could avoid some electric noise from the
|
|
||||||
active speaker jacks.
|
|
||||||
|
|
||||||
- realtek,in2-differential
|
|
||||||
Boolean. Indicate MIC2 input are differential, rather than single-ended.
|
|
||||||
|
|
||||||
- realtek,dmic1-data-pin
|
|
||||||
0: dmic1 is not used
|
|
||||||
1: using IN2P pin as dmic1 data pin
|
|
||||||
2: using GPIO6 pin as dmic1 data pin
|
|
||||||
3: using GPIO10 pin as dmic1 data pin
|
|
||||||
4: using GPIO12 pin as dmic1 data pin
|
|
||||||
|
|
||||||
- realtek,dmic2-data-pin
|
|
||||||
0: dmic2 is not used
|
|
||||||
1: using IN2N pin as dmic2 data pin
|
|
||||||
2: using GPIO5 pin as dmic2 data pin
|
|
||||||
3: using GPIO11 pin as dmic2 data pin
|
|
||||||
|
|
||||||
-- realtek,jd-mode : The JD mode of rt5645/rt5650
|
|
||||||
0 : rt5645/rt5650 JD function is not used
|
|
||||||
1 : Mode-0 (VDD=3.3V), two port jack detection
|
|
||||||
2 : Mode-1 (VDD=3.3V), one port jack detection
|
|
||||||
3 : Mode-2 (VDD=1.8V), one port jack detection
|
|
||||||
|
|
||||||
Pins on the device (for linking into audio routes) for RT5645/RT5650:
|
|
||||||
|
|
||||||
* DMIC L1
|
|
||||||
* DMIC R1
|
|
||||||
* DMIC L2
|
|
||||||
* DMIC R2
|
|
||||||
* IN1P
|
|
||||||
* IN1N
|
|
||||||
* IN2P
|
|
||||||
* IN2N
|
|
||||||
* Haptic Generator
|
|
||||||
* HPOL
|
|
||||||
* HPOR
|
|
||||||
* LOUTL
|
|
||||||
* LOUTR
|
|
||||||
* PDM1L
|
|
||||||
* PDM1R
|
|
||||||
* SPOL
|
|
||||||
* SPOR
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
codec: rt5650@1a {
|
|
||||||
compatible = "realtek,rt5650";
|
|
||||||
reg = <0x1a>;
|
|
||||||
hp-detect-gpios = <&gpio 19 0>;
|
|
||||||
cbj-sleeve-gpios = <&gpio 20 0>;
|
|
||||||
interrupt-parent = <&gpio>;
|
|
||||||
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
|
|
||||||
realtek,dmic-en = "true";
|
|
||||||
realtek,en-jd-func = "true";
|
|
||||||
realtek,jd-mode = <3>;
|
|
||||||
};
|
|
Loading…
Add table
Reference in a new issue