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