[v2,2/3] dt-bindings: net: bluetooth: Convert to DT schema
diff mbox series

Message ID 1618936010-16579-3-git-send-email-gubbaven@codeaurora.org
State New
Headers show
Series
  • Enable Bluetooth functinality for WCN6750
Related show

Commit Message

Venkata Lakshmi Narayana Gubba April 20, 2021, 4:26 p.m. UTC
Converted Qualcomm Bluetooth binidings to DT schema.

Signed-off-by: Venkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
---
 .../devicetree/bindings/net/qualcomm-bluetooth.txt | 69 -----------------
 .../bindings/net/qualcomm-bluetooth.yaml           | 87 ++++++++++++++++++++++
 2 files changed, 87 insertions(+), 69 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
 create mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml

Comments

Matthias Kaehlcke April 21, 2021, 12:50 a.m. UTC | #1
On Tue, Apr 20, 2021 at 09:56:49PM +0530, Venkata Lakshmi Narayana Gubba wrote:

> Subject: dt-bindings: net: bluetooth: Convert to DT schema

This doesn't convert the generic binding or all bindings to DT schema
as the subject suggests, but the Qualcomm BT binding.

>
> Converted Qualcomm Bluetooth binidings to DT schema.
> 
> Signed-off-by: Venkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
> ---
>  .../devicetree/bindings/net/qualcomm-bluetooth.txt | 69 -----------------
>  .../bindings/net/qualcomm-bluetooth.yaml           | 87 ++++++++++++++++++++++
>  2 files changed, 87 insertions(+), 69 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>  create mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> deleted file mode 100644
> index 709ca6d..0000000
> --- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -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>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> new file mode 100644
> index 0000000..55cd995
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> @@ -0,0 +1,87 @@
> +# 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:
> +  - Rob Herring <robh@kernel.org>
> +  - Marcel Holtmann <marcel@holtmann.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      

delete trailing blanks

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

delete blanks

> +  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: 

delete trailing blank

> +    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

it seems you could make the supplies conditionally required based on the
compatible string. See Documentation/devicetree/bindings/connector/usb-connector.yaml
for an example

> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    uart {
> +        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";
> +        };
> +    };
> +  - |
> +    uart {
> +
> +        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";		

delete trailing blanks
Rob Herring April 21, 2021, 5:10 p.m. UTC | #2
On Tue, Apr 20, 2021 at 09:56:49PM +0530, Venkata Lakshmi Narayana Gubba wrote:
> Converted Qualcomm Bluetooth binidings to DT schema.
> 
> Signed-off-by: Venkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
> ---
>  .../devicetree/bindings/net/qualcomm-bluetooth.txt | 69 -----------------
>  .../bindings/net/qualcomm-bluetooth.yaml           | 87 ++++++++++++++++++++++
>  2 files changed, 87 insertions(+), 69 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>  create mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml

> diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> new file mode 100644
> index 0000000..55cd995
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> @@ -0,0 +1,87 @@
> +# 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:
> +  - Rob Herring <robh@kernel.org>
> +  - Marcel Holtmann <marcel@holtmann.org>

This should be someone that knows and cares about this h/w. I don't.

> +
> +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
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    uart {
> +        label = "BT-UART";

Why do you need a label for in internal port where you've described the 
connection?

> +        status = "okay";

Don't show status in examples.

> +
> +        bluetooth {
> +            compatible = "qcom,qca6174-bt";
> +            enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
> +            clocks = <&divclk4>;
> +            firmware-name = "nvm_00440302.bin";
> +        };
> +    };
> +  - |
> +    uart {
> +
> +        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";		
> +        };
> +    };
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
> of Code Aurora Forum, hosted by The Linux Foundation
>
Rob Herring April 21, 2021, 5:10 p.m. UTC | #3
On Tue, Apr 20, 2021 at 09:56:49PM +0530, Venkata Lakshmi Narayana Gubba wrote:
> Converted Qualcomm Bluetooth binidings to DT schema.
> 
> Signed-off-by: Venkata Lakshmi Narayana Gubba <gubbaven@codeaurora.org>
> ---
>  .../devicetree/bindings/net/qualcomm-bluetooth.txt | 69 -----------------
>  .../bindings/net/qualcomm-bluetooth.yaml           | 87 ++++++++++++++++++++++
>  2 files changed, 87 insertions(+), 69 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>  create mode 100644 Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> 
> diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> deleted file mode 100644
> index 709ca6d..0000000
> --- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
> +++ /dev/null
> @@ -1,69 +0,0 @@
> -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>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> new file mode 100644
> index 0000000..55cd995
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> @@ -0,0 +1,87 @@
> +# 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:
> +  - Rob Herring <robh@kernel.org>
> +  - Marcel Holtmann <marcel@holtmann.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
> +
> +examples:
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    uart {

Also, 'serial' is the proper node name.

> +        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";
> +        };
> +    };
> +  - |
> +    uart {
> +
> +        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";		
> +        };
> +    };
> -- 
> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member 
> of Code Aurora Forum, hosted by The Linux Foundation
>
Venkata Lakshmi Narayana Gubba May 6, 2021, 5:23 p.m. UTC | #4
Hi Matthias,
On 2021-04-21 06:20, Matthias Kaehlcke wrote:
> On Tue, Apr 20, 2021 at 09:56:49PM +0530, Venkata Lakshmi Narayana 
> Gubba wrote:
> 
>> Subject: dt-bindings: net: bluetooth: Convert to DT schema
> 
> This doesn't convert the generic binding or all bindings to DT schema
> as the subject suggests, but the Qualcomm BT binding.
> 
[Venkata]:
I will update in next patchset.
>> 
>> Converted Qualcomm Bluetooth binidings to DT schema.
>> 
>> Signed-off-by: Venkata Lakshmi Narayana Gubba 
>> <gubbaven@codeaurora.org>
>> ---
>>  .../devicetree/bindings/net/qualcomm-bluetooth.txt | 69 
>> -----------------
>>  .../bindings/net/qualcomm-bluetooth.yaml           | 87 
>> ++++++++++++++++++++++
>>  2 files changed, 87 insertions(+), 69 deletions(-)
>>  delete mode 100644 
>> Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>>  create mode 100644 
>> Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> 
>> diff --git 
>> a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt 
>> b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>> deleted file mode 100644
>> index 709ca6d..0000000
>> --- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>> +++ /dev/null
>> @@ -1,69 +0,0 @@
>> -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>;
>> -	};
>> -};
>> diff --git 
>> a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml 
>> b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> new file mode 100644
>> index 0000000..55cd995
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> @@ -0,0 +1,87 @@
>> +# 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:
>> +  - Rob Herring <robh@kernel.org>
>> +  - Marcel Holtmann <marcel@holtmann.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
> 
> delete trailing blanks
> 
[Venkata]:
I will update in next patchset.
>> +
>> +  enable-gpios:
>> +    maxItems: 1
>> +    description: gpio specifier used to enable chip
>> +
> 
> delete blanks
> 
[Venkata]:
I will update in next patchset.
>> +  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:
> 
> delete trailing blank
> 
[Venkata]:
I will update in next patchset.
>> +    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
> 
> it seems you could make the supplies conditionally required based on 
> the
> compatible string. See
> Documentation/devicetree/bindings/connector/usb-connector.yaml
> for an example
> 
[Venkata]:
I will update in next patchset
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/gpio/gpio.h>
>> +    uart {
>> +        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";
>> +        };
>> +    };
>> +  - |
>> +    uart {
>> +
>> +        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";
> 
> delete trailing blanks
[Venkata]:
I will update in next patchset.

Regards,
Venkata.
Venkata Lakshmi Narayana Gubba May 6, 2021, 5:26 p.m. UTC | #5
Hi Rob Herring,

On 2021-04-21 22:40, Rob Herring wrote:
> On Tue, Apr 20, 2021 at 09:56:49PM +0530, Venkata Lakshmi Narayana 
> Gubba wrote:
>> Converted Qualcomm Bluetooth binidings to DT schema.
>> 
>> Signed-off-by: Venkata Lakshmi Narayana Gubba 
>> <gubbaven@codeaurora.org>
>> ---
>>  .../devicetree/bindings/net/qualcomm-bluetooth.txt | 69 
>> -----------------
>>  .../bindings/net/qualcomm-bluetooth.yaml           | 87 
>> ++++++++++++++++++++++
>>  2 files changed, 87 insertions(+), 69 deletions(-)
>>  delete mode 100644 
>> Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>>  create mode 100644 
>> Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
> 
>> diff --git 
>> a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml 
>> b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> new file mode 100644
>> index 0000000..55cd995
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> @@ -0,0 +1,87 @@
>> +# 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:
>> +  - Rob Herring <robh@kernel.org>
>> +  - Marcel Holtmann <marcel@holtmann.org>
> 
> This should be someone that knows and cares about this h/w. I don't.
> 
[Venkata]:
I will remove your name in next patchset.
>> +
>> +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
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/gpio/gpio.h>
>> +    uart {
>> +        label = "BT-UART";
> 
> Why do you need a label for in internal port where you've described the
> connection?
> 
[Venkata]:
I will remove in next patchset.
>> +        status = "okay";
> 
> Don't show status in examples.
> 
[Venkata]:
Sure, I will remove in next patchset.
>> +
>> +        bluetooth {
>> +            compatible = "qcom,qca6174-bt";
>> +            enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
>> +            clocks = <&divclk4>;
>> +            firmware-name = "nvm_00440302.bin";
>> +        };
>> +    };
>> +  - |
>> +    uart {
>> +
>> +        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";
>> +        };
>> +    };
>> --
>> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
>> member
>> of Code Aurora Forum, hosted by The Linux Foundation
>> 

Regards,
Venkata.
Venkata Lakshmi Narayana Gubba May 6, 2021, 5:28 p.m. UTC | #6
Hi Rob Herring,
On 2021-04-21 22:40, Rob Herring wrote:
> On Tue, Apr 20, 2021 at 09:56:49PM +0530, Venkata Lakshmi Narayana 
> Gubba wrote:
>> Converted Qualcomm Bluetooth binidings to DT schema.
>> 
>> Signed-off-by: Venkata Lakshmi Narayana Gubba 
>> <gubbaven@codeaurora.org>
>> ---
>>  .../devicetree/bindings/net/qualcomm-bluetooth.txt | 69 
>> -----------------
>>  .../bindings/net/qualcomm-bluetooth.yaml           | 87 
>> ++++++++++++++++++++++
>>  2 files changed, 87 insertions(+), 69 deletions(-)
>>  delete mode 100644 
>> Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>>  create mode 100644 
>> Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> 
>> diff --git 
>> a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt 
>> b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>> deleted file mode 100644
>> index 709ca6d..0000000
>> --- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
>> +++ /dev/null
>> @@ -1,69 +0,0 @@
>> -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>;
>> -	};
>> -};
>> diff --git 
>> a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml 
>> b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> new file mode 100644
>> index 0000000..55cd995
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
>> @@ -0,0 +1,87 @@
>> +# 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:
>> +  - Rob Herring <robh@kernel.org>
>> +  - Marcel Holtmann <marcel@holtmann.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
>> +
>> +examples:
>> +  - |
>> +    #include <dt-bindings/gpio/gpio.h>
>> +    uart {
> 
> Also, 'serial' is the proper node name.
> 
[Venkata]:
Sure, I will update in next patchset.
>> +        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";
>> +        };
>> +    };
>> +  - |
>> +    uart {
>> +
>> +        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";
>> +        };
>> +    };
>> --
>> QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a 
>> member
>> of Code Aurora Forum, hosted by The Linux Foundation
>> 

Regards,
Venkata.

Patch
diff mbox series

diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
deleted file mode 100644
index 709ca6d..0000000
--- a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.txt
+++ /dev/null
@@ -1,69 +0,0 @@ 
-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>;
-	};
-};
diff --git a/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
new file mode 100644
index 0000000..55cd995
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/qualcomm-bluetooth.yaml
@@ -0,0 +1,87 @@ 
+# 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:
+  - Rob Herring <robh@kernel.org>
+  - Marcel Holtmann <marcel@holtmann.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
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    uart {
+        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";
+        };
+    };
+  - |
+    uart {
+
+        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";		
+        };
+    };