Merge tag 'block-5.14-2021-08-07' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / net / 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/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,qca6174-bt
20       - qcom,qca9377-bt
21       - qcom,wcn3990-bt
22       - qcom,wcn3991-bt
23       - qcom,wcn3998-bt
24       - qcom,qca6390-bt
25       - qcom,wcn6750-bt
26
27   enable-gpios:
28     maxItems: 1
29     description: gpio specifier used to enable chip
30
31   swctrl-gpios:
32     maxItems: 1
33     description: gpio specifier is used to find status
34                  of clock supply to SoC
35
36   clocks:
37     maxItems: 1
38     description: clock provided to the controller (SUSCLK_32KHZ)
39
40   vddio-supply:
41     description: VDD_IO supply regulator handle
42
43   vddxo-supply:
44     description: VDD_XO supply regulator handle
45
46   vddrf-supply:
47     description: VDD_RF supply regulator handle
48
49   vddch0-supply:
50     description: VDD_CH0 supply regulator handle
51
52   vddaon-supply:
53     description: VDD_AON supply regulator handle
54
55   vddbtcxmx-supply:
56     description: VDD_BT_CXMX supply regulator handle
57
58   vddrfacmn-supply:
59     description: VDD_RFA_CMN supply regulator handle
60
61   vddrfa0p8-supply:
62     description: VDD_RFA_0P8 suppply regulator handle
63
64   vddrfa1p7-supply:
65     description: VDD_RFA_1P7 supply regulator handle
66
67   vddrfa1p2-supply:
68     description: VDD_RFA_1P2 supply regulator handle
69
70   vddrfa2p2-supply:
71     description: VDD_RFA_2P2 supply regulator handle
72
73   vddasd-supply:
74     description: VDD_ASD supply regulator handle
75
76   max-speed:
77     description: see Documentation/devicetree/bindings/serial/serial.yaml
78
79   firmware-name:
80     description: specify the name of nvm firmware to load
81
82   local-bd-address:
83     description: see Documentation/devicetree/bindings/net/bluetooth.txt
84
85
86 required:
87   - compatible
88
89 additionalProperties: false
90
91 allOf:
92   - if:
93       properties:
94         compatible:
95           contains:
96             enum:
97               - qcom,qca6174-bt
98     then:
99       required:
100         - enable-gpios
101         - clocks
102
103   - if:
104       properties:
105         compatible:
106           contains:
107             enum:
108               - qcom,wcn3990-bt
109               - qcom,wcn3991-bt
110               - qcom,wcn3998-bt
111     then:
112       required:
113         - vddio-supply
114         - vddxo-supply
115         - vddrf-supply
116         - vddch0-supply
117
118   - if:
119       properties:
120         compatible:
121           contains:
122             enum:
123               - qcom,wcn6750-bt
124     then:
125       required:
126         - enable-gpios
127         - swctrl-gpios
128         - vddio-supply
129         - vddaon-supply
130         - vddbtcxmx-supply
131         - vddrfacmn-supply
132         - vddrfa0p8-supply
133         - vddrfa1p7-supply
134         - vddrfa1p2-supply
135         - vddasd-supply
136
137 examples:
138   - |
139     #include <dt-bindings/gpio/gpio.h>
140     serial {
141
142         bluetooth {
143             compatible = "qcom,qca6174-bt";
144             enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
145             clocks = <&divclk4>;
146             firmware-name = "nvm_00440302.bin";
147         };
148     };
149   - |
150     serial {
151
152         bluetooth {
153             compatible = "qcom,wcn3990-bt";
154             vddio-supply = <&vreg_s4a_1p8>;
155             vddxo-supply = <&vreg_l7a_1p8>;
156             vddrf-supply = <&vreg_l17a_1p3>;
157             vddch0-supply = <&vreg_l25a_3p3>;
158             max-speed = <3200000>;
159             firmware-name = "crnv21.bin";
160         };
161     };
162   - |
163     serial {
164
165         bluetooth {
166             compatible = "qcom,wcn6750-bt";
167             pinctrl-names = "default";
168             pinctrl-0 = <&bt_en_default>;
169             enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
170             swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
171             vddio-supply = <&vreg_l19b_1p8>;
172             vddaon-supply = <&vreg_s7b_0p9>;
173             vddbtcxmx-supply = <&vreg_s7b_0p9>;
174             vddrfacmn-supply = <&vreg_s7b_0p9>;
175             vddrfa0p8-supply = <&vreg_s7b_0p9>;
176             vddrfa1p7-supply = <&vreg_s1b_1p8>;
177             vddrfa1p2-supply = <&vreg_s8b_1p2>;
178             vddrfa2p2-supply = <&vreg_s1c_2p2>;
179             vddasd-supply = <&vreg_l11c_2p8>;
180             max-speed = <3200000>;
181             firmware-name = "msnv11.bin";
182         };
183     };