[PATCH v3 1/2] dt-bindings: net: bluetooth: Add MediaTek MT7921S SDIO Bluetooth

Sean Wang sean.wang at kernel.org
Wed Apr 17 16:41:39 PDT 2024


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 at chromium.org> wrote:
>
> On Wed, Apr 17, 2024 at 4:04 PM Sean Wang <sean.wang at kernel.org> wrote:
> >
> > Hi Chen-Yu,
> >
> > On Fri, Apr 12, 2024 at 12:31 AM Chen-Yu Tsai <wenst at 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 at mediatek.com>
> > > Signed-off-by: Chen-Yu Tsai <wenst at 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 at 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 at 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 at mediatek.com>
> > >  L:     linux-bluetooth at vger.kernel.org
> > >  L:     linux-mediatek at 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
> > >
> > >



More information about the linux-arm-kernel mailing list