[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAL_Jsq+K72Kof-Z3q2DSh3FKO64npLF6hDJnqnTzNBUoOoVQFA@mail.gmail.com>
Date: Thu, 21 Aug 2025 09:28:23 -0500
From: Rob Herring <robh@...nel.org>
To: "Ariel D'Alessandro" <ariel.dalessandro@...labora.com>
Cc: airlied@...il.com, amergnat@...libre.com, andrew+netdev@...n.ch,
andrew-ct.chen@...iatek.com, angelogioacchino.delregno@...labora.com,
broonie@...nel.org, chunkuang.hu@...nel.org, ck.hu@...iatek.com,
conor+dt@...nel.org, davem@...emloft.net, dmitry.torokhov@...il.com,
edumazet@...gle.com, flora.fu@...iatek.com, houlong.wei@...iatek.com,
jeesw@...fas.com, jmassot@...labora.com, kernel@...labora.com,
krzk+dt@...nel.org, kuba@...nel.org,
kyrie.wu@...iatek.corp-partner.google.com, lgirdwood@...il.com,
linus.walleij@...aro.org, louisalexis.eyraud@...labora.com,
maarten.lankhorst@...ux.intel.com, matthias.bgg@...il.com, mchehab@...nel.org,
minghsiu.tsai@...iatek.com, mripard@...nel.org, p.zabel@...gutronix.de,
pabeni@...hat.com, sean.wang@...nel.org, simona@...ll.ch,
support.opensource@...semi.com, tiffany.lin@...iatek.com, tzimmermann@...e.de,
yunfei.dong@...iatek.com, devicetree@...r.kernel.org,
dri-devel@...ts.freedesktop.org, linux-arm-kernel@...ts.infradead.org,
linux-clk@...r.kernel.org, linux-gpio@...r.kernel.org,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, linux-mediatek@...ts.infradead.org,
linux-sound@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH v1 04/14] net: dt-bindings: Convert Marvell 8897/8997
bindings to YAML
On Wed, Aug 20, 2025 at 12:15 PM Ariel D'Alessandro
<ariel.dalessandro@...labora.com> 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@...labora.com>
> ---
> .../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@...labora.com>
> +
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
>
Powered by blists - more mailing lists