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 <quic_bgodavar@quicinc.com>
11  - Rocky Liao <quic_rjliao@quicinc.com>
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  qcom,local-bd-address-broken:
98    type: boolean
99    description:
100      boot firmware is incorrectly passing the address in big-endian order
101
102required:
103  - compatible
104
105additionalProperties: false
106
107allOf:
108  - $ref: bluetooth-controller.yaml#
109  - if:
110      properties:
111        compatible:
112          contains:
113            enum:
114              - qcom,qca2066-bt
115              - qcom,qca6174-bt
116    then:
117      required:
118        - enable-gpios
119        - clocks
120
121  - if:
122      properties:
123        compatible:
124          contains:
125            enum:
126              - qcom,wcn3988-bt
127              - qcom,wcn3990-bt
128              - qcom,wcn3991-bt
129              - qcom,wcn3998-bt
130    then:
131      required:
132        - vddio-supply
133        - vddxo-supply
134        - vddrf-supply
135        - vddch0-supply
136
137  - if:
138      properties:
139        compatible:
140          contains:
141            enum:
142              - qcom,wcn6750-bt
143    then:
144      required:
145        - enable-gpios
146        - swctrl-gpios
147        - vddio-supply
148        - vddaon-supply
149        - vddbtcxmx-supply
150        - vddrfacmn-supply
151        - vddrfa0p8-supply
152        - vddrfa1p7-supply
153        - vddrfa1p2-supply
154        - vddasd-supply
155  - if:
156      properties:
157        compatible:
158          contains:
159            enum:
160              - qcom,wcn6855-bt
161    then:
162      required:
163        - enable-gpios
164        - swctrl-gpios
165        - vddio-supply
166        - vddbtcxmx-supply
167        - vddrfacmn-supply
168        - vddrfa0p8-supply
169        - vddrfa1p2-supply
170        - vddrfa1p7-supply
171  - if:
172      properties:
173        compatible:
174          contains:
175            enum:
176              - qcom,wcn7850-bt
177    then:
178      required:
179        - enable-gpios
180        - swctrl-gpios
181        - vddio-supply
182        - vddaon-supply
183        - vdddig-supply
184        - vddrfa0p8-supply
185        - vddrfa1p2-supply
186        - vddrfa1p9-supply
187
188examples:
189  - |
190    #include <dt-bindings/gpio/gpio.h>
191    serial {
192
193        bluetooth {
194            compatible = "qcom,qca6174-bt";
195            enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
196            clocks = <&divclk4>;
197            firmware-name = "nvm_00440302.bin";
198        };
199    };
200  - |
201    serial {
202
203        bluetooth {
204            compatible = "qcom,wcn3990-bt";
205            vddio-supply = <&vreg_s4a_1p8>;
206            vddxo-supply = <&vreg_l7a_1p8>;
207            vddrf-supply = <&vreg_l17a_1p3>;
208            vddch0-supply = <&vreg_l25a_3p3>;
209            max-speed = <3200000>;
210            firmware-name = "crnv21.bin";
211        };
212    };
213  - |
214    serial {
215
216        bluetooth {
217            compatible = "qcom,wcn6750-bt";
218            pinctrl-names = "default";
219            pinctrl-0 = <&bt_en_default>;
220            enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
221            swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
222            vddio-supply = <&vreg_l19b_1p8>;
223            vddaon-supply = <&vreg_s7b_0p9>;
224            vddbtcxmx-supply = <&vreg_s7b_0p9>;
225            vddrfacmn-supply = <&vreg_s7b_0p9>;
226            vddrfa0p8-supply = <&vreg_s7b_0p9>;
227            vddrfa1p7-supply = <&vreg_s1b_1p8>;
228            vddrfa1p2-supply = <&vreg_s8b_1p2>;
229            vddrfa2p2-supply = <&vreg_s1c_2p2>;
230            vddasd-supply = <&vreg_l11c_2p8>;
231            max-speed = <3200000>;
232            firmware-name = "msnv11.bin";
233        };
234    };
235