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