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
7title: Qualcomm Bluetooth Chips
8
9maintainers:
10  - Balakrishna Godavarthi <bgodavar@codeaurora.org>
11  - Rocky Liao <rjliao@codeaurora.org>
12
13description:
14  This binding describes Qualcomm UART-attached bluetooth chips.
15
16properties:
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
98required:
99  - compatible
100
101additionalProperties: false
102
103allOf:
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
184examples:
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 = "nvm_00440302.bin";
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 = "crnv21.bin";
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 = "msnv11.bin";
229        };
230    };
231