The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over
SDIO. While the Bluetooth function is fully discoverable, the chip
has a pin that can reset just the Bluetooth side, as opposed to the
full chip. This needs to be described in the device tree.
Add a device tree binding for MT7921S Bluetooth over SDIO specifically
ot document the reset line.
Cc: Sean Wang <sean.wang@mediatek.com>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
---
.../bluetooth/mediatek,mt7921s-bluetooth.yaml | 49 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 50 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..bbe240e7cc40
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
@@ -0,0 +1,49 @@
+# 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
+
+description:
+ This binding describes the Bluetooth side of the SDIO-attached MT7921S
+ WiFi+Bluetooth combo chips. These chips are dual-radio chips supporting
+ WiFi and Bluetooth. Bluetooth works over SDIO just like WiFi. Bluetooth
+ has its own reset line, separate from WiFi, which can be used to reset
+ the Bluetooth core.
+
+maintainers:
+ - Sean Wang <sean.wang@mediatek.com>
+
+properties:
+ compatible:
+ enum:
+ - mediatek,mt7921s-bluetooth
+ reg:
+ const: 2
+
+ reset-gpios:
+ maxItems: 1
+ description: A GPIO line connected to the Bluetooth subsystem reset line.
+ Typically the W_DISABLE2# pin on M.2 E-key modules. If present this
+ shall be flagged as active low.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ 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 b64a64ca7916..662957146852 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13657,6 +13657,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.43.0.429.g432eaa2c6b-goog
On Thu, 25 Jan 2024 17:52:37 +0800, Chen-Yu Tsai wrote: > The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over > SDIO. While the Bluetooth function is fully discoverable, the chip > has a pin that can reset just the Bluetooth side, as opposed to the > full chip. This needs to be described in the device tree. > > Add a device tree binding for MT7921S Bluetooth over SDIO specifically > ot document the reset line. > > Cc: Sean Wang <sean.wang@mediatek.com> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > --- > .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 49 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 50 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Error: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.example.dts:25.39-40 syntax error FATAL ERROR: Unable to parse input tree make[2]: *** [scripts/Makefile.lib:419: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.example.dtb] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1428: dt_binding_check] Error 2 make: *** [Makefile:240: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240125095240.2308340-2-wenst@chromium.org The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
Il 25/01/24 10:52, Chen-Yu Tsai ha scritto: > The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over > SDIO. While the Bluetooth function is fully discoverable, the chip > has a pin that can reset just the Bluetooth side, as opposed to the > full chip. This needs to be described in the device tree. > > Add a device tree binding for MT7921S Bluetooth over SDIO specifically > ot document the reset line. > > Cc: Sean Wang <sean.wang@mediatek.com> > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > --- > .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 49 +++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 50 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..bbe240e7cc40 > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml > @@ -0,0 +1,49 @@ > +# 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 > + title: maintainers: description: ... and then, you missed allOf: - $ref: bluetooth-controller.yaml# Everything else looks good. Cheers, Angelo > +description: MT7921S is a (dual?) SDIO-attached dual-radio WiFi+Bluetooth combo chip; this chip has two dedicated reset lines, one of which is used to reset the Bluetooth core. The WiFi part of this chip is described in ....where? :-) > + This binding describes the Bluetooth side of the SDIO-attached MT7921S > + WiFi+Bluetooth combo chips. These chips are dual-radio chips supporting > + WiFi and Bluetooth. Bluetooth works over SDIO just like WiFi. Bluetooth > + has its own reset line, separate from WiFi, which can be used to reset > + the Bluetooth core. > + > +maintainers: > + - Sean Wang <sean.wang@mediatek.com> > + > +properties: > + compatible: > + enum: > + - mediatek,mt7921s-bluetooth > + reg: > + const: 2 > + > + reset-gpios: > + maxItems: 1 > + description: A GPIO line connected to the Bluetooth subsystem reset line. > + Typically the W_DISABLE2# pin on M.2 E-key modules. If present this > + shall be flagged as active low. description: An active-low reset line connected for the Bluetooth core; on typical M.2 Key-E modules this is the W_DISABLE2# pin. Cheers, Angelo > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + 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 b64a64ca7916..662957146852 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -13657,6 +13657,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 >
On Thu, Jan 25, 2024 at 7:39 PM AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > > Il 25/01/24 10:52, Chen-Yu Tsai ha scritto: > > The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over > > SDIO. While the Bluetooth function is fully discoverable, the chip > > has a pin that can reset just the Bluetooth side, as opposed to the > > full chip. This needs to be described in the device tree. > > > > Add a device tree binding for MT7921S Bluetooth over SDIO specifically > > ot document the reset line. > > > > Cc: Sean Wang <sean.wang@mediatek.com> > > Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> > > --- > > .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 49 +++++++++++++++++++ > > MAINTAINERS | 1 + > > 2 files changed, 50 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..bbe240e7cc40 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml > > @@ -0,0 +1,49 @@ > > +# 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 > > + > > title: > > maintainers: > > description: > > ... and then, you missed > > allOf: > - $ref: bluetooth-controller.yaml# (facepalm) > Everything else looks good. > > Cheers, > Angelo > > > +description: > > MT7921S is a (dual?) SDIO-attached dual-radio WiFi+Bluetooth combo chip; > this chip has two dedicated reset lines, one of which is used to reset > the Bluetooth core. > The WiFi part of this chip is described in ....where? :-) The function itself is fully probable and the implementation doesn't make use of the WiFi's reset line, so I don't see any reason to describe it? I don't actually know what the reset line does in the chip hardware. This patch is just described what is already used. > > + This binding describes the Bluetooth side of the SDIO-attached MT7921S > > + WiFi+Bluetooth combo chips. These chips are dual-radio chips supporting > > + WiFi and Bluetooth. Bluetooth works over SDIO just like WiFi. Bluetooth > > + has its own reset line, separate from WiFi, which can be used to reset > > + the Bluetooth core. > > + > > +maintainers: > > + - Sean Wang <sean.wang@mediatek.com> > > + > > +properties: > > + compatible: > > + enum: > > + - mediatek,mt7921s-bluetooth > > + reg: > > + const: 2 > > + > > + reset-gpios: > > + maxItems: 1 > > + description: A GPIO line connected to the Bluetooth subsystem reset line. > > + Typically the W_DISABLE2# pin on M.2 E-key modules. If present this > > + shall be flagged as active low. > > description: > An active-low reset line connected for the Bluetooth core; connected to? > on typical M.2 Key-E modules this is the W_DISABLE2# pin. Otherwise this looks better. Thanks. ChenYu > Cheers, > Angelo > > > + > > +required: > > + - compatible > > + - reg > > + > > +additionalProperties: false > > + > > +examples: > > + - | > > + 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 b64a64ca7916..662957146852 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -13657,6 +13657,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 > > >
Il 26/01/24 04:26, Chen-Yu Tsai ha scritto: > On Thu, Jan 25, 2024 at 7:39 PM AngeloGioacchino Del Regno > <angelogioacchino.delregno@collabora.com> wrote: >> >> Il 25/01/24 10:52, Chen-Yu Tsai ha scritto: >>> The MediaTek MT7921S is a WiFi/Bluetooth combo chip that works over >>> SDIO. While the Bluetooth function is fully discoverable, the chip >>> has a pin that can reset just the Bluetooth side, as opposed to the >>> full chip. This needs to be described in the device tree. >>> >>> Add a device tree binding for MT7921S Bluetooth over SDIO specifically >>> ot document the reset line. >>> >>> Cc: Sean Wang <sean.wang@mediatek.com> >>> Signed-off-by: Chen-Yu Tsai <wenst@chromium.org> >>> --- >>> .../bluetooth/mediatek,mt7921s-bluetooth.yaml | 49 +++++++++++++++++++ >>> MAINTAINERS | 1 + >>> 2 files changed, 50 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..bbe240e7cc40 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml >>> @@ -0,0 +1,49 @@ >>> +# 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 >>> + >> >> title: >> >> maintainers: >> >> description: >> >> ... and then, you missed >> >> allOf: >> - $ref: bluetooth-controller.yaml# > > (facepalm) > >> Everything else looks good. >> >> Cheers, >> Angelo >> >>> +description: >> >> MT7921S is a (dual?) SDIO-attached dual-radio WiFi+Bluetooth combo chip; >> this chip has two dedicated reset lines, one of which is used to reset >> the Bluetooth core. >> The WiFi part of this chip is described in ....where? :-) > > The function itself is fully probable and the implementation doesn't make > use of the WiFi's reset line, so I don't see any reason to describe it? > I don't actually know what the reset line does in the chip hardware. > This patch is just described what is already used. > >>> + This binding describes the Bluetooth side of the SDIO-attached MT7921S >>> + WiFi+Bluetooth combo chips. These chips are dual-radio chips supporting >>> + WiFi and Bluetooth. Bluetooth works over SDIO just like WiFi. Bluetooth >>> + has its own reset line, separate from WiFi, which can be used to reset >>> + the Bluetooth core. >>> + >>> +maintainers: >>> + - Sean Wang <sean.wang@mediatek.com> >>> + >>> +properties: >>> + compatible: >>> + enum: >>> + - mediatek,mt7921s-bluetooth >>> + reg: >>> + const: 2 >>> + >>> + reset-gpios: >>> + maxItems: 1 >>> + description: A GPIO line connected to the Bluetooth subsystem reset line. >>> + Typically the W_DISABLE2# pin on M.2 E-key modules. If present this >>> + shall be flagged as active low. >> >> description: >> An active-low reset line connected for the Bluetooth core; > > connected to? Eh yes, sorry - I edited that statement multiple times and that "for" stuck there for reasons :-) > >> on typical M.2 Key-E modules this is the W_DISABLE2# pin. > > Otherwise this looks better. Thanks. You're welcome! Cheers! > > > ChenYu > >> Cheers, >> Angelo >> >>> + >>> +required: >>> + - compatible >>> + - reg >>> + >>> +additionalProperties: false >>> + >>> +examples: >>> + - | >>> + 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 b64a64ca7916..662957146852 100644 >>> --- a/MAINTAINERS >>> +++ b/MAINTAINERS >>> @@ -13657,6 +13657,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 >>> >>
© 2016 - 2024 Red Hat, Inc.