Merge branch 'cpufreq/arm/linux-next' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / sound / qcom,wcd934x.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/qcom,wcd934x.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Bindings for Qualcomm WCD9340/WCD9341 Audio Codec
8
9 maintainers:
10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12 description: |
13   Qualcomm WCD9340/WCD9341 Codec is a standalone Hi-Fi audio codec IC.
14   It has in-built Soundwire controller, pin controller, interrupt mux and
15   supports both I2S/I2C and SLIMbus audio interfaces.
16
17 properties:
18   compatible:
19     const: slim217,250
20
21   reg:
22     maxItems: 1
23
24   interrupts:
25     maxItems: 1
26
27   reset-gpios:
28     description: GPIO spec for reset line to use
29     maxItems: 1
30
31   slim-ifc-dev: true
32
33   clocks:
34     maxItems: 1
35
36   clock-names:
37     const: extclk
38
39   vdd-buck-supply:
40     description: A reference to the 1.8V buck supply
41
42   vdd-buck-sido-supply:
43     description: A reference to the 1.8V SIDO buck supply
44
45   vdd-rx-supply:
46     description: A reference to the 1.8V rx supply
47
48   vdd-tx-supply:
49     description: A reference to the 1.8V tx supply
50
51   vdd-vbat-supply:
52     description: A reference to the vbat supply
53
54   vdd-io-supply:
55     description: A reference to the 1.8V I/O supply
56
57   vdd-micbias-supply:
58     description: A reference to the micbias supply
59
60   qcom,micbias1-microvolt:
61     description: micbias1 voltage
62     minimum: 1800000
63     maximum: 2850000
64
65   qcom,micbias2-microvolt:
66     description: micbias2 voltage
67     minimum: 1800000
68     maximum: 2850000
69
70   qcom,micbias3-microvolt:
71     description: micbias3 voltage
72     minimum: 1800000
73     maximum: 2850000
74
75   qcom,micbias4-microvolt:
76     description: micbias4 voltage
77     minimum: 1800000
78     maximum: 2850000
79
80   clock-output-names:
81     const: mclk
82
83   clock-frequency:
84     description: Clock frequency of output clk in Hz
85
86   interrupt-controller: true
87
88   '#interrupt-cells':
89     const: 1
90
91   '#clock-cells':
92     const: 0
93
94   '#sound-dai-cells':
95     const: 1
96
97   "#address-cells":
98     const: 1
99
100   "#size-cells":
101     const: 1
102
103   gpio@42:
104     type: object
105     $ref: ../gpio/qcom,wcd934x-gpio.yaml#
106
107 patternProperties:
108   "^.*@[0-9a-f]+$":
109     type: object
110     description: |
111       WCD934x subnode for each slave devices. Bindings of each subnodes
112       depends on the specific driver providing the functionality and
113       documented in their respective bindings.
114
115     properties:
116       reg:
117         maxItems: 1
118
119     required:
120       - reg
121
122 required:
123   - compatible
124   - reg
125   - reset-gpios
126   - slim-ifc-dev
127   - interrupts
128   - interrupt-controller
129   - clock-frequency
130   - clock-output-names
131   - qcom,micbias1-microvolt
132   - qcom,micbias2-microvolt
133   - qcom,micbias3-microvolt
134   - qcom,micbias4-microvolt
135   - "#interrupt-cells"
136   - "#clock-cells"
137   - "#sound-dai-cells"
138   - "#address-cells"
139   - "#size-cells"
140
141 additionalProperties: false
142
143 examples:
144   - |
145     codec@1,0{
146         compatible = "slim217,250";
147         reg  = <1 0>;
148         reset-gpios = <&tlmm 64 0>;
149         slim-ifc-dev  = <&wcd9340_ifd>;
150         #sound-dai-cells = <1>;
151         interrupt-parent = <&tlmm>;
152         interrupts = <54 4>;
153         interrupt-controller;
154         #interrupt-cells = <1>;
155         #clock-cells = <0>;
156         clock-frequency = <9600000>;
157         clock-output-names = "mclk";
158         qcom,micbias1-microvolt = <1800000>;
159         qcom,micbias2-microvolt = <1800000>;
160         qcom,micbias3-microvolt = <1800000>;
161         qcom,micbias4-microvolt = <1800000>;
162         clock-names = "extclk";
163         clocks = <&rpmhcc 2>;
164
165         #address-cells = <1>;
166         #size-cells = <1>;
167
168         gpio@42 {
169             compatible = "qcom,wcd9340-gpio";
170             reg = <0x42 0x2>;
171             gpio-controller;
172             #gpio-cells = <2>;
173         };
174     };
175
176 ...