File Index
Files and directories
Sign in
FILE

qualcomm-bluetooth.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml 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
  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,wcn3950-bt
 23      - qcom,wcn3988-bt
 24      - qcom,wcn3990-bt
 25      - qcom,wcn3991-bt
 26      - qcom,wcn3998-bt
 27      - qcom,qca6390-bt
 28      - qcom,wcn6750-bt
 29      - qcom,wcn6855-bt
 30      - qcom,wcn7850-bt
 31
 32  enable-gpios:
 33    maxItems: 1
 34    description: gpio specifier used to enable chip
 35
 36  swctrl-gpios:
 37    maxItems: 1
 38    description: gpio specifier is used to find status
 39                 of clock supply to SoC
 40
 41  clocks:
 42    maxItems: 1
 43    description: clock provided to the controller (SUSCLK_32KHZ)
 44
 45  vddio-supply:
 46    description: VDD_IO supply regulator handle
 47
 48  vddxo-supply:
 49    description: VDD_XO supply regulator handle
 50
 51  vddrf-supply:
 52    description: VDD_RF supply regulator handle
 53
 54  vddch0-supply:
 55    description: VDD_CH0 supply regulator handle
 56
 57  vddch1-supply:
 58    description: VDD_CH1 supply regulator handle
 59
 60  vddaon-supply:
 61    description: VDD_AON supply regulator handle
 62
 63  vdddig-supply:
 64    description: VDD_DIG supply regulator handle
 65
 66  vddbtcmx-supply:
 67    description: VDD_BT_CMX supply regulator handle
 68
 69  vddbtcxmx-supply:
 70    description: VDD_BT_CXMX supply regulator handle
 71
 72  vddrfacmn-supply:
 73    description: VDD_RFA_CMN supply regulator handle
 74
 75  vddrfa0p8-supply:
 76    description: VDD_RFA_0P8 supply regulator handle
 77
 78  vddrfa1p7-supply:
 79    description: VDD_RFA_1P7 supply regulator handle
 80
 81  vddrfa1p8-supply:
 82    description: VDD_RFA_1P8 supply regulator handle
 83
 84  vddrfa1p2-supply:
 85    description: VDD_RFA_1P2 supply regulator handle
 86
 87  vddrfa1p9-supply:
 88    description: VDD_RFA_1P9 supply regulator handle
 89
 90  vddrfa2p2-supply:
 91    description: VDD_RFA_2P2 supply regulator handle
 92
 93  vddasd-supply:
 94    description: VDD_ASD supply regulator handle
 95
 96  vddwlcx-supply:
 97    description: VDD_WLCX supply regulator handle
 98
 99  vddwlmx-supply:
100    description: VDD_WLMX supply regulator handle
101
102  max-speed: true
103
104  firmware-name:
105    minItems: 1
106    items:
107      - description: specify the name of nvm firmware to load
108      - description: specify the name of rampatch firmware to load
109
110  local-bd-address: true
111
112  qcom,local-bd-address-broken:
113    type: boolean
114    description:
115      boot firmware is incorrectly passing the address in big-endian order
116
117required:
118  - compatible
119
120additionalProperties: false
121
122allOf:
123  - $ref: bluetooth-controller.yaml#
124  - $ref: /schemas/serial/serial-peripheral-props.yaml#
125  - if:
126      properties:
127        compatible:
128          contains:
129            enum:
130              - qcom,qca2066-bt
131              - qcom,qca6174-bt
132    then:
133      required:
134        - enable-gpios
135        - clocks
136
137  - if:
138      properties:
139        compatible:
140          contains:
141            enum:
142              - qcom,wcn3950-bt
143              - qcom,wcn3988-bt
144              - qcom,wcn3990-bt
145              - qcom,wcn3991-bt
146              - qcom,wcn3998-bt
147    then:
148      required:
149        - vddio-supply
150        - vddxo-supply
151        - vddrf-supply
152        - vddch0-supply
153
154  - if:
155      properties:
156        compatible:
157          contains:
158            enum:
159              - qcom,wcn6750-bt
160    then:
161      required:
162        - vddaon-supply
163        - vddrfacmn-supply
164        - vddrfa0p8-supply
165        - vddrfa1p7-supply
166        - vddrfa1p2-supply
167  - if:
168      properties:
169        compatible:
170          contains:
171            enum:
172              - qcom,wcn6855-bt
173    then:
174      required:
175        - vddrfacmn-supply
176        - vddaon-supply
177        - vddwlcx-supply
178        - vddwlmx-supply
179        - vddbtcmx-supply
180        - vddrfa0p8-supply
181        - vddrfa1p2-supply
182        - vddrfa1p8-supply
183  - if:
184      properties:
185        compatible:
186          contains:
187            enum:
188              - qcom,wcn7850-bt
189    then:
190      required:
191        - vddrfacmn-supply
192        - vddaon-supply
193        - vddwlcx-supply
194        - vddwlmx-supply
195        - vddrfa0p8-supply
196        - vddrfa1p2-supply
197        - vddrfa1p8-supply
198  - if:
199      properties:
200        compatible:
201          contains:
202            enum:
203              - qcom,qca6390-bt
204    then:
205      required:
206        - vddrfacmn-supply
207        - vddaon-supply
208        - vddbtcmx-supply
209        - vddrfa0p8-supply
210        - vddrfa1p2-supply
211        - vddrfa1p7-supply
212
213examples:
214  - |
215    #include <dt-bindings/gpio/gpio.h>
216    serial {
217
218        bluetooth {
219            compatible = "qcom,qca6174-bt";
220            enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
221            clocks = <&divclk4>;
222            firmware-name = "nvm_00440302.bin";
223        };
224    };
225  - |
226    serial {
227
228        bluetooth {
229            compatible = "qcom,wcn3990-bt";
230            vddio-supply = <&vreg_s4a_1p8>;
231            vddxo-supply = <&vreg_l7a_1p8>;
232            vddrf-supply = <&vreg_l17a_1p3>;
233            vddch0-supply = <&vreg_l25a_3p3>;
234            max-speed = <3200000>;
235            firmware-name = "crnv21.bin";
236        };
237    };
238  - |
239    serial {
240
241        bluetooth {
242            compatible = "qcom,wcn6750-bt";
243            pinctrl-names = "default";
244            pinctrl-0 = <&bt_en_default>;
245            enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
246            swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
247            vddio-supply = <&vreg_l19b_1p8>;
248            vddaon-supply = <&vreg_s7b_0p9>;
249            vddbtcxmx-supply = <&vreg_s7b_0p9>;
250            vddrfacmn-supply = <&vreg_s7b_0p9>;
251            vddrfa0p8-supply = <&vreg_s7b_0p9>;
252            vddrfa1p7-supply = <&vreg_s1b_1p8>;
253            vddrfa1p2-supply = <&vreg_s8b_1p2>;
254            vddrfa2p2-supply = <&vreg_s1c_2p2>;
255            vddasd-supply = <&vreg_l11c_2p8>;
256            max-speed = <3200000>;
257            firmware-name = "msnv11.bin";
258        };
259    };
~/ Read-only file preview.