xref: /linux/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8962.yaml (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
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-wm8962.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: NVIDIA Tegra audio complex with WM8962 CODEC
8
9maintainers:
10  - Svyatoslav Ryhel <clamor95@gmail.com>
11
12allOf:
13  - $ref: nvidia,tegra-audio-common.yaml#
14
15properties:
16  compatible:
17    items:
18      - pattern: '^[a-z0-9]+,tegra-audio-wm8962(-[a-z0-9]+)+$'
19      - const: nvidia,tegra-audio-wm8962
20
21  nvidia,audio-routing:
22    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
23    description:
24      A list of the connections between audio components. Each entry is a
25      pair of strings, the first being the connection's sink, the second
26      being the connection's source. Valid names for sources and sinks are
27      the pins (documented in the binding document), and the jacks on the
28      board.
29    minItems: 2
30    items:
31      enum:
32        # Board Connectors
33        - Speakers
34        - Int Spk
35        - Earpiece
36        - Int Mic
37        - Headset Mic
38        - Internal Mic 1
39        - Internal Mic 2
40        - Headphone
41        - Headphones
42        - Headphone Jack
43        - Mic Jack
44
45        # CODEC Pins
46        - IN1L
47        - IN1R
48        - IN2L
49        - IN2R
50        - IN3L
51        - IN3R
52        - IN4L
53        - IN4R
54        - DMICDAT
55        - HPOUTL
56        - HPOUTR
57        - SPKOUT
58        - SPKOUTL
59        - SPKOUTR
60
61required:
62  - nvidia,i2s-controller
63
64unevaluatedProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/clock/tegra30-car.h>
69    #include <dt-bindings/soc/tegra-pmc.h>
70    sound {
71        compatible = "microsoft,tegra-audio-wm8962-surface-rt",
72                     "nvidia,tegra-audio-wm8962";
73        nvidia,model = "Microsoft Surface RT WM8962";
74
75        nvidia,audio-routing =
76                "Headphone Jack", "HPOUTR",
77                "Headphone Jack", "HPOUTL",
78                "Int Spk", "SPKOUTR",
79                "Int Spk", "SPKOUTL";
80
81        nvidia,i2s-controller = <&tegra_i2s1>;
82        nvidia,audio-codec = <&wm8962>;
83
84        clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
85                 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
86                 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
87        clock-names = "pll_a", "pll_a_out0", "mclk";
88    };
89