Il 26/01/24 07:34, 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 <[email protected]>
> Signed-off-by: Chen-Yu Tsai <[email protected]>
Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
> ---
> 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 <[email protected]>
> +
> +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 <[email protected]>
> L: [email protected]
> L: [email protected] (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
>