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

Convert the RT5640/RT5639 audio CODEC bindings to DT schema.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20240911-topic-amlogic-arm32-upstream-bindings-fixes-covert-realtek-rt5640-v1-1-6b3745e34540@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Neil Armstrong 2024-09-11 17:34:01 +02:00 committed by Mark Brown
parent bbeffdda5f
commit eba5a0bac2
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0
2 changed files with 146 additions and 97 deletions

View file

@ -0,0 +1,146 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/realtek,rt5640.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: RT5640/RT5639 audio CODEC
maintainers:
- Neil Armstrong <neil.armstrong@linaro.org>
description: |
This device supports I2C only.
Pins on the device (for linking into audio routes) for RT5639/RT5640:
* DMIC1
* DMIC2
* MICBIAS1
* IN1P
* IN1N
* IN2P
* IN2N
* IN3P
* IN3N
* HPOL
* HPOR
* LOUTL
* LOUTR
* SPOLP
* SPOLN
* SPORP
* SPORN
Additional pins on the device for RT5640:
* MONOP
* MONON
allOf:
- $ref: dai-common.yaml#
properties:
compatible:
enum:
- realtek,rt5640
- realtek,rt5639
reg:
maxItems: 1
interrupts:
maxItems: 1
description: The CODEC's interrupt output.
realtek,in1-differential:
description:
Indicate MIC1 input is differential, rather than single-ended.
type: boolean
realtek,in2-differential:
description:
Indicate MIC2 input is differential, rather than single-ended.
type: boolean
realtek,in3-differential:
description:
Indicate MIC3 input is differential, rather than single-ended.
type: boolean
realtek,lout-differential:
description:
Indicate LOUT output is 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 GPIO3 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 GPIO4 pin as dmic2 data pin
realtek,jack-detect-source:
description: The Jack Detect source.
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # Jack Detect function is not used
- 1 # Use GPIO1 for jack-detect
- 2 # Use JD1_IN4P for jack-detect
- 3 # Use JD2_IN4N for jack-detect
- 4 # Use GPIO2 for jack-detect
- 5 # Use GPIO3 for jack-detect
- 6 # Use GPIO4 for jack-detect
realtek,jack-detect-not-inverted:
description:
Normal jack-detect switches give an inverted signal, set this bool
in the rare case you've a jack-detect switch which is not inverted.
type: boolean
realtek,over-current-threshold-microamp:
description: micbias over-current detection threshold in µA
enum:
- 600
- 1500
- 2000
realtek,over-current-scale-factor:
description: micbias over-current detection scale-factor
$ref: /schemas/types.yaml#/definitions/uint32
enum:
- 0 # Scale current by 0.5
- 1 # Scale current by 0.75
- 2 # Scale current by 1.0
- 3 # Scale current by 1.5
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@1a {
compatible = "realtek,rt5640";
reg = <0x1a>;
interrupt-parent = <&gpio>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
};
};

View file

@ -1,97 +0,0 @@
RT5640/RT5639 audio CODEC
This device supports I2C only.
Required properties:
- compatible : One of "realtek,rt5640" or "realtek,rt5639".
- 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,in2-differential
- realtek,in3-differential
Boolean. Indicate MIC1/2/3 input are differential, rather than single-ended.
- realtek,lout-differential
Boolean. Indicate LOUT output is differential, rather than stereo.
- realtek,ldo1-en-gpios : The GPIO that controls the CODEC's LDO1_EN pin.
- realtek,dmic1-data-pin
0: dmic1 is not used
1: using IN1P pin as dmic1 data pin
2: using GPIO3 pin as dmic1 data pin
- realtek,dmic2-data-pin
0: dmic2 is not used
1: using IN1N pin as dmic2 data pin
2: using GPIO4 pin as dmic2 data pin
- realtek,jack-detect-source
u32. Valid values:
0: jack-detect is not used
1: Use GPIO1 for jack-detect
2: Use JD1_IN4P for jack-detect
3: Use JD2_IN4N for jack-detect
4: Use GPIO2 for jack-detect
5: Use GPIO3 for jack-detect
6: Use GPIO4 for jack-detect
- realtek,jack-detect-not-inverted
bool. Normal jack-detect switches give an inverted signal, set this bool
in the rare case you've a jack-detect switch which is not inverted.
- realtek,over-current-threshold-microamp
u32, micbias over-current detection threshold in µA, valid values are
600, 1500 and 2000µA.
- realtek,over-current-scale-factor
u32, micbias over-current detection scale-factor, valid values are:
0: Scale current by 0.5
1: Scale current by 0.75
2: Scale current by 1.0
3: Scale current by 1.5
Pins on the device (for linking into audio routes) for RT5639/RT5640:
* DMIC1
* DMIC2
* MICBIAS1
* IN1P
* IN1N
* IN2P
* IN2N
* IN3P
* IN3N
* HPOL
* HPOR
* LOUTL
* LOUTR
* SPOLP
* SPOLN
* SPORP
* SPORN
Additional pins on the device for RT5640:
* MONOP
* MONON
Example:
rt5640 {
compatible = "realtek,rt5640";
reg = <0x1c>;
interrupt-parent = <&gpio>;
interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_HIGH>;
realtek,ldo1-en-gpios =
<&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
};