188dffe43SDavid Heidelberg# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
288dffe43SDavid Heidelberg%YAML 1.2
388dffe43SDavid Heidelberg---
488dffe43SDavid Heidelberg$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-wm8903.yaml#
588dffe43SDavid Heidelberg$schema: http://devicetree.org/meta-schemas/core.yaml#
688dffe43SDavid Heidelberg
788dffe43SDavid Heidelbergtitle: NVIDIA Tegra audio complex with WM8903 CODEC
888dffe43SDavid Heidelberg
988dffe43SDavid Heidelbergmaintainers:
1088dffe43SDavid Heidelberg  - Jon Hunter <jonathanh@nvidia.com>
1188dffe43SDavid Heidelberg  - Thierry Reding <thierry.reding@gmail.com>
1288dffe43SDavid Heidelberg
1388dffe43SDavid HeidelbergallOf:
1488dffe43SDavid Heidelberg  - $ref: nvidia,tegra-audio-common.yaml#
1588dffe43SDavid Heidelberg
1688dffe43SDavid Heidelbergproperties:
1788dffe43SDavid Heidelberg  compatible:
1888dffe43SDavid Heidelberg    oneOf:
1988dffe43SDavid Heidelberg      - items:
2088dffe43SDavid Heidelberg          - pattern: '^[a-z0-9]+,tegra-audio-wm8903(-[a-z0-9]+)+$'
2188dffe43SDavid Heidelberg          - const: nvidia,tegra-audio-wm8903
2288dffe43SDavid Heidelberg      - items:
2388dffe43SDavid Heidelberg          - pattern: ad,tegra-audio-plutux
2488dffe43SDavid Heidelberg          - const: nvidia,tegra-audio-wm8903
2588dffe43SDavid Heidelberg
2688dffe43SDavid Heidelberg  nvidia,audio-routing:
2788dffe43SDavid Heidelberg    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
2888dffe43SDavid Heidelberg    description: |
2988dffe43SDavid Heidelberg      A list of the connections between audio components.
3088dffe43SDavid Heidelberg      Each entry is a pair of strings, the first being the connection's sink,
3188dffe43SDavid Heidelberg      the second being the connection's source. Valid names for sources and
3288dffe43SDavid Heidelberg      sinks are the pins (documented in the binding document),
3388dffe43SDavid Heidelberg      and the jacks on the board.
3488dffe43SDavid Heidelberg    minItems: 2
3588dffe43SDavid Heidelberg    items:
3688dffe43SDavid Heidelberg      enum:
3788dffe43SDavid Heidelberg        # Board Connectors
38*d9e909e2SRob Herring        - Headphone Jack
39*d9e909e2SRob Herring        - Int Spk
40*d9e909e2SRob Herring        - Mic Jack
41*d9e909e2SRob Herring        - Int Mic
4288dffe43SDavid Heidelberg
4388dffe43SDavid Heidelberg        # CODEC Pins
4488dffe43SDavid Heidelberg        - IN1L
4588dffe43SDavid Heidelberg        - IN1R
4688dffe43SDavid Heidelberg        - IN2L
4788dffe43SDavid Heidelberg        - IN2R
4888dffe43SDavid Heidelberg        - IN3L
4988dffe43SDavid Heidelberg        - IN3R
5088dffe43SDavid Heidelberg        - DMICDAT
5188dffe43SDavid Heidelberg        - HPOUTL
5288dffe43SDavid Heidelberg        - HPOUTR
5388dffe43SDavid Heidelberg        - LINEOUTL
5488dffe43SDavid Heidelberg        - LINEOUTR
5588dffe43SDavid Heidelberg        - LOP
5688dffe43SDavid Heidelberg        - LON
5788dffe43SDavid Heidelberg        - ROP
5888dffe43SDavid Heidelberg        - RON
5988dffe43SDavid Heidelberg        - MICBIAS
6088dffe43SDavid Heidelberg
6188dffe43SDavid Heidelbergrequired:
6288dffe43SDavid Heidelberg  - nvidia,i2s-controller
6388dffe43SDavid Heidelberg
6488dffe43SDavid HeidelbergunevaluatedProperties: false
6588dffe43SDavid Heidelberg
6688dffe43SDavid Heidelbergexamples:
6788dffe43SDavid Heidelberg  - |
6888dffe43SDavid Heidelberg    sound {
6988dffe43SDavid Heidelberg        compatible = "nvidia,tegra-audio-wm8903-harmony",
7088dffe43SDavid Heidelberg                     "nvidia,tegra-audio-wm8903";
7188dffe43SDavid Heidelberg        nvidia,model = "tegra-wm8903-harmony";
7288dffe43SDavid Heidelberg
7388dffe43SDavid Heidelberg        nvidia,audio-routing =
7488dffe43SDavid Heidelberg                "Headphone Jack", "HPOUTR",
7588dffe43SDavid Heidelberg                "Headphone Jack", "HPOUTL",
7688dffe43SDavid Heidelberg                "Int Spk", "ROP",
7788dffe43SDavid Heidelberg                "Int Spk", "RON",
7888dffe43SDavid Heidelberg                "Int Spk", "LOP",
7988dffe43SDavid Heidelberg                "Int Spk", "LON",
8088dffe43SDavid Heidelberg                "Mic Jack", "MICBIAS",
8188dffe43SDavid Heidelberg                "IN1L", "Mic Jack";
8288dffe43SDavid Heidelberg
8388dffe43SDavid Heidelberg        nvidia,i2s-controller = <&i2s1>;
8488dffe43SDavid Heidelberg        nvidia,audio-codec = <&wm8903>;
8588dffe43SDavid Heidelberg
8688dffe43SDavid Heidelberg        nvidia,spkr-en-gpios = <&codec 2 0>;
8788dffe43SDavid Heidelberg        nvidia,hp-det-gpios = <&gpio 178 0>;
8888dffe43SDavid Heidelberg        nvidia,int-mic-en-gpios = <&gpio 184 0>;
8988dffe43SDavid Heidelberg        nvidia,ext-mic-en-gpios = <&gpio 185 0>;
9088dffe43SDavid Heidelberg
9188dffe43SDavid Heidelberg        clocks = <&clk 112>, <&clk 113>, <&clk 93>;
9288dffe43SDavid Heidelberg        clock-names = "pll_a", "pll_a_out0", "mclk";
9388dffe43SDavid Heidelberg    };
94