From 39762783b1268a9f62f426bd2f328530c0cec67c Mon Sep 17 00:00:00 2001 From: "Markus Schneider-Pargmann (TI)" Date: Mon, 1 Jun 2026 11:30:45 +0200 Subject: [PATCH] am33xx: Support upstream devicetree USB device Support musb being probed by ti,musb-am33xx. The non-upstream DT probing used a wrapper driver that probed ti-musb-peripheral and ti-musb-host. This wrapper registered as UCLASS_MISC, which is why it is requested in this board.c file. With the new devicetree the wrapper that registers as UCLASS_MISC is gone, instead the UCLASS_USB and UCLASS_USB_GADGET_GENERIC have to be requested. Signed-off-by: Markus Schneider-Pargmann (TI) --- arch/arm/mach-omap2/am33xx/board.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c index 3791d97e5ed..8699cf46b67 100644 --- a/arch/arm/mach-omap2/am33xx/board.c +++ b/arch/arm/mach-omap2/am33xx/board.c @@ -264,13 +264,15 @@ int arch_misc_init(void) int arch_misc_init(void) { struct udevice *dev; - int ret; + int ret = 0; - /* - * Trigger probe of the UCLASS_MISC device which is a USB wrapper driver - * ti-musb-wrapper that handles all usb host and gadget devices. - */ - if (IS_ENABLED(CONFIG_USB_MUSB_TI)) { + if (IS_ENABLED(CONFIG_USB_MUSB_TI) && !IS_ENABLED(CONFIG_OF_UPSTREAM)) { + /* + * Trigger probe of the UCLASS_MISC device which is a USB + * wrapper driver ti-musb-wrapper that handles all usb host and + * gadget devices. Note that with OF_UPSTREAM the devices are + * bound directly, no wrapper necessary. + */ ret = uclass_first_device_err(UCLASS_MISC, &dev); if (ret) printf("Failed probing USB %d, continue without USB\n", ret);