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>
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);