On 31/01/2021 18:41, Ion Agorria wrote:
From: Svyatoslav Ryhel clamor95@gmail.com
Add device-tree binding that describes hardware integration of RT5631 audio codec chip with NVIDIA Tegra SoCs.
Signed-off-by: Svyatoslav Ryhel clamor95@gmail.com Signed-off-by: Ion Agorria ion@agorria.com
.../sound/nvidia,tegra-audio-rt5631.yaml | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.yaml
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.yaml b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.yaml new file mode 100644 index 000000000000..6ee62c599518 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5631.yaml @@ -0,0 +1,134 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +---
+$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-rt5631.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: NVIDIA Tegra RT5631 ASoC
+description: |
- This binding describes integration of the Realtek ALC5631/RT5631 sound
- codec with the sound system of NVIDIA Tegra SoCs.
+maintainers:
- Jon Hunter jonathanh@nvidia.com
- Stephen Warren swarren@nvidia.com
- Thierry Reding thierry.reding@gmail.com
Thierry and I should be sufficient and so no need to include Stephen in the list.
+properties:
- compatible:
- enum:
- nvidia,tegra-audio-rt5631
- clocks:
- minItems: 3
- items:
- description: PLL A clock
- description: PLL A OUT0 clock
- description: The Tegra cdev1/extern1 clock, which feeds the card's mclk
- clock-names:
- minItems: 3
- items:
- const: pll_a
- const: pll_a_out0
- const: mclk
- assigned-clocks:
- minItems: 1
- maxItems: 3
- assigned-clock-parents:
- minItems: 1
- maxItems: 3
- assigned-clock-rates:
- minItems: 1
- maxItems: 3
- nvidia,model:
- $ref: /schemas/types.yaml#/definitions/string
- description: User-visible name of this sound complex.
- nvidia,audio-routing:
- $ref: /schemas/types.yaml#/definitions/non-unique-string-array
- description: |
A list of the connections between audio components.
Each entry is a pair of strings, the first being the connection's sink,
the second being the connection's source. Valid names for sources and
sinks are the RT5631's pins (as documented in its binding), and the jacks
on the board:
* Int Spk
* Headphone Jack
* Mic Jack
* Int Mic
- nvidia,i2s-controller:
- $ref: /schemas/types.yaml#/definitions/phandle
- description: Phandle of the Tegra I2S controller.
- nvidia,audio-codec:
- $ref: /schemas/types.yaml#/definitions/phandle
- description: Phandle of the RT5631 audio codec.
- nvidia,hp-mute-gpios:
- description: GPIO that mutes the headphones (button event).
- maxItems: 1
- nvidia,hp-det-gpios:
- description: GPIO that detects headphones plug-in.
- maxItems: 1
+additionalProperties: false
+required:
- compatible
- clocks
- clock-names
- assigned-clocks
- assigned-clock-parents
- nvidia,model
- nvidia,audio-routing
- nvidia,i2s-controller
- nvidia,audio-codec
+examples:
- |
- #include <dt-bindings/clock/tegra30-car.h>
- #include <dt-bindings/soc/tegra-pmc.h>
- #include <dt-bindings/gpio/gpio.h>
- sound {
compatible = "nvidia,tegra-audio-rt5631";
nvidia,model = "NVIDIA Tegra RT5631";
nvidia,audio-routing =
"Headphone Jack", "HPOL",
"Headphone Jack", "HPOR",
"Int Spk", "SPOL",
"Int Spk", "SPOR",
"MIC1", "MIC Bias1",
"MIC Bias1", "Mic Jack",
"DMIC", "Int Mic";
nvidia,i2s-controller = <&tegra_i2s1>;
nvidia,audio-codec = <&rt5631>;
nvidia,hp-det-gpios = <&gpio 178 GPIO_ACTIVE_LOW>;
nvidia,hp-mute-gpios = <&gpio 186 GPIO_ACTIVE_LOW>;
clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
<&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
<&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
clock-names = "pll_a", "pll_a_out0", "mclk";
assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>,
<&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA30_CLK_EXTERN1>;
- };
+...
Otherwise looks good to me ...
Reviewed-by: Jon Hunter jonathanh@nvidia.com
Cheers Jon