diff mbox series

arm64: dts: mediatek: mt8390-genio-common: Force ssusb2 dual role mode to host

Message ID 20250331-mtk-genio-510-700-fix-bt-detection-v1-1-34ea2cf137f3@collabora.com (mailing list archive)
State New
Headers show
Series arm64: dts: mediatek: mt8390-genio-common: Force ssusb2 dual role mode to host | expand

Commit Message

Louis-Alexis Eyraud March 31, 2025, 9:25 a.m. UTC
On the Mediatek Genio 510-EVK and 700-EVK boards, ssusb2 controller is
one but has two ports: one is routed to the M.2 slot, the other is on
the RPi header who does support full OTG.
Since Mediatek Genio 700-EVK USB support was added, dual role mode
property is set to otg for ssusb2. This config prevents the M.2
Wifi/Bluetooth module, present on those boards and exposing Bluetooth
as an USB device to be properly detected at startup, so configure for
the ssusb2 dr_mode property as host instead.

Fixes: 1afaeca17238 ("arm64: dts: mediatek: mt8390-genio-700: Add USB, TypeC Controller, MUX")
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
---
I've tested this patch on Mediatek Genio 510-EVK board with a kernel
based on linux-next (tag: next-20250331).
---
 arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)


---
base-commit: 1c4df70331c0dc7f82f724166575c16931ec66b3
change-id: 20250328-mtk-genio-510-700-fix-bt-detection-2711cbcbb2e4

Best regards,

Comments

AngeloGioacchino Del Regno March 31, 2025, 1:27 p.m. UTC | #1
Il 31/03/25 11:25, Louis-Alexis Eyraud ha scritto:
> On the Mediatek Genio 510-EVK and 700-EVK boards, ssusb2 controller is
> one but has two ports: one is routed to the M.2 slot, the other is on
> the RPi header who does support full OTG.
> Since Mediatek Genio 700-EVK USB support was added, dual role mode
> property is set to otg for ssusb2. This config prevents the M.2
> Wifi/Bluetooth module, present on those boards and exposing Bluetooth
> as an USB device to be properly detected at startup, so configure for
> the ssusb2 dr_mode property as host instead.
> 
> Fixes: 1afaeca17238 ("arm64: dts: mediatek: mt8390-genio-700: Add USB, TypeC Controller, MUX")
> Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

> ---
> I've tested this patch on Mediatek Genio 510-EVK board with a kernel
> based on linux-next (tag: next-20250331).
> ---
>   arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi | 8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
> index 60139e6dffd8e0e326690d922f3360d829ed026b..3a9d429f0f14b501ae41551dfe7272f242345138 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
> @@ -1199,7 +1199,13 @@ xhci_ss_ep: endpoint {
>   };
>   
>   &ssusb2 {
> -	dr_mode = "otg";
> +	/*
> +	 * the ssusb2 controller is one but we got two ports : one is routed
> +	 * to the M.2 slot, the other is on the RPi header who does support
> +	 * full OTG but we keep it disabled otherwise the BT on the M.2 slot
> +	 * USB line goes obviously dead if switching to gadget mode.
> +	 */
> +	dr_mode = "host";
>   	maximum-speed = "high-speed";
>   	usb-role-switch;
>   	vusb33-supply = <&mt6359_vusb_ldo_reg>;
> 
> ---
> base-commit: 1c4df70331c0dc7f82f724166575c16931ec66b3
> change-id: 20250328-mtk-genio-510-700-fix-bt-detection-2711cbcbb2e4
> 
> Best regards,
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
index 60139e6dffd8e0e326690d922f3360d829ed026b..3a9d429f0f14b501ae41551dfe7272f242345138 100644
--- a/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8390-genio-common.dtsi
@@ -1199,7 +1199,13 @@  xhci_ss_ep: endpoint {
 };
 
 &ssusb2 {
-	dr_mode = "otg";
+	/*
+	 * the ssusb2 controller is one but we got two ports : one is routed
+	 * to the M.2 slot, the other is on the RPi header who does support
+	 * full OTG but we keep it disabled otherwise the BT on the M.2 slot
+	 * USB line goes obviously dead if switching to gadget mode.
+	 */
+	dr_mode = "host";
 	maximum-speed = "high-speed";
 	usb-role-switch;
 	vusb33-supply = <&mt6359_vusb_ldo_reg>;