xref: /freebsd/sys/contrib/device-tree/Bindings/sound/google,sc7180-trogdor.yaml (revision 31ba4ce8898f9dfa5e7f054fdbc26e50a599a6e3)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/google,sc7180-trogdor.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Google SC7180-Trogdor ASoC sound card driver
8
9maintainers:
10  - Rohit kumar <rohitkr@codeaurora.org>
11  - Cheng-Yi Chiang <cychiang@chromium.org>
12
13description:
14  This binding describes the SC7180 sound card which uses LPASS for audio.
15
16properties:
17  compatible:
18    enum:
19      - google,sc7180-trogdor
20      - google,sc7180-coachz
21
22  audio-routing:
23    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
24    description:
25      A list of the connections between audio components. Each entry is a
26      pair of strings, the first being the connection's sink, the second
27      being the connection's source.
28
29  model:
30    $ref: /schemas/types.yaml#/definitions/string
31    description: User specified audio sound card name
32
33  "#address-cells":
34    const: 1
35
36  "#size-cells":
37    const: 0
38
39  dmic-gpios:
40    maxItems: 1
41    description: GPIO for switching between DMICs
42
43patternProperties:
44  "^dai-link(@[0-9])?$":
45    description:
46      Each subnode represents a dai link. Subnodes of each dai links would be
47      cpu/codec dais.
48
49    type: object
50
51    properties:
52      link-name:
53        description: Indicates dai-link name and PCM stream name.
54        $ref: /schemas/types.yaml#/definitions/string
55        maxItems: 1
56
57      reg:
58        maxItems: 1
59        description: dai link address.
60
61      cpu:
62        description: Holds subnode which indicates cpu dai.
63        type: object
64        properties:
65          sound-dai: true
66
67      codec:
68        description: Holds subnode which indicates codec dai.
69        type: object
70        properties:
71          sound-dai: true
72
73    required:
74      - link-name
75      - cpu
76      - codec
77
78    additionalProperties: false
79
80required:
81  - compatible
82  - model
83  - "#address-cells"
84  - "#size-cells"
85
86additionalProperties: false
87
88examples:
89
90  - |
91    sound {
92        compatible = "google,sc7180-trogdor";
93        model = "sc7180-rt5682-max98357a-2mic";
94
95        audio-routing =
96                    "Headphone Jack", "HPOL",
97                    "Headphone Jack", "HPOR";
98
99        #address-cells = <1>;
100        #size-cells = <0>;
101
102        dmic-gpios = <&tlmm 86 0>;
103
104        dai-link@0 {
105            link-name = "MultiMedia0";
106            reg = <0>;
107            cpu {
108                sound-dai = <&lpass_cpu 0>;
109            };
110
111            codec {
112                sound-dai = <&alc5682 0>;
113            };
114        };
115
116        dai-link@1 {
117            link-name = "MultiMedia1";
118            reg = <1>;
119            cpu {
120                sound-dai = <&lpass_cpu 1>;
121            };
122
123            codec {
124                sound-dai = <&max98357a>;
125            };
126        };
127
128        dai-link@2 {
129            link-name = "MultiMedia2";
130            reg = <2>;
131            cpu {
132                sound-dai = <&lpass_hdmi 0>;
133            };
134
135            codec {
136                sound-dai = <&msm_dp>;
137            };
138        };
139    };
140