Re: [PATCH v1 04/14] net: dt-bindings: Convert Marvell 8897/8997 bindings to YAML

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 20, 2025 at 12:15 PM Ariel D'Alessandro
<ariel.dalessandro@xxxxxxxxxxxxx> wrote:
>
> Convert the existing text-based DT bindings for Marvell 8897/8997
> (sd8897/sd8997) bluetooth devices controller to a YAML schema.
>
> While here, bindings for "usb1286,204e" (USB interface) are dropped from
> the YAML definition as these are currently documented in file:
>
> - Documentation/devicetree/bindings/net/btusb.txt
>
> Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@xxxxxxxxxxxxx>
> ---
>  .../bindings/net/marvell,sd8897-bt.yaml       | 91 +++++++++++++++++++

This needs to move to net/bluetooth/

>  .../bindings/net/marvell-bt-8xxx.txt          | 83 -----------------
>  2 files changed, 91 insertions(+), 83 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml
>  delete mode 100644 Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt
>
> diff --git a/Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml b/Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml
> new file mode 100644
> index 0000000000000..6539868c08b8a
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/marvell,sd8897-bt.yaml
> @@ -0,0 +1,91 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/marvell,sd8897-bt.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO)
> +
> +maintainers:
> +  - Ariel D'Alessandro <ariel.dalessandro@xxxxxxxxxxxxx>
> +

Needs a $ref to bluetooth-controller.yaml

> +properties:
> +  compatible:
> +    enum:
> +      - marvell,sd8897-bt
> +      - marvell,sd8997-bt
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  marvell,cal-data:
> +    $ref: /schemas/types.yaml#/definitions/uint8-array
> +    description:
> +      Calibration data downloaded to the device during initialization.
> +    minItems: 28

Just: maxItems: 28

> +
> +  marvell,wakeup-pin:
> +    $ref: /schemas/types.yaml#/definitions/uint16
> +    description:
> +      Wakeup pin number of the bluetooth chip. Used by firmware to wakeup host
> +      system.
> +
> +  marvell,wakeup-gap-ms:

This unfortunately needs a uint16 type. That will cause a warning
which has to be fixed on the dtschema side.

> +    description:
> +      Wakeup latency of the host platform. Required by the chip sleep feature.
> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/irq.h>
> +    #include <dt-bindings/pinctrl/rockchip.h>

Please drop this and just use a number below.

> +
> +    sdio0 {
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        btmrvl: btmrvl@2 {
> +            compatible = "marvell,sd8897-bt";
> +            reg = <2>;
> +            interrupt-parent = <&gpio4>;
> +            interrupts = <RK_PD7 IRQ_TYPE_LEVEL_LOW>;
> +            marvell,wakeup-pin = /bits/ 16 <13>;
> +            pinctrl-names = "default";
> +            pinctrl-0 = <&bt_host_wake_l>;
> +        };
> +    };

I would drop this example.

> +
> +    mmc3 {

mmc {

> +        vmmc-supply = <&wlan_en_reg>;
> +        bus-width = <4>;
> +        cap-power-off-card;
> +        keep-power-in-suspend;
> +
> +        #address-cells = <1>;
> +        #size-cells = <0>;
> +
> +        bluetooth: bluetooth@2 {

Drop the label.

> +            compatible = "marvell,sd8897-bt";
> +            reg = <2>;
> +            interrupt-parent = <&pio>;
> +            interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
> +
> +            marvell,cal-data = /bits/ 8 <
> +                0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
> +                0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
> +                0x00 0x00 0xf0 0x00>;
> +            marvell,wakeup-pin = /bits/ 16 <0x0d>;
> +            marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
> +        };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt b/Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt
> deleted file mode 100644
> index 957e5e5c2927c..0000000000000
> --- a/Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt
> +++ /dev/null
> @@ -1,83 +0,0 @@
> -Marvell 8897/8997 (sd8897/sd8997) bluetooth devices (SDIO or USB based)
> -------
> -The 8997 devices supports multiple interfaces. When used on SDIO interfaces,
> -the btmrvl driver is used and when used on USB interface, the btusb driver is
> -used.
> -
> -Required properties:
> -
> -  - compatible : should be one of the following:
> -       * "marvell,sd8897-bt" (for SDIO)
> -       * "marvell,sd8997-bt" (for SDIO)
> -       * "usb1286,204e"      (for USB)
> -
> -Optional properties:
> -
> -  - marvell,cal-data: Calibration data downloaded to the device during
> -                     initialization. This is an array of 28 values(u8).
> -                     This is only applicable to SDIO devices.
> -
> -  - marvell,wakeup-pin: It represents wakeup pin number of the bluetooth chip.
> -                       firmware will use the pin to wakeup host system (u16).
> -  - marvell,wakeup-gap-ms: wakeup gap represents wakeup latency of the host
> -                     platform. The value will be configured to firmware. This
> -                     is needed to work chip's sleep feature as expected (u16).
> -  - interrupt-names: Used only for USB based devices (See below)
> -  - interrupts : specifies the interrupt pin number to the cpu. For SDIO, the
> -                driver will use the first interrupt specified in the interrupt
> -                array. For USB based devices, the driver will use the interrupt
> -                named "wakeup" from the interrupt-names and interrupt arrays.
> -                The driver will request an irq based on this interrupt number.
> -                During system suspend, the irq will be enabled so that the
> -                bluetooth chip can wakeup host platform under certain
> -                conditions. During system resume, the irq will be disabled
> -                to make sure unnecessary interrupt is not received.
> -
> -Example:
> -
> -IRQ pin 119 is used as system wakeup source interrupt.
> -wakeup pin 13 and gap 100ms are configured so that firmware can wakeup host
> -using this device side pin and wakeup latency.
> -
> -Example for SDIO device follows (calibration data is also available in
> -below example).
> -
> -&mmc3 {
> -       vmmc-supply = <&wlan_en_reg>;
> -       bus-width = <4>;
> -       cap-power-off-card;
> -       keep-power-in-suspend;
> -
> -       #address-cells = <1>;
> -       #size-cells = <0>;
> -       btmrvl: bluetooth@2 {
> -               compatible = "marvell,sd8897-bt";
> -               reg = <2>;
> -               interrupt-parent = <&pio>;
> -               interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
> -
> -               marvell,cal-data = /bits/ 8 <
> -                       0x37 0x01 0x1c 0x00 0xff 0xff 0xff 0xff 0x01 0x7f 0x04 0x02
> -                       0x00 0x00 0xba 0xce 0xc0 0xc6 0x2d 0x00 0x00 0x00 0x00 0x00
> -                       0x00 0x00 0xf0 0x00>;
> -               marvell,wakeup-pin = /bits/ 16 <0x0d>;
> -               marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
> -       };
> -};
> -
> -Example for USB device:
> -
> -&usb_host1_ohci {
> -    #address-cells = <1>;
> -    #size-cells = <0>;
> -
> -    mvl_bt1: bt@1 {
> -       compatible = "usb1286,204e";
> -       reg = <1>;
> -       interrupt-parent = <&gpio0>;
> -       interrupt-names = "wakeup";
> -       interrupts = <119 IRQ_TYPE_LEVEL_LOW>;
> -       marvell,wakeup-pin = /bits/ 16 <0x0d>;
> -       marvell,wakeup-gap-ms = /bits/ 16 <0x64>;
> -    };
> -};
> --
> 2.50.1
>





[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux