# 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,wcn3950-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 supply 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: true

  firmware-name:
    minItems: 1
    items:
      - description: specify the name of nvm firmware to load
      - description: specify the name of rampatch 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#
  - $ref: /schemas/serial/serial-peripheral-props.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qca2066-bt
              - qcom,qca6174-bt
    then:
      required:
        - enable-gpios
        - clocks

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,wcn3950-bt
              - 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:
        - vddaon-supply
        - vddrfacmn-supply
        - vddrfa0p8-supply
        - vddrfa1p7-supply
        - vddrfa1p2-supply
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,wcn6855-bt
    then:
      required:
        - vddrfacmn-supply
        - vddaon-supply
        - vddwlcx-supply
        - vddwlmx-supply
        - vddbtcmx-supply
        - vddrfa0p8-supply
        - vddrfa1p2-supply
        - vddrfa1p8-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";
        };
    };
