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@xxxxxxxxxxxxxx> > --- > .../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@xxxxxxxxxx> > + - Marcel Holtmann <marcel@xxxxxxxxxxxx> > + > +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