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