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-rt5640.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NVIDIA Tegra audio complex with RT5639 or RT5640 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-rt56(39|40)(-[a-z0-9]+)+$'
20      - const: nvidia,tegra-audio-rt5640
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        - "Headphones"
35        - "Speakers"
36        - "Mic Jack"
37
38        # CODEC Pins
39        - DMIC1
40        - DMIC2
41        - MICBIAS1
42        - IN1P
43        - IN1R
44        - IN2P
45        - IN2R
46        - HPOL
47        - HPOR
48        - LOUTL
49        - LOUTR
50        - MONOP
51        - MONON
52        - SPOLP
53        - SPOLN
54        - SPORP
55        - SPORN
56
57required:
58  - nvidia,i2s-controller
59
60unevaluatedProperties: false
61
62examples:
63  - |
64    sound {
65        compatible = "nvidia,tegra-audio-rt5640-dalmore",
66                     "nvidia,tegra-audio-rt5640";
67        nvidia,model = "NVIDIA Tegra Dalmore";
68
69        nvidia,audio-routing =
70                "Headphones", "HPOR",
71                "Headphones", "HPOL",
72                "Speakers", "SPORP",
73                "Speakers", "SPORN",
74                "Speakers", "SPOLP",
75                "Speakers", "SPOLN";
76
77        nvidia,i2s-controller = <&tegra_i2s1>;
78        nvidia,audio-codec = <&rt5640>;
79
80        nvidia,hp-det-gpios = <&gpio 143 0>;
81
82        clocks = <&clk 216>, <&clk 217>, <&clk 120>;
83        clock-names = "pll_a", "pll_a_out0", "mclk";
84    };
85