xref: /linux/Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1f61d06aeSSylwester Nawrocki# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2f61d06aeSSylwester Nawrocki%YAML 1.2
3f61d06aeSSylwester Nawrocki---
4f61d06aeSSylwester Nawrocki$id: http://devicetree.org/schemas/sound/samsung,midas-audio.yaml#
5f61d06aeSSylwester Nawrocki$schema: http://devicetree.org/meta-schemas/core.yaml#
6f61d06aeSSylwester Nawrocki
7f61d06aeSSylwester Nawrockititle: Samsung Midas audio complex with WM1811 codec
8f61d06aeSSylwester Nawrocki
9f61d06aeSSylwester Nawrockimaintainers:
10f61d06aeSSylwester Nawrocki  - Sylwester Nawrocki <s.nawrocki@samsung.com>
11f61d06aeSSylwester Nawrocki
12e1d77644SKrzysztof KozlowskiallOf:
13e1d77644SKrzysztof Kozlowski  - $ref: sound-card-common.yaml#
14e1d77644SKrzysztof Kozlowski
15f61d06aeSSylwester Nawrockiproperties:
16f61d06aeSSylwester Nawrocki  compatible:
17f61d06aeSSylwester Nawrocki    const: samsung,midas-audio
18f61d06aeSSylwester Nawrocki
19f61d06aeSSylwester Nawrocki  cpu:
20f61d06aeSSylwester Nawrocki    type: object
219e10a1deSRob Herring    additionalProperties: false
22f61d06aeSSylwester Nawrocki    properties:
23f61d06aeSSylwester Nawrocki      sound-dai:
243e7ba1c0SKrzysztof Kozlowski        maxItems: 1
25f61d06aeSSylwester Nawrocki        description: phandle to the I2S controller
26f61d06aeSSylwester Nawrocki    required:
27f61d06aeSSylwester Nawrocki      - sound-dai
28f61d06aeSSylwester Nawrocki
29f61d06aeSSylwester Nawrocki  codec:
30f61d06aeSSylwester Nawrocki    type: object
319e10a1deSRob Herring    additionalProperties: false
32f61d06aeSSylwester Nawrocki    properties:
33f61d06aeSSylwester Nawrocki      sound-dai:
343e7ba1c0SKrzysztof Kozlowski        maxItems: 1
35f61d06aeSSylwester Nawrocki        description: phandle to the WM1811 CODEC
36f61d06aeSSylwester Nawrocki    required:
37f61d06aeSSylwester Nawrocki      - sound-dai
38f61d06aeSSylwester Nawrocki
39f61d06aeSSylwester Nawrocki  samsung,audio-routing:
40e1d77644SKrzysztof Kozlowski    deprecated: true
41f61d06aeSSylwester Nawrocki    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
42f61d06aeSSylwester Nawrocki    description: |
43f61d06aeSSylwester Nawrocki      List of the connections between audio components; each entry is
44f61d06aeSSylwester Nawrocki      a pair of strings, the first being the connection's sink, the second
45f61d06aeSSylwester Nawrocki      being the connection's source; valid names for sources and sinks are
46f61d06aeSSylwester Nawrocki      the WM1811's pins (as documented in its binding), and the jacks
47f61d06aeSSylwester Nawrocki      on the board: HP, SPK, Main Mic, Sub Mic, Headset Mic.
48e1d77644SKrzysztof Kozlowski      Deprecated, use audio-routing.
49f61d06aeSSylwester Nawrocki
50f61d06aeSSylwester Nawrocki  mic-bias-supply:
51f61d06aeSSylwester Nawrocki    description: Supply for the micbias on the Main microphone
52f61d06aeSSylwester Nawrocki
53f61d06aeSSylwester Nawrocki  submic-bias-supply:
54f61d06aeSSylwester Nawrocki    description: Supply for the micbias on the Sub microphone
55f61d06aeSSylwester Nawrocki
56278343bbSArtur Weber  headset-mic-bias-supply:
57278343bbSArtur Weber    description: Supply for the micbias on the Headset microphone
58278343bbSArtur Weber
59f61d06aeSSylwester Nawrocki  fm-sel-gpios:
600499220dSRob Herring    maxItems: 1
61f61d06aeSSylwester Nawrocki    description: GPIO pin for FM selection
62f61d06aeSSylwester Nawrocki
63f61d06aeSSylwester Nawrocki  lineout-sel-gpios:
640499220dSRob Herring    maxItems: 1
65f61d06aeSSylwester Nawrocki    description: GPIO pin for line out selection
66f61d06aeSSylwester Nawrocki
67*0a590eccSArtur Weber  headset-detect-gpios:
68*0a590eccSArtur Weber    maxItems: 1
69*0a590eccSArtur Weber    description: GPIO for detection of headset insertion
70*0a590eccSArtur Weber
71*0a590eccSArtur Weber  headset-key-gpios:
72*0a590eccSArtur Weber    maxItems: 1
73*0a590eccSArtur Weber    description: GPIO for detection of headset key press
74*0a590eccSArtur Weber
75*0a590eccSArtur Weber  io-channels:
76*0a590eccSArtur Weber    maxItems: 1
77*0a590eccSArtur Weber    description: IO channel to read micbias voltage for headset detection
78*0a590eccSArtur Weber
79*0a590eccSArtur Weber  io-channel-names:
80*0a590eccSArtur Weber    const: headset-detect
81*0a590eccSArtur Weber
82*0a590eccSArtur Weber  samsung,headset-4pole-threshold-microvolt:
83*0a590eccSArtur Weber    minItems: 2
84*0a590eccSArtur Weber    maxItems: 2
85*0a590eccSArtur Weber    description:
86*0a590eccSArtur Weber      Array containing minimum and maximum IO channel value for 4-pole
87*0a590eccSArtur Weber      (with microphone/button) headsets. If the IO channel value is
88*0a590eccSArtur Weber      outside of this range, a 3-pole headset is assumed.
89*0a590eccSArtur Weber
90*0a590eccSArtur Weber  samsung,headset-button-threshold-microvolt:
91*0a590eccSArtur Weber    minItems: 3
92*0a590eccSArtur Weber    maxItems: 3
93*0a590eccSArtur Weber    description: |
94*0a590eccSArtur Weber      Array of minimum (inclusive) IO channel values for headset button
95*0a590eccSArtur Weber      detection, in order: "Media", "Volume Up" and "Volume Down".
96*0a590eccSArtur Weber
97f61d06aeSSylwester Nawrockirequired:
98f61d06aeSSylwester Nawrocki  - compatible
99f61d06aeSSylwester Nawrocki  - cpu
100f61d06aeSSylwester Nawrocki  - codec
101e1d77644SKrzysztof Kozlowski  - audio-routing
102f61d06aeSSylwester Nawrocki  - mic-bias-supply
103f61d06aeSSylwester Nawrocki  - submic-bias-supply
104f61d06aeSSylwester Nawrocki
105e1d77644SKrzysztof KozlowskiunevaluatedProperties: false
106f61d06aeSSylwester Nawrocki
107f61d06aeSSylwester Nawrockiexamples:
108f61d06aeSSylwester Nawrocki  - |
109f61d06aeSSylwester Nawrocki    #include <dt-bindings/gpio/gpio.h>
110f61d06aeSSylwester Nawrocki
111f61d06aeSSylwester Nawrocki    sound {
112f61d06aeSSylwester Nawrocki        compatible = "samsung,midas-audio";
113f61d06aeSSylwester Nawrocki        model = "Midas";
114f61d06aeSSylwester Nawrocki
115f61d06aeSSylwester Nawrocki        fm-sel-gpios = <&gpaa0 3 GPIO_ACTIVE_HIGH>;
116f61d06aeSSylwester Nawrocki
117f61d06aeSSylwester Nawrocki        mic-bias-supply = <&mic_bias_reg>;
118f61d06aeSSylwester Nawrocki        submic-bias-supply = <&submic_bias_reg>;
119f61d06aeSSylwester Nawrocki
120e1d77644SKrzysztof Kozlowski        audio-routing =
121f61d06aeSSylwester Nawrocki                "HP", "HPOUT1L",
122f61d06aeSSylwester Nawrocki                "HP", "HPOUT1R",
123f61d06aeSSylwester Nawrocki
124f61d06aeSSylwester Nawrocki                "SPK", "SPKOUTLN",
125f61d06aeSSylwester Nawrocki                "SPK", "SPKOUTLP",
126f61d06aeSSylwester Nawrocki                "SPK", "SPKOUTRN",
127f61d06aeSSylwester Nawrocki                "SPK", "SPKOUTRP",
128f61d06aeSSylwester Nawrocki
129f61d06aeSSylwester Nawrocki                "RCV", "HPOUT2N",
130f61d06aeSSylwester Nawrocki                "RCV", "HPOUT2P",
131f61d06aeSSylwester Nawrocki
132f61d06aeSSylwester Nawrocki                "IN1LP", "Main Mic",
133f61d06aeSSylwester Nawrocki                "IN1LN", "Main Mic",
134f61d06aeSSylwester Nawrocki                "IN1RP", "Sub Mic",
135f61d06aeSSylwester Nawrocki                "IN1LP", "Sub Mic";
136f61d06aeSSylwester Nawrocki
137f61d06aeSSylwester Nawrocki        cpu {
138f61d06aeSSylwester Nawrocki            sound-dai = <&i2s0>;
139f61d06aeSSylwester Nawrocki        };
140f61d06aeSSylwester Nawrocki
141f61d06aeSSylwester Nawrocki        codec {
142f61d06aeSSylwester Nawrocki            sound-dai = <&wm1811>;
143f61d06aeSSylwester Nawrocki        };
144f61d06aeSSylwester Nawrocki
145f61d06aeSSylwester Nawrocki    };
146