]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
am33xx: Support upstream devicetree USB device
authorMarkus Schneider-Pargmann (TI) <msp@baylibre.com>
Mon, 1 Jun 2026 09:30:45 +0000 (11:30 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 12 Jun 2026 19:01:24 +0000 (13:01 -0600)
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) <msp@baylibre.com>
arch/arm/mach-omap2/am33xx/board.c

index 3791d97e5ed5f4d7bf6825f06ceafd001031e439..8699cf46b673dc662ffeb444e25b35c776b4a367 100644 (file)
@@ -264,13 +264,15 @@ int arch_misc_init(void)
 int arch_misc_init(void)
 {
        struct udevice *dev;
-       int ret;
-
-       /*
-        * 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)) {
+       int ret = 0;
+
+       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);