From 75fe5bc9dedef554795f98f5e42486b990af6bd0 Mon Sep 17 00:00:00 2001 From: vhaudiquet Date: Sun, 30 Aug 2026 19:46:21 +0200 Subject: [PATCH] krane: bind the mtu3 SSUSB container so its xhci child is scanned DM scans only the immediate subnodes of a bound node; recursion into children happens when a bound bus driver runs dm_scan_fdt_dev. Nothing in U-Boot binds the "mediatek,mtu3" ssusb@11201000 node, so its xhci child (usb@11200000) was never bound, no UCLASS_USB device existed and usb start() reported "No USB controllers found". Add "simple-mfd" to the ssusb compatible in the -u-boot.dtsi overlay so the generic simple-bus driver binds the node and scans its children. --- arch/arm/dts/mt8183-kukui-krane-sku176-u-boot.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/arm/dts/mt8183-kukui-krane-sku176-u-boot.dtsi b/arch/arm/dts/mt8183-kukui-krane-sku176-u-boot.dtsi index e7605659b10..daf4f8b8996 100644 --- a/arch/arm/dts/mt8183-kukui-krane-sku176-u-boot.dtsi +++ b/arch/arm/dts/mt8183-kukui-krane-sku176-u-boot.dtsi @@ -12,8 +12,18 @@ * and "ippc" register names and a phys list on the xHCI node itself. * Add the missing ippc address (taken from the ssusb node's "ippc" * reg entry) and the port phys there. + * + * DM only scans the subnodes of nodes that a driver binds (bus drivers + * recurse via dm_scan_fdt_dev). Nothing binds "mediatek,mtu3", so the + * xHCI child would never be bound and usb_start() would report "No USB + * controllers found". Adding "simple-mfd" makes the generic simple-bus + * driver bind the ssusb node and scan its children. */ +&ssusb { + compatible = "mediatek,mt8183-mtu3", "mediatek,mtu3", "simple-mfd"; +}; + &usb_host { reg = <0x0 0x11200000 0x0 0x1000>, <0x0 0x11203e00 0x0 0x0100>;