blob: 69ddfd4afdcdf2cc62e294da3f65eadf109d3a94 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/sound/samsung,midas-audio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung Midas audio complex with WM1811 codec
8
9maintainers:
10 - Sylwester Nawrocki <s.nawrocki@samsung.com>
11
12allOf:
13 - $ref: sound-card-common.yaml#
14
15properties:
16 compatible:
17 const: samsung,midas-audio
18
19 cpu:
20 type: object
21 additionalProperties: false
22 properties:
23 sound-dai:
24 maxItems: 1
25 description: phandle to the I2S controller
26 required:
27 - sound-dai
28
29 codec:
30 type: object
31 additionalProperties: false
32 properties:
33 sound-dai:
34 maxItems: 1
35 description: phandle to the WM1811 CODEC
36 required:
37 - sound-dai
38
39 samsung,audio-routing:
40 deprecated: true
41 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
42 description: |
43 List of the connections between audio components; each entry is
44 a pair of strings, the first being the connection's sink, the second
45 being the connection's source; valid names for sources and sinks are
46 the WM1811's pins (as documented in its binding), and the jacks
47 on the board: HP, SPK, Main Mic, Sub Mic, Headset Mic.
48 Deprecated, use audio-routing.
49
50 mic-bias-supply:
51 description: Supply for the micbias on the Main microphone
52
53 submic-bias-supply:
54 description: Supply for the micbias on the Sub microphone
55
Tom Rini6b642ac2024-10-01 12:20:28 -060056 headset-mic-bias-supply:
57 description: Supply for the micbias on the Headset microphone
58
Tom Rini53633a82024-02-29 12:33:36 -050059 fm-sel-gpios:
60 maxItems: 1
61 description: GPIO pin for FM selection
62
63 lineout-sel-gpios:
64 maxItems: 1
65 description: GPIO pin for line out selection
66
Tom Rini6b642ac2024-10-01 12:20:28 -060067 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
82 samsung,headset-4pole-threshold-microvolt:
83 minItems: 2
84 maxItems: 2
85 description:
86 Array containing minimum and maximum IO channel value for 4-pole
87 (with microphone/button) headsets. If the IO channel value is
88 outside of this range, a 3-pole headset is assumed.
89
90 samsung,headset-button-threshold-microvolt:
91 minItems: 3
92 maxItems: 3
93 description: |
94 Array of minimum (inclusive) IO channel values for headset button
95 detection, in order: "Media", "Volume Up" and "Volume Down".
96
Tom Rini53633a82024-02-29 12:33:36 -050097required:
98 - compatible
99 - cpu
100 - codec
101 - audio-routing
102 - mic-bias-supply
103 - submic-bias-supply
104
105unevaluatedProperties: false
106
107examples:
108 - |
109 #include <dt-bindings/gpio/gpio.h>
110
111 sound {
112 compatible = "samsung,midas-audio";
113 model = "Midas";
114
115 fm-sel-gpios = <&gpaa0 3 GPIO_ACTIVE_HIGH>;
116
117 mic-bias-supply = <&mic_bias_reg>;
118 submic-bias-supply = <&submic_bias_reg>;
119
120 audio-routing =
121 "HP", "HPOUT1L",
122 "HP", "HPOUT1R",
123
124 "SPK", "SPKOUTLN",
125 "SPK", "SPKOUTLP",
126 "SPK", "SPKOUTRN",
127 "SPK", "SPKOUTRP",
128
129 "RCV", "HPOUT2N",
130 "RCV", "HPOUT2P",
131
132 "IN1LP", "Main Mic",
133 "IN1LN", "Main Mic",
134 "IN1RP", "Sub Mic",
135 "IN1LP", "Sub Mic";
136
137 cpu {
138 sound-dai = <&i2s0>;
139 };
140
141 codec {
142 sound-dai = <&wm1811>;
143 };
144
145 };