xref: /freebsd-src/sys/contrib/device-tree/Bindings/net/bluetooth/qualcomm-bluetooth.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/net/bluetooth/qualcomm-bluetooth.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm Bluetooth Chips
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
1001950c46SEmmanuel Vadot  - Balakrishna Godavarthi <quic_bgodavar@quicinc.com>
1101950c46SEmmanuel Vadot  - Rocky Liao <quic_rjliao@quicinc.com>
128bab661aSEmmanuel Vadot
138bab661aSEmmanuel Vadotdescription:
148bab661aSEmmanuel Vadot  This binding describes Qualcomm UART-attached bluetooth chips.
158bab661aSEmmanuel Vadot
168bab661aSEmmanuel Vadotproperties:
178bab661aSEmmanuel Vadot  compatible:
188bab661aSEmmanuel Vadot    enum:
19f126890aSEmmanuel Vadot      - qcom,qca2066-bt
208bab661aSEmmanuel Vadot      - qcom,qca6174-bt
218bab661aSEmmanuel Vadot      - qcom,qca9377-bt
22aa1a8ff2SEmmanuel Vadot      - qcom,wcn3988-bt
238bab661aSEmmanuel Vadot      - qcom,wcn3990-bt
248bab661aSEmmanuel Vadot      - qcom,wcn3991-bt
258bab661aSEmmanuel Vadot      - qcom,wcn3998-bt
268bab661aSEmmanuel Vadot      - qcom,qca6390-bt
278bab661aSEmmanuel Vadot      - qcom,wcn6750-bt
28fac71e4eSEmmanuel Vadot      - qcom,wcn6855-bt
29aa1a8ff2SEmmanuel Vadot      - qcom,wcn7850-bt
308bab661aSEmmanuel Vadot
318bab661aSEmmanuel Vadot  enable-gpios:
328bab661aSEmmanuel Vadot    maxItems: 1
338bab661aSEmmanuel Vadot    description: gpio specifier used to enable chip
348bab661aSEmmanuel Vadot
358bab661aSEmmanuel Vadot  swctrl-gpios:
368bab661aSEmmanuel Vadot    maxItems: 1
378bab661aSEmmanuel Vadot    description: gpio specifier is used to find status
388bab661aSEmmanuel Vadot                 of clock supply to SoC
398bab661aSEmmanuel Vadot
408bab661aSEmmanuel Vadot  clocks:
418bab661aSEmmanuel Vadot    maxItems: 1
428bab661aSEmmanuel Vadot    description: clock provided to the controller (SUSCLK_32KHZ)
438bab661aSEmmanuel Vadot
448bab661aSEmmanuel Vadot  vddio-supply:
458bab661aSEmmanuel Vadot    description: VDD_IO supply regulator handle
468bab661aSEmmanuel Vadot
478bab661aSEmmanuel Vadot  vddxo-supply:
488bab661aSEmmanuel Vadot    description: VDD_XO supply regulator handle
498bab661aSEmmanuel Vadot
508bab661aSEmmanuel Vadot  vddrf-supply:
518bab661aSEmmanuel Vadot    description: VDD_RF supply regulator handle
528bab661aSEmmanuel Vadot
538bab661aSEmmanuel Vadot  vddch0-supply:
548bab661aSEmmanuel Vadot    description: VDD_CH0 supply regulator handle
558bab661aSEmmanuel Vadot
56f126890aSEmmanuel Vadot  vddch1-supply:
57f126890aSEmmanuel Vadot    description: VDD_CH1 supply regulator handle
58f126890aSEmmanuel Vadot
598bab661aSEmmanuel Vadot  vddaon-supply:
608bab661aSEmmanuel Vadot    description: VDD_AON supply regulator handle
618bab661aSEmmanuel Vadot
62aa1a8ff2SEmmanuel Vadot  vdddig-supply:
63aa1a8ff2SEmmanuel Vadot    description: VDD_DIG supply regulator handle
64aa1a8ff2SEmmanuel Vadot
650e8011faSEmmanuel Vadot  vddbtcmx-supply:
660e8011faSEmmanuel Vadot    description: VDD_BT_CMX supply regulator handle
670e8011faSEmmanuel Vadot
688bab661aSEmmanuel Vadot  vddbtcxmx-supply:
698bab661aSEmmanuel Vadot    description: VDD_BT_CXMX supply regulator handle
708bab661aSEmmanuel Vadot
718bab661aSEmmanuel Vadot  vddrfacmn-supply:
728bab661aSEmmanuel Vadot    description: VDD_RFA_CMN supply regulator handle
738bab661aSEmmanuel Vadot
748bab661aSEmmanuel Vadot  vddrfa0p8-supply:
75*b2d2a78aSEmmanuel Vadot    description: VDD_RFA_0P8 supply regulator handle
768bab661aSEmmanuel Vadot
778bab661aSEmmanuel Vadot  vddrfa1p7-supply:
788bab661aSEmmanuel Vadot    description: VDD_RFA_1P7 supply regulator handle
798bab661aSEmmanuel Vadot
800e8011faSEmmanuel Vadot  vddrfa1p8-supply:
810e8011faSEmmanuel Vadot    description: VDD_RFA_1P8 supply regulator handle
820e8011faSEmmanuel Vadot
838bab661aSEmmanuel Vadot  vddrfa1p2-supply:
848bab661aSEmmanuel Vadot    description: VDD_RFA_1P2 supply regulator handle
858bab661aSEmmanuel Vadot
86aa1a8ff2SEmmanuel Vadot  vddrfa1p9-supply:
87aa1a8ff2SEmmanuel Vadot    description: VDD_RFA_1P9 supply regulator handle
88aa1a8ff2SEmmanuel Vadot
898bab661aSEmmanuel Vadot  vddrfa2p2-supply:
908bab661aSEmmanuel Vadot    description: VDD_RFA_2P2 supply regulator handle
918bab661aSEmmanuel Vadot
928bab661aSEmmanuel Vadot  vddasd-supply:
938bab661aSEmmanuel Vadot    description: VDD_ASD supply regulator handle
948bab661aSEmmanuel Vadot
950e8011faSEmmanuel Vadot  vddwlcx-supply:
960e8011faSEmmanuel Vadot    description: VDD_WLCX supply regulator handle
970e8011faSEmmanuel Vadot
980e8011faSEmmanuel Vadot  vddwlmx-supply:
990e8011faSEmmanuel Vadot    description: VDD_WLMX supply regulator handle
1000e8011faSEmmanuel Vadot
101*b2d2a78aSEmmanuel Vadot  max-speed: true
1028bab661aSEmmanuel Vadot
1038bab661aSEmmanuel Vadot  firmware-name:
1048bab661aSEmmanuel Vadot    description: specify the name of nvm firmware to load
1058bab661aSEmmanuel Vadot
1068bab661aSEmmanuel Vadot  local-bd-address: true
1078bab661aSEmmanuel Vadot
10801950c46SEmmanuel Vadot  qcom,local-bd-address-broken:
10901950c46SEmmanuel Vadot    type: boolean
11001950c46SEmmanuel Vadot    description:
11101950c46SEmmanuel Vadot      boot firmware is incorrectly passing the address in big-endian order
1128bab661aSEmmanuel Vadot
1138bab661aSEmmanuel Vadotrequired:
1148bab661aSEmmanuel Vadot  - compatible
1158bab661aSEmmanuel Vadot
1168bab661aSEmmanuel VadotadditionalProperties: false
1178bab661aSEmmanuel Vadot
1188bab661aSEmmanuel VadotallOf:
1198bab661aSEmmanuel Vadot  - $ref: bluetooth-controller.yaml#
120*b2d2a78aSEmmanuel Vadot  - $ref: /schemas/serial/serial-peripheral-props.yaml#
1218bab661aSEmmanuel Vadot  - if:
1228bab661aSEmmanuel Vadot      properties:
1238bab661aSEmmanuel Vadot        compatible:
1248bab661aSEmmanuel Vadot          contains:
1258bab661aSEmmanuel Vadot            enum:
126f126890aSEmmanuel Vadot              - qcom,qca2066-bt
1278bab661aSEmmanuel Vadot              - qcom,qca6174-bt
1288bab661aSEmmanuel Vadot    then:
1298bab661aSEmmanuel Vadot      required:
1308bab661aSEmmanuel Vadot        - enable-gpios
1318bab661aSEmmanuel Vadot        - clocks
1328bab661aSEmmanuel Vadot
1338bab661aSEmmanuel Vadot  - if:
1348bab661aSEmmanuel Vadot      properties:
1358bab661aSEmmanuel Vadot        compatible:
1368bab661aSEmmanuel Vadot          contains:
1378bab661aSEmmanuel Vadot            enum:
138aa1a8ff2SEmmanuel Vadot              - qcom,wcn3988-bt
1398bab661aSEmmanuel Vadot              - qcom,wcn3990-bt
1408bab661aSEmmanuel Vadot              - qcom,wcn3991-bt
1418bab661aSEmmanuel Vadot              - qcom,wcn3998-bt
1428bab661aSEmmanuel Vadot    then:
1438bab661aSEmmanuel Vadot      required:
1448bab661aSEmmanuel Vadot        - vddio-supply
1458bab661aSEmmanuel Vadot        - vddxo-supply
1468bab661aSEmmanuel Vadot        - vddrf-supply
1478bab661aSEmmanuel Vadot        - vddch0-supply
1488bab661aSEmmanuel Vadot
1498bab661aSEmmanuel Vadot  - if:
1508bab661aSEmmanuel Vadot      properties:
1518bab661aSEmmanuel Vadot        compatible:
1528bab661aSEmmanuel Vadot          contains:
1538bab661aSEmmanuel Vadot            enum:
1548bab661aSEmmanuel Vadot              - qcom,wcn6750-bt
1558bab661aSEmmanuel Vadot    then:
1568bab661aSEmmanuel Vadot      required:
1578bab661aSEmmanuel Vadot        - enable-gpios
1588bab661aSEmmanuel Vadot        - swctrl-gpios
1598bab661aSEmmanuel Vadot        - vddio-supply
1608bab661aSEmmanuel Vadot        - vddaon-supply
1618bab661aSEmmanuel Vadot        - vddbtcxmx-supply
1628bab661aSEmmanuel Vadot        - vddrfacmn-supply
1638bab661aSEmmanuel Vadot        - vddrfa0p8-supply
1648bab661aSEmmanuel Vadot        - vddrfa1p7-supply
1658bab661aSEmmanuel Vadot        - vddrfa1p2-supply
1668bab661aSEmmanuel Vadot        - vddasd-supply
167fac71e4eSEmmanuel Vadot  - if:
168fac71e4eSEmmanuel Vadot      properties:
169fac71e4eSEmmanuel Vadot        compatible:
170fac71e4eSEmmanuel Vadot          contains:
171fac71e4eSEmmanuel Vadot            enum:
172fac71e4eSEmmanuel Vadot              - qcom,wcn6855-bt
173fac71e4eSEmmanuel Vadot    then:
174fac71e4eSEmmanuel Vadot      required:
175fac71e4eSEmmanuel Vadot        - vddrfacmn-supply
176*b2d2a78aSEmmanuel Vadot        - vddaon-supply
177*b2d2a78aSEmmanuel Vadot        - vddwlcx-supply
178*b2d2a78aSEmmanuel Vadot        - vddwlmx-supply
179*b2d2a78aSEmmanuel Vadot        - vddbtcmx-supply
180fac71e4eSEmmanuel Vadot        - vddrfa0p8-supply
181fac71e4eSEmmanuel Vadot        - vddrfa1p2-supply
182*b2d2a78aSEmmanuel Vadot        - vddrfa1p8-supply
183aa1a8ff2SEmmanuel Vadot  - if:
184aa1a8ff2SEmmanuel Vadot      properties:
185aa1a8ff2SEmmanuel Vadot        compatible:
186aa1a8ff2SEmmanuel Vadot          contains:
187aa1a8ff2SEmmanuel Vadot            enum:
188aa1a8ff2SEmmanuel Vadot              - qcom,wcn7850-bt
189aa1a8ff2SEmmanuel Vadot    then:
190aa1a8ff2SEmmanuel Vadot      required:
1910e8011faSEmmanuel Vadot        - vddrfacmn-supply
192aa1a8ff2SEmmanuel Vadot        - vddaon-supply
1930e8011faSEmmanuel Vadot        - vddwlcx-supply
1940e8011faSEmmanuel Vadot        - vddwlmx-supply
195aa1a8ff2SEmmanuel Vadot        - vddrfa0p8-supply
196aa1a8ff2SEmmanuel Vadot        - vddrfa1p2-supply
1970e8011faSEmmanuel Vadot        - vddrfa1p8-supply
1980e8011faSEmmanuel Vadot  - if:
1990e8011faSEmmanuel Vadot      properties:
2000e8011faSEmmanuel Vadot        compatible:
2010e8011faSEmmanuel Vadot          contains:
2020e8011faSEmmanuel Vadot            enum:
2030e8011faSEmmanuel Vadot              - qcom,qca6390-bt
2040e8011faSEmmanuel Vadot    then:
2050e8011faSEmmanuel Vadot      required:
2060e8011faSEmmanuel Vadot        - vddrfacmn-supply
2070e8011faSEmmanuel Vadot        - vddaon-supply
2080e8011faSEmmanuel Vadot        - vddbtcmx-supply
2090e8011faSEmmanuel Vadot        - vddrfa0p8-supply
2100e8011faSEmmanuel Vadot        - vddrfa1p2-supply
2110e8011faSEmmanuel Vadot        - vddrfa1p7-supply
2128bab661aSEmmanuel Vadot
2138bab661aSEmmanuel Vadotexamples:
2148bab661aSEmmanuel Vadot  - |
2158bab661aSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
2168bab661aSEmmanuel Vadot    serial {
2178bab661aSEmmanuel Vadot
2188bab661aSEmmanuel Vadot        bluetooth {
2198bab661aSEmmanuel Vadot            compatible = "qcom,qca6174-bt";
2208bab661aSEmmanuel Vadot            enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
2218bab661aSEmmanuel Vadot            clocks = <&divclk4>;
2228bab661aSEmmanuel Vadot            firmware-name = "nvm_00440302.bin";
2238bab661aSEmmanuel Vadot        };
2248bab661aSEmmanuel Vadot    };
2258bab661aSEmmanuel Vadot  - |
2268bab661aSEmmanuel Vadot    serial {
2278bab661aSEmmanuel Vadot
2288bab661aSEmmanuel Vadot        bluetooth {
2298bab661aSEmmanuel Vadot            compatible = "qcom,wcn3990-bt";
2308bab661aSEmmanuel Vadot            vddio-supply = <&vreg_s4a_1p8>;
2318bab661aSEmmanuel Vadot            vddxo-supply = <&vreg_l7a_1p8>;
2328bab661aSEmmanuel Vadot            vddrf-supply = <&vreg_l17a_1p3>;
2338bab661aSEmmanuel Vadot            vddch0-supply = <&vreg_l25a_3p3>;
2348bab661aSEmmanuel Vadot            max-speed = <3200000>;
2358bab661aSEmmanuel Vadot            firmware-name = "crnv21.bin";
2368bab661aSEmmanuel Vadot        };
2378bab661aSEmmanuel Vadot    };
2388bab661aSEmmanuel Vadot  - |
2398bab661aSEmmanuel Vadot    serial {
2408bab661aSEmmanuel Vadot
2418bab661aSEmmanuel Vadot        bluetooth {
2428bab661aSEmmanuel Vadot            compatible = "qcom,wcn6750-bt";
2438bab661aSEmmanuel Vadot            pinctrl-names = "default";
2448bab661aSEmmanuel Vadot            pinctrl-0 = <&bt_en_default>;
2458bab661aSEmmanuel Vadot            enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
2468bab661aSEmmanuel Vadot            swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
2478bab661aSEmmanuel Vadot            vddio-supply = <&vreg_l19b_1p8>;
2488bab661aSEmmanuel Vadot            vddaon-supply = <&vreg_s7b_0p9>;
2498bab661aSEmmanuel Vadot            vddbtcxmx-supply = <&vreg_s7b_0p9>;
2508bab661aSEmmanuel Vadot            vddrfacmn-supply = <&vreg_s7b_0p9>;
2518bab661aSEmmanuel Vadot            vddrfa0p8-supply = <&vreg_s7b_0p9>;
2528bab661aSEmmanuel Vadot            vddrfa1p7-supply = <&vreg_s1b_1p8>;
2538bab661aSEmmanuel Vadot            vddrfa1p2-supply = <&vreg_s8b_1p2>;
2548bab661aSEmmanuel Vadot            vddrfa2p2-supply = <&vreg_s1c_2p2>;
2558bab661aSEmmanuel Vadot            vddasd-supply = <&vreg_l11c_2p8>;
2568bab661aSEmmanuel Vadot            max-speed = <3200000>;
2578bab661aSEmmanuel Vadot            firmware-name = "msnv11.bin";
2588bab661aSEmmanuel Vadot        };
2598bab661aSEmmanuel Vadot    };
260