| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/net/bluetooth/qualcomm-bluetooth.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Qualcomm Bluetooth Chips |
| |
| maintainers: |
| - Balakrishna Godavarthi <quic_bgodavar@quicinc.com> |
| - Rocky Liao <quic_rjliao@quicinc.com> |
| |
| description: |
| This binding describes Qualcomm UART-attached bluetooth chips. |
| |
| properties: |
| compatible: |
| enum: |
| - qcom,qca2066-bt |
| - qcom,qca6174-bt |
| - qcom,qca9377-bt |
| - qcom,wcn3988-bt |
| - qcom,wcn3990-bt |
| - qcom,wcn3991-bt |
| - qcom,wcn3998-bt |
| - qcom,qca6390-bt |
| - qcom,wcn6750-bt |
| - qcom,wcn6855-bt |
| - qcom,wcn7850-bt |
| |
| enable-gpios: |
| maxItems: 1 |
| description: gpio specifier used to enable chip |
| |
| swctrl-gpios: |
| maxItems: 1 |
| description: gpio specifier is used to find status |
| of clock supply to SoC |
| |
| clocks: |
| maxItems: 1 |
| description: clock provided to the controller (SUSCLK_32KHZ) |
| |
| vddio-supply: |
| description: VDD_IO supply regulator handle |
| |
| vddxo-supply: |
| description: VDD_XO supply regulator handle |
| |
| vddrf-supply: |
| description: VDD_RF supply regulator handle |
| |
| vddch0-supply: |
| description: VDD_CH0 supply regulator handle |
| |
| vddch1-supply: |
| description: VDD_CH1 supply regulator handle |
| |
| vddaon-supply: |
| description: VDD_AON supply regulator handle |
| |
| vdddig-supply: |
| description: VDD_DIG supply regulator handle |
| |
| vddbtcmx-supply: |
| description: VDD_BT_CMX supply regulator handle |
| |
| vddbtcxmx-supply: |
| description: VDD_BT_CXMX supply regulator handle |
| |
| vddrfacmn-supply: |
| description: VDD_RFA_CMN supply regulator handle |
| |
| vddrfa0p8-supply: |
| description: VDD_RFA_0P8 suppply regulator handle |
| |
| vddrfa1p7-supply: |
| description: VDD_RFA_1P7 supply regulator handle |
| |
| vddrfa1p8-supply: |
| description: VDD_RFA_1P8 supply regulator handle |
| |
| vddrfa1p2-supply: |
| description: VDD_RFA_1P2 supply regulator handle |
| |
| vddrfa1p9-supply: |
| description: VDD_RFA_1P9 supply regulator handle |
| |
| vddrfa2p2-supply: |
| description: VDD_RFA_2P2 supply regulator handle |
| |
| vddasd-supply: |
| description: VDD_ASD supply regulator handle |
| |
| vddwlcx-supply: |
| description: VDD_WLCX supply regulator handle |
| |
| vddwlmx-supply: |
| description: VDD_WLMX supply regulator handle |
| |
| max-speed: |
| description: see Documentation/devicetree/bindings/serial/serial.yaml |
| |
| firmware-name: |
| description: specify the name of nvm firmware to load |
| |
| local-bd-address: true |
| |
| qcom,local-bd-address-broken: |
| type: boolean |
| description: |
| boot firmware is incorrectly passing the address in big-endian order |
| |
| required: |
| - compatible |
| |
| additionalProperties: false |
| |
| allOf: |
| - $ref: bluetooth-controller.yaml# |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,qca2066-bt |
| - qcom,qca6174-bt |
| then: |
| required: |
| - enable-gpios |
| - clocks |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,wcn3988-bt |
| - qcom,wcn3990-bt |
| - qcom,wcn3991-bt |
| - qcom,wcn3998-bt |
| then: |
| required: |
| - vddio-supply |
| - vddxo-supply |
| - vddrf-supply |
| - vddch0-supply |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,wcn6750-bt |
| then: |
| required: |
| - enable-gpios |
| - swctrl-gpios |
| - vddio-supply |
| - vddaon-supply |
| - vddbtcxmx-supply |
| - vddrfacmn-supply |
| - vddrfa0p8-supply |
| - vddrfa1p7-supply |
| - vddrfa1p2-supply |
| - vddasd-supply |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,wcn6855-bt |
| then: |
| required: |
| - enable-gpios |
| - swctrl-gpios |
| - vddio-supply |
| - vddbtcxmx-supply |
| - vddrfacmn-supply |
| - vddrfa0p8-supply |
| - vddrfa1p2-supply |
| - vddrfa1p7-supply |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,wcn7850-bt |
| then: |
| required: |
| - vddrfacmn-supply |
| - vddaon-supply |
| - vddwlcx-supply |
| - vddwlmx-supply |
| - vddrfa0p8-supply |
| - vddrfa1p2-supply |
| - vddrfa1p8-supply |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,qca6390-bt |
| then: |
| required: |
| - vddrfacmn-supply |
| - vddaon-supply |
| - vddbtcmx-supply |
| - vddrfa0p8-supply |
| - vddrfa1p2-supply |
| - vddrfa1p7-supply |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| serial { |
| |
| bluetooth { |
| compatible = "qcom,qca6174-bt"; |
| enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>; |
| clocks = <&divclk4>; |
| firmware-name = "nvm_00440302.bin"; |
| }; |
| }; |
| - | |
| serial { |
| |
| bluetooth { |
| compatible = "qcom,wcn3990-bt"; |
| vddio-supply = <&vreg_s4a_1p8>; |
| vddxo-supply = <&vreg_l7a_1p8>; |
| vddrf-supply = <&vreg_l17a_1p3>; |
| vddch0-supply = <&vreg_l25a_3p3>; |
| max-speed = <3200000>; |
| firmware-name = "crnv21.bin"; |
| }; |
| }; |
| - | |
| serial { |
| |
| bluetooth { |
| compatible = "qcom,wcn6750-bt"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&bt_en_default>; |
| enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; |
| swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>; |
| vddio-supply = <&vreg_l19b_1p8>; |
| vddaon-supply = <&vreg_s7b_0p9>; |
| vddbtcxmx-supply = <&vreg_s7b_0p9>; |
| vddrfacmn-supply = <&vreg_s7b_0p9>; |
| vddrfa0p8-supply = <&vreg_s7b_0p9>; |
| vddrfa1p7-supply = <&vreg_s1b_1p8>; |
| vddrfa1p2-supply = <&vreg_s8b_1p2>; |
| vddrfa2p2-supply = <&vreg_s1c_2p2>; |
| vddasd-supply = <&vreg_l11c_2p8>; |
| max-speed = <3200000>; |
| firmware-name = "msnv11.bin"; |
| }; |
| }; |