Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / samsung,aries-wm8994.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/samsung,aries-wm8994.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Samsung Aries audio complex with WM8994 codec
8
9 maintainers:
10   - Jonathan Bakker <xc-racer2@live.ca>
11
12 allOf:
13   - $ref: sound-card-common.yaml#
14
15 properties:
16   compatible:
17     enum:
18       # With FM radio and modem master
19       - samsung,aries-wm8994
20       # Without FM radio and modem slave
21       - samsung,fascinate4g-wm8994
22
23   cpu:
24     type: object
25     additionalProperties: false
26     properties:
27       sound-dai:
28         minItems: 2
29         maxItems: 2
30         description: |
31           phandles to the I2S controller and bluetooth codec,
32           in that order
33     required:
34       - sound-dai
35
36   codec:
37     additionalProperties: false
38     type: object
39     properties:
40       sound-dai:
41         maxItems: 1
42         description: phandle to the WM8994 CODEC
43     required:
44       - sound-dai
45
46   samsung,audio-routing:
47     $ref: /schemas/types.yaml#/definitions/non-unique-string-array
48     deprecated: true
49     description: |
50       List of the connections between audio
51       components;  each entry is a pair of strings, the first being the
52       connection's sink, the second being the connection's source;
53       valid names for sources and sinks are the WM8994's pins (as
54       documented in its binding), and the jacks on the board -
55       For samsung,aries-wm8994: HP, SPK, RCV, LINE, Main Mic, Headset Mic,
56       or FM In
57       For samsung,fascinate4g-wm8994: HP, SPK, RCV, LINE, Main Mic,
58       or HeadsetMic
59       Deprecated, use audio-routing.
60
61   extcon:
62     description: Extcon phandle for dock detection
63
64   main-micbias-supply:
65     description: Supply for the micbias on the main mic
66
67   headset-micbias-supply:
68     description: Supply for the micbias on the headset mic
69
70   earpath-sel-gpios:
71     maxItems: 1
72     description: GPIO for switching between tv-out and mic paths
73
74   headset-detect-gpios:
75     maxItems: 1
76     description: GPIO for detection of headset insertion
77
78   headset-key-gpios:
79     maxItems: 1
80     description: GPIO for detection of headset key press
81
82   io-channels:
83     maxItems: 1
84     description: IO channel to read micbias voltage for headset detection
85
86   io-channel-names:
87     const: headset-detect
88
89 required:
90   - compatible
91   - cpu
92   - codec
93   - audio-routing
94   - extcon
95   - main-micbias-supply
96   - headset-micbias-supply
97   - earpath-sel-gpios
98   - headset-detect-gpios
99   - headset-key-gpios
100
101 unevaluatedProperties: false
102
103 examples:
104   - |
105     #include <dt-bindings/gpio/gpio.h>
106
107     sound {
108         compatible = "samsung,fascinate4g-wm8994";
109
110         model = "Fascinate4G";
111
112         extcon = <&fsa9480>;
113
114         main-micbias-supply = <&main_micbias_reg>;
115         headset-micbias-supply = <&headset_micbias_reg>;
116
117         earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>;
118
119         io-channels = <&adc 3>;
120         io-channel-names = "headset-detect";
121         headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>;
122         headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>;
123
124         audio-routing =
125             "HP", "HPOUT1L",
126             "HP", "HPOUT1R",
127
128             "SPK", "SPKOUTLN",
129             "SPK", "SPKOUTLP",
130
131             "RCV", "HPOUT2N",
132             "RCV", "HPOUT2P",
133
134             "LINE", "LINEOUT2N",
135             "LINE", "LINEOUT2P",
136
137             "IN1LP", "Main Mic",
138             "IN1LN", "Main Mic",
139
140             "IN1RP", "Headset Mic",
141             "IN1RN", "Headset Mic";
142
143         pinctrl-names = "default";
144         pinctrl-0 = <&headset_det &earpath_sel>;
145
146         cpu {
147             sound-dai = <&i2s0>, <&bt_codec>;
148         };
149
150         codec {
151             sound-dai = <&wm8994>;
152         };
153     };