Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / net / bluetooth / qualcomm-bluetooth.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/bluetooth/qualcomm-bluetooth.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm Bluetooth Chips
8
9 maintainers:
10   - Balakrishna Godavarthi <bgodavar@codeaurora.org>
11   - Rocky Liao <rjliao@codeaurora.org>
12
13 description:
14   This binding describes Qualcomm UART-attached bluetooth chips.
15
16 properties:
17   compatible:
18     enum:
19       - qcom,qca2066-bt
20       - qcom,qca6174-bt
21       - qcom,qca9377-bt
22       - qcom,wcn3988-bt
23       - qcom,wcn3990-bt
24       - qcom,wcn3991-bt
25       - qcom,wcn3998-bt
26       - qcom,qca6390-bt
27       - qcom,wcn6750-bt
28       - qcom,wcn6855-bt
29       - qcom,wcn7850-bt
30
31   enable-gpios:
32     maxItems: 1
33     description: gpio specifier used to enable chip
34
35   swctrl-gpios:
36     maxItems: 1
37     description: gpio specifier is used to find status
38                  of clock supply to SoC
39
40   clocks:
41     maxItems: 1
42     description: clock provided to the controller (SUSCLK_32KHZ)
43
44   vddio-supply:
45     description: VDD_IO supply regulator handle
46
47   vddxo-supply:
48     description: VDD_XO supply regulator handle
49
50   vddrf-supply:
51     description: VDD_RF supply regulator handle
52
53   vddch0-supply:
54     description: VDD_CH0 supply regulator handle
55
56   vddch1-supply:
57     description: VDD_CH1 supply regulator handle
58
59   vddaon-supply:
60     description: VDD_AON supply regulator handle
61
62   vdddig-supply:
63     description: VDD_DIG supply regulator handle
64
65   vddbtcxmx-supply:
66     description: VDD_BT_CXMX supply regulator handle
67
68   vddrfacmn-supply:
69     description: VDD_RFA_CMN supply regulator handle
70
71   vddrfa0p8-supply:
72     description: VDD_RFA_0P8 suppply regulator handle
73
74   vddrfa1p7-supply:
75     description: VDD_RFA_1P7 supply regulator handle
76
77   vddrfa1p2-supply:
78     description: VDD_RFA_1P2 supply regulator handle
79
80   vddrfa1p9-supply:
81     description: VDD_RFA_1P9 supply regulator handle
82
83   vddrfa2p2-supply:
84     description: VDD_RFA_2P2 supply regulator handle
85
86   vddasd-supply:
87     description: VDD_ASD supply regulator handle
88
89   max-speed:
90     description: see Documentation/devicetree/bindings/serial/serial.yaml
91
92   firmware-name:
93     description: specify the name of nvm firmware to load
94
95   local-bd-address: true
96
97
98 required:
99   - compatible
100
101 additionalProperties: false
102
103 allOf:
104   - $ref: bluetooth-controller.yaml#
105   - if:
106       properties:
107         compatible:
108           contains:
109             enum:
110               - qcom,qca2066-bt
111               - qcom,qca6174-bt
112     then:
113       required:
114         - enable-gpios
115         - clocks
116
117   - if:
118       properties:
119         compatible:
120           contains:
121             enum:
122               - qcom,wcn3988-bt
123               - qcom,wcn3990-bt
124               - qcom,wcn3991-bt
125               - qcom,wcn3998-bt
126     then:
127       required:
128         - vddio-supply
129         - vddxo-supply
130         - vddrf-supply
131         - vddch0-supply
132
133   - if:
134       properties:
135         compatible:
136           contains:
137             enum:
138               - qcom,wcn6750-bt
139     then:
140       required:
141         - enable-gpios
142         - swctrl-gpios
143         - vddio-supply
144         - vddaon-supply
145         - vddbtcxmx-supply
146         - vddrfacmn-supply
147         - vddrfa0p8-supply
148         - vddrfa1p7-supply
149         - vddrfa1p2-supply
150         - vddasd-supply
151   - if:
152       properties:
153         compatible:
154           contains:
155             enum:
156               - qcom,wcn6855-bt
157     then:
158       required:
159         - enable-gpios
160         - swctrl-gpios
161         - vddio-supply
162         - vddbtcxmx-supply
163         - vddrfacmn-supply
164         - vddrfa0p8-supply
165         - vddrfa1p2-supply
166         - vddrfa1p7-supply
167   - if:
168       properties:
169         compatible:
170           contains:
171             enum:
172               - qcom,wcn7850-bt
173     then:
174       required:
175         - enable-gpios
176         - swctrl-gpios
177         - vddio-supply
178         - vddaon-supply
179         - vdddig-supply
180         - vddrfa0p8-supply
181         - vddrfa1p2-supply
182         - vddrfa1p9-supply
183
184 examples:
185   - |
186     #include <dt-bindings/gpio/gpio.h>
187     serial {
188
189         bluetooth {
190             compatible = "qcom,qca6174-bt";
191             enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
192             clocks = <&divclk4>;
193             firmware-name = "/*(DEBLOBBED)*/";
194         };
195     };
196   - |
197     serial {
198
199         bluetooth {
200             compatible = "qcom,wcn3990-bt";
201             vddio-supply = <&vreg_s4a_1p8>;
202             vddxo-supply = <&vreg_l7a_1p8>;
203             vddrf-supply = <&vreg_l17a_1p3>;
204             vddch0-supply = <&vreg_l25a_3p3>;
205             max-speed = <3200000>;
206             firmware-name = "/*(DEBLOBBED)*/";
207         };
208     };
209   - |
210     serial {
211
212         bluetooth {
213             compatible = "qcom,wcn6750-bt";
214             pinctrl-names = "default";
215             pinctrl-0 = <&bt_en_default>;
216             enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
217             swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
218             vddio-supply = <&vreg_l19b_1p8>;
219             vddaon-supply = <&vreg_s7b_0p9>;
220             vddbtcxmx-supply = <&vreg_s7b_0p9>;
221             vddrfacmn-supply = <&vreg_s7b_0p9>;
222             vddrfa0p8-supply = <&vreg_s7b_0p9>;
223             vddrfa1p7-supply = <&vreg_s1b_1p8>;
224             vddrfa1p2-supply = <&vreg_s8b_1p2>;
225             vddrfa2p2-supply = <&vreg_s1c_2p2>;
226             vddasd-supply = <&vreg_l11c_2p8>;
227             max-speed = <3200000>;
228             firmware-name = "/*(DEBLOBBED)*/";
229         };
230     };