* [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts
@ 2024-04-12 7:30 Chen-Yu Tsai
2024-04-12 7:30 ` [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth Chen-Yu Tsai
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Chen-Yu Tsai @ 2024-04-12 7:30 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, Sean Wang, linux-bluetooth, netdev, linux-mediatek,
devicetree, linux-arm-kernel, linux-kernel
Hi everyone,
This is v3 of my MT7921S Bluetooth binding series.
Changes since v2:
- Expand description and commit message to clearly state that WiFi and
Bluetooth are separate SDIO functions, and that each function should
be a separate device node, as specified by the MMC binding.
- Change 'additionalProperties' to 'unevaluatedProperties'
- Add missing separating new line
- s/ot/to/
Changes since v1:
- Reworded descriptions in binding
- Moved binding maintainer section before binding description
- Added missing reference to bluetooth-controller.yaml
- Added missing GPIO header to example
This short series adds a binding document for the MT7921S SDIO Bluetooth
controller. The MT7921S is a SDIO-based WiFi/Bluetooth combo. WiFi and
Bluetooth are separate SDIO functions. The chip has extra per-subsystem
reset lines that can reset only WiFi or Bluetooth cores.
Patch 1 documents the SDIO function and the reset line, based on
existing device tree and driver usage. I listed Sean Wang, the original
driver author and maintainer, as the maintainer of the binding.
Patch 2 fixes up the sole existing usage of the compatible string by
making it a proper SDIO function node.
Please take a look. Not sure which tree patch 1 should be merged
through? I suppose with proper acks it could go through the soc/mediatek
tree together with patch 2.
Regards
ChenYu
Chen-Yu Tsai (2):
dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
arm64: dts: mediatek: mt8183-pico6: Fix bluetooth node
.../bluetooth/mediatek,mt7921s-bluetooth.yaml | 55 +++++++++++++++++++
MAINTAINERS | 1 +
.../mediatek/mt8183-kukui-jacuzzi-pico6.dts | 3 +-
3 files changed, 58 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
--
2.44.0.683.g7961c838ac-goog
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
2024-04-12 7:30 [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts Chen-Yu Tsai
@ 2024-04-12 7:30 ` Chen-Yu Tsai
2024-04-15 8:00 ` AngeloGioacchino Del Regno
` (2 more replies)
2024-04-12 7:30 ` [PATCH v3 2/2] arm64: dts: mediatek: mt8183-pico6: Fix bluetooth node Chen-Yu Tsai
2024-05-02 14:50 ` [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts patchwork-bot+bluetooth
2 siblings, 3 replies; 10+ messages in thread
From: Chen-Yu Tsai @ 2024-04-12 7:30 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, Sean Wang, linux-bluetooth, netdev, linux-mediatek,
devicetree, linux-arm-kernel, linux-kernel
The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
SDIO. WiFi and Bluetooth are separate SDIO functions within the chip.
While the Bluetooth SDIO function is fully discoverable, the chip has
a pin that can reset just the Bluetooth core, as opposed to the full
chip. This should be described in the device tree.
Add a device tree binding for the Bluetooth SDIO function of the MT7921S
specifically to document the reset line. This binding is based on the MMC
controller binding, which specifies one device node per SDIO function.
Cc: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
Changes since v2:
- Expand description and commit message to clearly state that WiFi and
Bluetooth are separate SDIO functions, and that each function should
be a separate device node, as specified by the MMC binding.
- Change 'additionalProperties' to 'unevaluatedProperties'
- Add missing separating new line
- s/ot/to/
Angelo's reviewed-by was not picked up due to the above changes.
Changes since v1:
- Reworded descriptions
- Moved binding maintainer section before description
- Added missing reference to bluetooth-controller.yaml
- Added missing GPIO header to example
---
.../bluetooth/mediatek,mt7921s-bluetooth.yaml | 55 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 56 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
diff --git a/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
new file mode 100644
index 000000000000..67ff7caad599
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7921s-bluetooth.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MediaTek MT7921S Bluetooth
+
+maintainers:
+ - Sean Wang <sean.wang@mediatek.com>
+
+description:
+ MT7921S is an SDIO-attached dual-radio WiFi+Bluetooth Combo chip; each
+ function is its own SDIO function on a shared SDIO interface. The chip
+ has two dedicated reset lines, one for each function core.
+ This binding only covers the Bluetooth SDIO function, with one device
+ node describing only this SDIO function.
+
+allOf:
+ - $ref: bluetooth-controller.yaml#
+
+properties:
+ compatible:
+ enum:
+ - mediatek,mt7921s-bluetooth
+
+ reg:
+ const: 2
+
+ reset-gpios:
+ maxItems: 1
+ description:
+ An active-low reset line for the Bluetooth core; on typical M.2
+ key E modules this is the W_DISABLE2# pin.
+
+required:
+ - compatible
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ mmc {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ bluetooth@2 {
+ compatible = "mediatek,mt7921s-bluetooth";
+ reg = <2>;
+ reset-gpios = <&pio 8 GPIO_ACTIVE_LOW>;
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 88981d9f3958..218bc2a21207 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13818,6 +13818,7 @@ M: Sean Wang <sean.wang@mediatek.com>
L: linux-bluetooth@vger.kernel.org
L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
S: Maintained
+F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
F: Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
F: drivers/bluetooth/btmtkuart.c
--
2.44.0.683.g7961c838ac-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 2/2] arm64: dts: mediatek: mt8183-pico6: Fix bluetooth node
2024-04-12 7:30 [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts Chen-Yu Tsai
2024-04-12 7:30 ` [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth Chen-Yu Tsai
@ 2024-04-12 7:30 ` Chen-Yu Tsai
2024-05-02 14:50 ` [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts patchwork-bot+bluetooth
2 siblings, 0 replies; 10+ messages in thread
From: Chen-Yu Tsai @ 2024-04-12 7:30 UTC (permalink / raw)
To: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: Chen-Yu Tsai, Sean Wang, linux-bluetooth, netdev, linux-mediatek,
devicetree, linux-arm-kernel, linux-kernel
Bluetooth is not a random device connected to the MMC/SD controller. It
is function 2 of the SDIO device.
Fix the address of the bluetooth node. Also fix the node name and drop
the label.
Fixes: 055ef10ccdd4 ("arm64: dts: mt8183: Add jacuzzi pico/pico6 board")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
---
No changes since v1.
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts
index a2e74b829320..6a7ae616512d 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-pico6.dts
@@ -82,7 +82,8 @@ pins-clk {
};
&mmc1 {
- bt_reset: bt-reset {
+ bluetooth@2 {
+ reg = <2>;
compatible = "mediatek,mt7921s-bluetooth";
pinctrl-names = "default";
pinctrl-0 = <&bt_pins_reset>;
--
2.44.0.683.g7961c838ac-goog
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
2024-04-12 7:30 ` [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth Chen-Yu Tsai
@ 2024-04-15 8:00 ` AngeloGioacchino Del Regno
2024-04-15 23:05 ` Rob Herring
2024-04-17 23:04 ` Sean Wang
2 siblings, 0 replies; 10+ messages in thread
From: AngeloGioacchino Del Regno @ 2024-04-15 8:00 UTC (permalink / raw)
To: Chen-Yu Tsai, Marcel Holtmann, Luiz Augusto von Dentz,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger
Cc: Sean Wang, linux-bluetooth, netdev, linux-mediatek, devicetree,
linux-arm-kernel, linux-kernel
Il 12/04/24 09:30, Chen-Yu Tsai ha scritto:
> The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
> SDIO. WiFi and Bluetooth are separate SDIO functions within the chip.
> While the Bluetooth SDIO function is fully discoverable, the chip has
> a pin that can reset just the Bluetooth core, as opposed to the full
> chip. This should be described in the device tree.
>
> Add a device tree binding for the Bluetooth SDIO function of the MT7921S
> specifically to document the reset line. This binding is based on the MMC
> controller binding, which specifies one device node per SDIO function.
>
> Cc: Sean Wang <sean.wang@mediatek.com>
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
2024-04-12 7:30 ` [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth Chen-Yu Tsai
2024-04-15 8:00 ` AngeloGioacchino Del Regno
@ 2024-04-15 23:05 ` Rob Herring
2024-05-02 7:51 ` Chen-Yu Tsai
2024-04-17 23:04 ` Sean Wang
2 siblings, 1 reply; 10+ messages in thread
From: Rob Herring @ 2024-04-15 23:05 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: Matthias Brugger, Krzysztof Kozlowski, devicetree,
AngeloGioacchino Del Regno, linux-bluetooth, Rob Herring, netdev,
Marcel Holtmann, linux-arm-kernel, Luiz Augusto von Dentz,
Sean Wang, linux-kernel, linux-mediatek, Conor Dooley
On Fri, 12 Apr 2024 15:30:42 +0800, Chen-Yu Tsai wrote:
> The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
> SDIO. WiFi and Bluetooth are separate SDIO functions within the chip.
> While the Bluetooth SDIO function is fully discoverable, the chip has
> a pin that can reset just the Bluetooth core, as opposed to the full
> chip. This should be described in the device tree.
>
> Add a device tree binding for the Bluetooth SDIO function of the MT7921S
> specifically to document the reset line. This binding is based on the MMC
> controller binding, which specifies one device node per SDIO function.
>
> Cc: Sean Wang <sean.wang@mediatek.com>
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> ---
> Changes since v2:
> - Expand description and commit message to clearly state that WiFi and
> Bluetooth are separate SDIO functions, and that each function should
> be a separate device node, as specified by the MMC binding.
> - Change 'additionalProperties' to 'unevaluatedProperties'
> - Add missing separating new line
> - s/ot/to/
>
> Angelo's reviewed-by was not picked up due to the above changes.
>
> Changes since v1:
> - Reworded descriptions
> - Moved binding maintainer section before description
> - Added missing reference to bluetooth-controller.yaml
> - Added missing GPIO header to example
> ---
> .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 55 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 56 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
2024-04-12 7:30 ` [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth Chen-Yu Tsai
2024-04-15 8:00 ` AngeloGioacchino Del Regno
2024-04-15 23:05 ` Rob Herring
@ 2024-04-17 23:04 ` Sean Wang
2024-04-17 23:31 ` Chen-Yu Tsai
2 siblings, 1 reply; 10+ messages in thread
From: Sean Wang @ 2024-04-17 23:04 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, linux-bluetooth, netdev,
linux-mediatek, devicetree, linux-arm-kernel, linux-kernel
Hi Chen-Yu,
On Fri, Apr 12, 2024 at 12:31 AM Chen-Yu Tsai <wenst@chromium.org> wrote:
>
> The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
> SDIO. WiFi and Bluetooth are separate SDIO functions within the chip.
> While the Bluetooth SDIO function is fully discoverable, the chip has
> a pin that can reset just the Bluetooth core, as opposed to the full
> chip. This should be described in the device tree.
>
> Add a device tree binding for the Bluetooth SDIO function of the MT7921S
> specifically to document the reset line. This binding is based on the MMC
> controller binding, which specifies one device node per SDIO function.
>
> Cc: Sean Wang <sean.wang@mediatek.com>
> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> ---
> Changes since v2:
> - Expand description and commit message to clearly state that WiFi and
> Bluetooth are separate SDIO functions, and that each function should
> be a separate device node, as specified by the MMC binding.
> - Change 'additionalProperties' to 'unevaluatedProperties'
> - Add missing separating new line
> - s/ot/to/
>
> Angelo's reviewed-by was not picked up due to the above changes.
>
> Changes since v1:
> - Reworded descriptions
> - Moved binding maintainer section before description
> - Added missing reference to bluetooth-controller.yaml
> - Added missing GPIO header to example
> ---
> .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 55 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 56 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> new file mode 100644
> index 000000000000..67ff7caad599
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> @@ -0,0 +1,55 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7921s-bluetooth.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MediaTek MT7921S Bluetooth
> +
> +maintainers:
> + - Sean Wang <sean.wang@mediatek.com>
> +
> +description:
> + MT7921S is an SDIO-attached dual-radio WiFi+Bluetooth Combo chip; each
> + function is its own SDIO function on a shared SDIO interface. The chip
> + has two dedicated reset lines, one for each function core.
> + This binding only covers the Bluetooth SDIO function, with one device
> + node describing only this SDIO function.
> +
> +allOf:
> + - $ref: bluetooth-controller.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - mediatek,mt7921s-bluetooth
> +
> + reg:
> + const: 2
> +
> + reset-gpios:
> + maxItems: 1
> + description:
> + An active-low reset line for the Bluetooth core; on typical M.2
> + key E modules this is the W_DISABLE2# pin.
> +
Thanks for adding the new setup for the MT7921S devices. They look good to me.
Sometimes, the MT7921S might be set up to wake up the host when it's
asleep using a sideband signal.
This might need an extra pin called "wakeup" to make it happen. Can
you help add this pin to the settings in the same update, or should I
do it later?
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + mmc {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + bluetooth@2 {
> + compatible = "mediatek,mt7921s-bluetooth";
> + reg = <2>;
> + reset-gpios = <&pio 8 GPIO_ACTIVE_LOW>;
> + };
> + };
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 88981d9f3958..218bc2a21207 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -13818,6 +13818,7 @@ M: Sean Wang <sean.wang@mediatek.com>
> L: linux-bluetooth@vger.kernel.org
> L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
> S: Maintained
> +F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> F: Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
> F: drivers/bluetooth/btmtkuart.c
>
> --
> 2.44.0.683.g7961c838ac-goog
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
2024-04-17 23:04 ` Sean Wang
@ 2024-04-17 23:31 ` Chen-Yu Tsai
2024-04-17 23:41 ` Sean Wang
0 siblings, 1 reply; 10+ messages in thread
From: Chen-Yu Tsai @ 2024-04-17 23:31 UTC (permalink / raw)
To: Sean Wang
Cc: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, linux-bluetooth, netdev,
linux-mediatek, devicetree, linux-arm-kernel, linux-kernel
On Wed, Apr 17, 2024 at 4:04 PM Sean Wang <sean.wang@kernel.org> wrote:
>
> Hi Chen-Yu,
>
> On Fri, Apr 12, 2024 at 12:31 AM Chen-Yu Tsai <wenst@chromium.org> wrote:
> >
> > The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
> > SDIO. WiFi and Bluetooth are separate SDIO functions within the chip.
> > While the Bluetooth SDIO function is fully discoverable, the chip has
> > a pin that can reset just the Bluetooth core, as opposed to the full
> > chip. This should be described in the device tree.
> >
> > Add a device tree binding for the Bluetooth SDIO function of the MT7921S
> > specifically to document the reset line. This binding is based on the MMC
> > controller binding, which specifies one device node per SDIO function.
> >
> > Cc: Sean Wang <sean.wang@mediatek.com>
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > ---
> > Changes since v2:
> > - Expand description and commit message to clearly state that WiFi and
> > Bluetooth are separate SDIO functions, and that each function should
> > be a separate device node, as specified by the MMC binding.
> > - Change 'additionalProperties' to 'unevaluatedProperties'
> > - Add missing separating new line
> > - s/ot/to/
> >
> > Angelo's reviewed-by was not picked up due to the above changes.
> >
> > Changes since v1:
> > - Reworded descriptions
> > - Moved binding maintainer section before description
> > - Added missing reference to bluetooth-controller.yaml
> > - Added missing GPIO header to example
> > ---
> > .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 55 +++++++++++++++++++
> > MAINTAINERS | 1 +
> > 2 files changed, 56 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> > new file mode 100644
> > index 000000000000..67ff7caad599
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> > @@ -0,0 +1,55 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7921s-bluetooth.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: MediaTek MT7921S Bluetooth
> > +
> > +maintainers:
> > + - Sean Wang <sean.wang@mediatek.com>
> > +
> > +description:
> > + MT7921S is an SDIO-attached dual-radio WiFi+Bluetooth Combo chip; each
> > + function is its own SDIO function on a shared SDIO interface. The chip
> > + has two dedicated reset lines, one for each function core.
> > + This binding only covers the Bluetooth SDIO function, with one device
> > + node describing only this SDIO function.
> > +
> > +allOf:
> > + - $ref: bluetooth-controller.yaml#
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - mediatek,mt7921s-bluetooth
> > +
> > + reg:
> > + const: 2
> > +
> > + reset-gpios:
> > + maxItems: 1
> > + description:
> > + An active-low reset line for the Bluetooth core; on typical M.2
> > + key E modules this is the W_DISABLE2# pin.
> > +
>
> Thanks for adding the new setup for the MT7921S devices. They look good to me.
> Sometimes, the MT7921S might be set up to wake up the host when it's
> asleep using a sideband signal.
> This might need an extra pin called "wakeup" to make it happen. Can
> you help add this pin to the settings in the same update, or should I
> do it later?
I suggest you send a patch on top of this one? I'm not sure if you
would model it as a GPIO or interrupt. And there doesn't seem to be
any code in the driver expecting it.
ChenYu
> > +required:
> > + - compatible
> > + - reg
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > + - |
> > + #include <dt-bindings/gpio/gpio.h>
> > +
> > + mmc {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + bluetooth@2 {
> > + compatible = "mediatek,mt7921s-bluetooth";
> > + reg = <2>;
> > + reset-gpios = <&pio 8 GPIO_ACTIVE_LOW>;
> > + };
> > + };
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 88981d9f3958..218bc2a21207 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -13818,6 +13818,7 @@ M: Sean Wang <sean.wang@mediatek.com>
> > L: linux-bluetooth@vger.kernel.org
> > L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
> > S: Maintained
> > +F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> > F: Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
> > F: drivers/bluetooth/btmtkuart.c
> >
> > --
> > 2.44.0.683.g7961c838ac-goog
> >
> >
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
2024-04-17 23:31 ` Chen-Yu Tsai
@ 2024-04-17 23:41 ` Sean Wang
0 siblings, 0 replies; 10+ messages in thread
From: Sean Wang @ 2024-04-17 23:41 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: Marcel Holtmann, Luiz Augusto von Dentz, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Matthias Brugger,
AngeloGioacchino Del Regno, Sean Wang, linux-bluetooth, netdev,
linux-mediatek, devicetree, linux-arm-kernel, linux-kernel
Hi Chen-Yu,
okay, we will add it once we have implemented it in the driver. thanks
for adding the dt-binding.
Sean
On Wed, Apr 17, 2024 at 4:32 PM Chen-Yu Tsai <wenst@chromium.org> wrote:
>
> On Wed, Apr 17, 2024 at 4:04 PM Sean Wang <sean.wang@kernel.org> wrote:
> >
> > Hi Chen-Yu,
> >
> > On Fri, Apr 12, 2024 at 12:31 AM Chen-Yu Tsai <wenst@chromium.org> wrote:
> > >
> > > The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
> > > SDIO. WiFi and Bluetooth are separate SDIO functions within the chip.
> > > While the Bluetooth SDIO function is fully discoverable, the chip has
> > > a pin that can reset just the Bluetooth core, as opposed to the full
> > > chip. This should be described in the device tree.
> > >
> > > Add a device tree binding for the Bluetooth SDIO function of the MT7921S
> > > specifically to document the reset line. This binding is based on the MMC
> > > controller binding, which specifies one device node per SDIO function.
> > >
> > > Cc: Sean Wang <sean.wang@mediatek.com>
> > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > > ---
> > > Changes since v2:
> > > - Expand description and commit message to clearly state that WiFi and
> > > Bluetooth are separate SDIO functions, and that each function should
> > > be a separate device node, as specified by the MMC binding.
> > > - Change 'additionalProperties' to 'unevaluatedProperties'
> > > - Add missing separating new line
> > > - s/ot/to/
> > >
> > > Angelo's reviewed-by was not picked up due to the above changes.
> > >
> > > Changes since v1:
> > > - Reworded descriptions
> > > - Moved binding maintainer section before description
> > > - Added missing reference to bluetooth-controller.yaml
> > > - Added missing GPIO header to example
> > > ---
> > > .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 55 +++++++++++++++++++
> > > MAINTAINERS | 1 +
> > > 2 files changed, 56 insertions(+)
> > > create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> > > new file mode 100644
> > > index 000000000000..67ff7caad599
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> > > @@ -0,0 +1,55 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7921s-bluetooth.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: MediaTek MT7921S Bluetooth
> > > +
> > > +maintainers:
> > > + - Sean Wang <sean.wang@mediatek.com>
> > > +
> > > +description:
> > > + MT7921S is an SDIO-attached dual-radio WiFi+Bluetooth Combo chip; each
> > > + function is its own SDIO function on a shared SDIO interface. The chip
> > > + has two dedicated reset lines, one for each function core.
> > > + This binding only covers the Bluetooth SDIO function, with one device
> > > + node describing only this SDIO function.
> > > +
> > > +allOf:
> > > + - $ref: bluetooth-controller.yaml#
> > > +
> > > +properties:
> > > + compatible:
> > > + enum:
> > > + - mediatek,mt7921s-bluetooth
> > > +
> > > + reg:
> > > + const: 2
> > > +
> > > + reset-gpios:
> > > + maxItems: 1
> > > + description:
> > > + An active-low reset line for the Bluetooth core; on typical M.2
> > > + key E modules this is the W_DISABLE2# pin.
> > > +
> >
> > Thanks for adding the new setup for the MT7921S devices. They look good to me.
> > Sometimes, the MT7921S might be set up to wake up the host when it's
> > asleep using a sideband signal.
> > This might need an extra pin called "wakeup" to make it happen. Can
> > you help add this pin to the settings in the same update, or should I
> > do it later?
>
> I suggest you send a patch on top of this one? I'm not sure if you
> would model it as a GPIO or interrupt. And there doesn't seem to be
> any code in the driver expecting it.
>
>
> ChenYu
>
> > > +required:
> > > + - compatible
> > > + - reg
> > > +
> > > +unevaluatedProperties: false
> > > +
> > > +examples:
> > > + - |
> > > + #include <dt-bindings/gpio/gpio.h>
> > > +
> > > + mmc {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + bluetooth@2 {
> > > + compatible = "mediatek,mt7921s-bluetooth";
> > > + reg = <2>;
> > > + reset-gpios = <&pio 8 GPIO_ACTIVE_LOW>;
> > > + };
> > > + };
> > > diff --git a/MAINTAINERS b/MAINTAINERS
> > > index 88981d9f3958..218bc2a21207 100644
> > > --- a/MAINTAINERS
> > > +++ b/MAINTAINERS
> > > @@ -13818,6 +13818,7 @@ M: Sean Wang <sean.wang@mediatek.com>
> > > L: linux-bluetooth@vger.kernel.org
> > > L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
> > > S: Maintained
> > > +F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> > > F: Documentation/devicetree/bindings/net/mediatek-bluetooth.txt
> > > F: drivers/bluetooth/btmtkuart.c
> > >
> > > --
> > > 2.44.0.683.g7961c838ac-goog
> > >
> > >
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
2024-04-15 23:05 ` Rob Herring
@ 2024-05-02 7:51 ` Chen-Yu Tsai
0 siblings, 0 replies; 10+ messages in thread
From: Chen-Yu Tsai @ 2024-05-02 7:51 UTC (permalink / raw)
To: Luiz Augusto von Dentz
Cc: devicetree, linux-bluetooth, netdev, Marcel Holtmann,
linux-arm-kernel, linux-kernel, linux-mediatek, Conor Dooley
On Tue, Apr 16, 2024 at 7:05 AM Rob Herring <robh@kernel.org> wrote:
> On Fri, 12 Apr 2024 15:30:42 +0800, Chen-Yu Tsai wrote:
> > The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
> > SDIO. WiFi and Bluetooth are separate SDIO functions within the chip.
> > While the Bluetooth SDIO function is fully discoverable, the chip has
> > a pin that can reset just the Bluetooth core, as opposed to the full
> > chip. This should be described in the device tree.
> >
> > Add a device tree binding for the Bluetooth SDIO function of the MT7921S
> > specifically to document the reset line. This binding is based on the MMC
> > controller binding, which specifies one device node per SDIO function.
> >
> > Cc: Sean Wang <sean.wang@mediatek.com>
> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
> > ---
> > Changes since v2:
> > - Expand description and commit message to clearly state that WiFi and
> > Bluetooth are separate SDIO functions, and that each function should
> > be a separate device node, as specified by the MMC binding.
> > - Change 'additionalProperties' to 'unevaluatedProperties'
> > - Add missing separating new line
> > - s/ot/to/
> >
> > Angelo's reviewed-by was not picked up due to the above changes.
> >
> > Changes since v1:
> > - Reworded descriptions
> > - Moved binding maintainer section before description
> > - Added missing reference to bluetooth-controller.yaml
> > - Added missing GPIO header to example
> > ---
> > .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 55 +++++++++++++++++++
> > MAINTAINERS | 1 +
> > 2 files changed, 56 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
> >
>
> Reviewed-by: Rob Herring <robh@kernel.org>
Luiz, could you pick up this patch?
The other one is already merged in the MediaTek tree.
Thanks!
ChenYu
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts
2024-04-12 7:30 [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts Chen-Yu Tsai
2024-04-12 7:30 ` [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth Chen-Yu Tsai
2024-04-12 7:30 ` [PATCH v3 2/2] arm64: dts: mediatek: mt8183-pico6: Fix bluetooth node Chen-Yu Tsai
@ 2024-05-02 14:50 ` patchwork-bot+bluetooth
2 siblings, 0 replies; 10+ messages in thread
From: patchwork-bot+bluetooth @ 2024-05-02 14:50 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: marcel, luiz.dentz, robh+dt, krzysztof.kozlowski+dt, conor+dt,
matthias.bgg, angelogioacchino.delregno, sean.wang,
linux-bluetooth, netdev, linux-mediatek, devicetree,
linux-arm-kernel, linux-kernel
Hello:
This series was applied to bluetooth/bluetooth-next.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Fri, 12 Apr 2024 15:30:41 +0800 you wrote:
> Hi everyone,
>
> This is v3 of my MT7921S Bluetooth binding series.
>
> Changes since v2:
> - Expand description and commit message to clearly state that WiFi and
> Bluetooth are separate SDIO functions, and that each function should
> be a separate device node, as specified by the MMC binding.
> - Change 'additionalProperties' to 'unevaluatedProperties'
> - Add missing separating new line
> - s/ot/to/
>
> [...]
Here is the summary with links:
- [v3,1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth
https://git.kernel.org/bluetooth/bluetooth-next/c/556511c33388
- [v3,2/2] arm64: dts: mediatek: mt8183-pico6: Fix bluetooth node
https://git.kernel.org/bluetooth/bluetooth-next/c/f90ac18d01cd
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-05-02 14:50 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-12 7:30 [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts Chen-Yu Tsai
2024-04-12 7:30 ` [PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth Chen-Yu Tsai
2024-04-15 8:00 ` AngeloGioacchino Del Regno
2024-04-15 23:05 ` Rob Herring
2024-05-02 7:51 ` Chen-Yu Tsai
2024-04-17 23:04 ` Sean Wang
2024-04-17 23:31 ` Chen-Yu Tsai
2024-04-17 23:41 ` Sean Wang
2024-04-12 7:30 ` [PATCH v3 2/2] arm64: dts: mediatek: mt8183-pico6: Fix bluetooth node Chen-Yu Tsai
2024-05-02 14:50 ` [PATCH v3 0/2] bluetooth: mt7921s: Add binding and fixup existing dts patchwork-bot+bluetooth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).