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
7title: Samsung Aries audio complex with WM8994 codec
8
9maintainers:
10  - Jonathan Bakker <xc-racer2@live.ca>
11
12properties:
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    description: GPIO for switching between tv-out and mic paths
66
67  headset-detect-gpios:
68    description: GPIO for detection of headset insertion
69
70  headset-key-gpios:
71    description: GPIO for detection of headset key press
72
73  io-channels:
74    maxItems: 1
75    description: IO channel to read micbias voltage for headset detection
76
77  io-channel-names:
78    const: headset-detect
79
80required:
81  - compatible
82  - model
83  - cpu
84  - codec
85  - samsung,audio-routing
86  - extcon
87  - main-micbias-supply
88  - headset-micbias-supply
89  - earpath-sel-gpios
90  - headset-detect-gpios
91  - headset-key-gpios
92
93additionalProperties: false
94
95examples:
96  - |
97    #include <dt-bindings/gpio/gpio.h>
98
99    sound {
100        compatible = "samsung,fascinate4g-wm8994";
101
102        model = "Fascinate4G";
103
104        extcon = <&fsa9480>;
105
106        main-micbias-supply = <&main_micbias_reg>;
107        headset-micbias-supply = <&headset_micbias_reg>;
108
109        earpath-sel-gpios = <&gpj2 6 GPIO_ACTIVE_HIGH>;
110
111        io-channels = <&adc 3>;
112        io-channel-names = "headset-detect";
113        headset-detect-gpios = <&gph0 6 GPIO_ACTIVE_HIGH>;
114        headset-key-gpios = <&gph3 6 GPIO_ACTIVE_HIGH>;
115
116        samsung,audio-routing =
117            "HP", "HPOUT1L",
118            "HP", "HPOUT1R",
119
120            "SPK", "SPKOUTLN",
121            "SPK", "SPKOUTLP",
122
123            "RCV", "HPOUT2N",
124            "RCV", "HPOUT2P",
125
126            "LINE", "LINEOUT2N",
127            "LINE", "LINEOUT2P",
128
129            "IN1LP", "Main Mic",
130            "IN1LN", "Main Mic",
131
132            "IN1RP", "Headset Mic",
133            "IN1RN", "Headset Mic";
134
135        pinctrl-names = "default";
136        pinctrl-0 = <&headset_det &earpath_sel>;
137
138        cpu {
139            sound-dai = <&i2s0>, <&bt_codec>;
140        };
141
142        codec {
143            sound-dai = <&wm8994>;
144        };
145    };
146
147