# 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 <bgodavar@codeaurora.org> - Rocky Liao <rjliao@codeaurora.org> 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 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 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 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 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: - enable-gpios - swctrl-gpios - vddio-supply - vddaon-supply - vdddig-supply - vddrfa0p8-supply - vddrfa1p2-supply - vddrfa1p9-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"; }; };