[PATCH v1 1/2] ASoC: dt-bindings: tegra: Add binding for RT5631
Ion Agorria
AG0RRIA at yahoo.com
Sun Jan 31 19:41:00 CET 2021
From: Svyatoslav Ryhel <clamor95 at 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 at gmail.com>
Signed-off-by: Ion Agorria <ion at 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 at nvidia.com>
+ - Stephen Warren <swarren at nvidia.com>
+ - Thierry Reding <thierry.reding at gmail.com>
+
+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>;
+ };
+
+...
--
2.26.2
More information about the Alsa-devel
mailing list