1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-rt5631.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NVIDIA Tegra audio complex with RT5631 CODEC
8
9maintainers:
10  - Jon Hunter <jonathanh@nvidia.com>
11  - Thierry Reding <thierry.reding@gmail.com>
12
13allOf:
14  - $ref: nvidia,tegra-audio-common.yaml#
15
16properties:
17  compatible:
18    items:
19      - pattern: '^[a-z0-9]+,tegra-audio-rt5631(-[a-z0-9]+)+$'
20      - const: nvidia,tegra-audio-rt5631
21
22  nvidia,audio-routing:
23    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
24    description: |
25      A list of the connections between audio components.
26      Each entry is a pair of strings, the first being the connection's sink,
27      the second being the connection's source. Valid names for sources and
28      sinks are the pins (documented in the binding document),
29      and the jacks on the board.
30    minItems: 2
31    items:
32      enum:
33        # Board Connectors
34        - Int Spk
35        - Headphone Jack
36        - Mic Jack
37        - Int Mic
38
39        # CODEC Pins
40        - MIC1
41        - MIC2
42        - AXIL
43        - AXIR
44        - MONOIN_RXN
45        - MONOIN_RXP
46        - DMIC
47        - MIC Bias1
48        - MIC Bias2
49        - MONO_IN
50        - AUXO1
51        - AUXO2
52        - SPOL
53        - SPOR
54        - HPOL
55        - HPOR
56        - MONO
57
58unevaluatedProperties: false
59
60examples:
61  - |
62    #include <dt-bindings/clock/tegra30-car.h>
63    #include <dt-bindings/soc/tegra-pmc.h>
64    sound {
65        compatible = "asus,tegra-audio-rt5631-tf700t",
66                     "nvidia,tegra-audio-rt5631";
67        nvidia,model = "Asus Transformer Infinity TF700T RT5631";
68
69        nvidia,audio-routing =
70                "Headphone Jack", "HPOL",
71                "Headphone Jack", "HPOR",
72                "Int Spk", "SPOL",
73                "Int Spk", "SPOR",
74                "MIC1", "MIC Bias1",
75                "MIC Bias1", "Mic Jack",
76                "DMIC", "Int Mic";
77
78        nvidia,i2s-controller = <&tegra_i2s1>;
79        nvidia,audio-codec = <&rt5631>;
80
81        clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
82                 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
83                 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
84        clock-names = "pll_a", "pll_a_out0", "mclk";
85    };
86