Commit d88c6de4 authored by Venkata Lakshmi Narayana Gubba's avatar Venkata Lakshmi Narayana Gubba Committed by Marcel Holtmann
Browse files

dt-bindings: net: bluetooth: Convert Qualcomm BT binding to DT schema



Converted Qualcomm Bluetooth binidings to DT schema.

Signed-off-by: default avatarVenkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 99fba8e3
Loading
Loading
Loading
Loading
+0 −69
Original line number Diff line number Diff line
Qualcomm Bluetooth Chips
---------------------

This documents the binding structure and common properties for serial
attached Qualcomm devices.

Serial attached Qualcomm devices shall be a child node of the host UART
device the slave device is attached to.

Required properties:
 - compatible: should contain one of the following:
   * "qcom,qca6174-bt"
   * "qcom,qca9377-bt"
   * "qcom,wcn3990-bt"
   * "qcom,wcn3991-bt"
   * "qcom,wcn3998-bt"
   * "qcom,qca6390-bt"

Optional properties for compatible string qcom,qca6174-bt:

 - enable-gpios: gpio specifier used to enable chip
 - clocks: clock provided to the controller (SUSCLK_32KHZ)
 - firmware-name: specify the name of nvm firmware to load

Optional properties for compatible string qcom,qca9377-bt:

 - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml

Required properties for compatible string qcom,wcn399x-bt:

 - vddio-supply: VDD_IO supply regulator handle.
 - vddxo-supply: VDD_XO supply regulator handle.
 - vddrf-supply: VDD_RF supply regulator handle.
 - vddch0-supply: VDD_CH0 supply regulator handle.

Optional properties for compatible string qcom,wcn399x-bt:

 - max-speed: see Documentation/devicetree/bindings/serial/serial.yaml
 - firmware-name: specify the name of nvm firmware to load
 - clocks: clock provided to the controller

Examples:

serial@7570000 {
	label = "BT-UART";
	status = "okay";

	bluetooth {
		compatible = "qcom,qca6174-bt";

		enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
		clocks = <&divclk4>;
		firmware-name = "nvm_00440302.bin";
	};
};

serial@898000 {
	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";
		clocks = <&rpmhcc RPMH_RF_CLK2>;
	};
};
+112 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/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,qca6174-bt
      - qcom,qca9377-bt
      - qcom,wcn3990-bt
      - qcom,wcn3991-bt
      - qcom,wcn3998-bt
      - qcom,qca6390-bt

  enable-gpios:
    maxItems: 1
    description: gpio specifier used to enable chip

  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

  max-speed:
    description: see Documentation/devicetree/bindings/serial/serial.yaml

  firmware-name:
    description: specify the name of nvm firmware to load

  local-bd-address:
    description: see Documentation/devicetree/bindings/net/bluetooth.txt


required:
  - compatible

additionalProperties: false

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,qca6174-bt
    then:
      required:
        - enable-gpios
        - clocks

  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,wcn3990-bt
              - qcom,wcn3991-bt
              - qcom,wcn3998-bt
    then:
      required:
        - vddio-supply
        - vddxo-supply
        - vddrf-supply
        - vddch0-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";
        };
    };