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@xxxxxxxxxxxx> Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx> --- 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 | 53 +++++++++++++++++++ MAINTAINERS | 1 + 2 files changed, 54 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..ff11c95c816c --- /dev/null +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml @@ -0,0 +1,53 @@ +# 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@xxxxxxxxxxxx> + +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 part of the chip. + +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 + +additionalProperties: 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 b64a64ca7916..662957146852 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -13657,6 +13657,7 @@ M: Sean Wang <sean.wang@xxxxxxxxxxxx> L: linux-bluetooth@xxxxxxxxxxxxxxx L: linux-mediatek@xxxxxxxxxxxxxxxxxxx (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