1*88dffe43SDavid Heidelberg# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*88dffe43SDavid Heidelberg%YAML 1.2
3*88dffe43SDavid Heidelberg---
4*88dffe43SDavid Heidelberg$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-wm8903.yaml#
5*88dffe43SDavid Heidelberg$schema: http://devicetree.org/meta-schemas/core.yaml#
6*88dffe43SDavid Heidelberg
7*88dffe43SDavid Heidelbergtitle: NVIDIA Tegra audio complex with WM8903 CODEC
8*88dffe43SDavid Heidelberg
9*88dffe43SDavid Heidelbergmaintainers:
10*88dffe43SDavid Heidelberg  - Jon Hunter <jonathanh@nvidia.com>
11*88dffe43SDavid Heidelberg  - Thierry Reding <thierry.reding@gmail.com>
12*88dffe43SDavid Heidelberg
13*88dffe43SDavid HeidelbergallOf:
14*88dffe43SDavid Heidelberg  - $ref: nvidia,tegra-audio-common.yaml#
15*88dffe43SDavid Heidelberg
16*88dffe43SDavid Heidelbergproperties:
17*88dffe43SDavid Heidelberg  compatible:
18*88dffe43SDavid Heidelberg    oneOf:
19*88dffe43SDavid Heidelberg      - items:
20*88dffe43SDavid Heidelberg          - pattern: '^[a-z0-9]+,tegra-audio-wm8903(-[a-z0-9]+)+$'
21*88dffe43SDavid Heidelberg          - const: nvidia,tegra-audio-wm8903
22*88dffe43SDavid Heidelberg      - items:
23*88dffe43SDavid Heidelberg          - pattern: ad,tegra-audio-plutux
24*88dffe43SDavid Heidelberg          - const: nvidia,tegra-audio-wm8903
25*88dffe43SDavid Heidelberg
26*88dffe43SDavid Heidelberg  nvidia,audio-routing:
27*88dffe43SDavid Heidelberg    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
28*88dffe43SDavid Heidelberg    description: |
29*88dffe43SDavid Heidelberg      A list of the connections between audio components.
30*88dffe43SDavid Heidelberg      Each entry is a pair of strings, the first being the connection's sink,
31*88dffe43SDavid Heidelberg      the second being the connection's source. Valid names for sources and
32*88dffe43SDavid Heidelberg      sinks are the pins (documented in the binding document),
33*88dffe43SDavid Heidelberg      and the jacks on the board.
34*88dffe43SDavid Heidelberg    minItems: 2
35*88dffe43SDavid Heidelberg    items:
36*88dffe43SDavid Heidelberg      enum:
37*88dffe43SDavid Heidelberg        # Board Connectors
38*88dffe43SDavid Heidelberg        - "Headphone Jack"
39*88dffe43SDavid Heidelberg        - "Int Spk"
40*88dffe43SDavid Heidelberg        - "Mic Jack"
41*88dffe43SDavid Heidelberg        - "Int Mic"
42*88dffe43SDavid Heidelberg
43*88dffe43SDavid Heidelberg        # CODEC Pins
44*88dffe43SDavid Heidelberg        - IN1L
45*88dffe43SDavid Heidelberg        - IN1R
46*88dffe43SDavid Heidelberg        - IN2L
47*88dffe43SDavid Heidelberg        - IN2R
48*88dffe43SDavid Heidelberg        - IN3L
49*88dffe43SDavid Heidelberg        - IN3R
50*88dffe43SDavid Heidelberg        - DMICDAT
51*88dffe43SDavid Heidelberg        - HPOUTL
52*88dffe43SDavid Heidelberg        - HPOUTR
53*88dffe43SDavid Heidelberg        - LINEOUTL
54*88dffe43SDavid Heidelberg        - LINEOUTR
55*88dffe43SDavid Heidelberg        - LOP
56*88dffe43SDavid Heidelberg        - LON
57*88dffe43SDavid Heidelberg        - ROP
58*88dffe43SDavid Heidelberg        - RON
59*88dffe43SDavid Heidelberg        - MICBIAS
60*88dffe43SDavid Heidelberg
61*88dffe43SDavid Heidelbergrequired:
62*88dffe43SDavid Heidelberg  - nvidia,i2s-controller
63*88dffe43SDavid Heidelberg
64*88dffe43SDavid HeidelbergunevaluatedProperties: false
65*88dffe43SDavid Heidelberg
66*88dffe43SDavid Heidelbergexamples:
67*88dffe43SDavid Heidelberg  - |
68*88dffe43SDavid Heidelberg    sound {
69*88dffe43SDavid Heidelberg        compatible = "nvidia,tegra-audio-wm8903-harmony",
70*88dffe43SDavid Heidelberg                     "nvidia,tegra-audio-wm8903";
71*88dffe43SDavid Heidelberg        nvidia,model = "tegra-wm8903-harmony";
72*88dffe43SDavid Heidelberg
73*88dffe43SDavid Heidelberg        nvidia,audio-routing =
74*88dffe43SDavid Heidelberg                "Headphone Jack", "HPOUTR",
75*88dffe43SDavid Heidelberg                "Headphone Jack", "HPOUTL",
76*88dffe43SDavid Heidelberg                "Int Spk", "ROP",
77*88dffe43SDavid Heidelberg                "Int Spk", "RON",
78*88dffe43SDavid Heidelberg                "Int Spk", "LOP",
79*88dffe43SDavid Heidelberg                "Int Spk", "LON",
80*88dffe43SDavid Heidelberg                "Mic Jack", "MICBIAS",
81*88dffe43SDavid Heidelberg                "IN1L", "Mic Jack";
82*88dffe43SDavid Heidelberg
83*88dffe43SDavid Heidelberg        nvidia,i2s-controller = <&i2s1>;
84*88dffe43SDavid Heidelberg        nvidia,audio-codec = <&wm8903>;
85*88dffe43SDavid Heidelberg
86*88dffe43SDavid Heidelberg        nvidia,spkr-en-gpios = <&codec 2 0>;
87*88dffe43SDavid Heidelberg        nvidia,hp-det-gpios = <&gpio 178 0>;
88*88dffe43SDavid Heidelberg        nvidia,int-mic-en-gpios = <&gpio 184 0>;
89*88dffe43SDavid Heidelberg        nvidia,ext-mic-en-gpios = <&gpio 185 0>;
90*88dffe43SDavid Heidelberg
91*88dffe43SDavid Heidelberg        clocks = <&clk 112>, <&clk 113>, <&clk 93>;
92*88dffe43SDavid Heidelberg        clock-names = "pll_a", "pll_a_out0", "mclk";
93*88dffe43SDavid Heidelberg    };
94