[PATCH v2 6/7] am33xx: Support upstream devicetree binding

Kory Maincent kory.maincent at bootlin.com
Mon Dec 1 14:14:16 CET 2025


On Fri, 28 Nov 2025 21:46:36 +0100
"Markus Schneider-Pargmann (TI.com)" <msp at baylibre.com> wrote:

> 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.
> 
> Also don't fail if the USB devices are not available.
> 
> Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp at baylibre.com>
> ---
>  arch/arm/mach-omap2/am33xx/board.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/am33xx/board.c
> b/arch/arm/mach-omap2/am33xx/board.c index
> d7db260513308257f142ea70d5d5c643afc920c9..4bfdb55b2dd5c66cd58bce360cf1c69fb7a00cd6
> 100644 --- a/arch/arm/mach-omap2/am33xx/board.c +++
> b/arch/arm/mach-omap2/am33xx/board.c @@ -266,12 +266,16 @@ int
> arch_misc_init(void) struct udevice *dev;
>  	int ret;
>  
> -	ret = uclass_first_device_err(UCLASS_MISC, &dev);
> -	if (ret)
> -		return ret;
> +	if (IS_ENABLED(CONFIG_OF_UPSTREAM)) {
> +		uclass_first_device_err(UCLASS_USB, &dev);
> +		ret = uclass_first_device_err(UCLASS_USB_GADGET_GENERIC,
> &dev);
> +	} else {
> +		ret = uclass_first_device_err(UCLASS_MISC, &dev);
> +	}
>  
>  #if defined(CONFIG_DM_ETH) && defined(CONFIG_USB_ETHER)
> -	usb_ether_init();
> +	if (!ret)
> +		usb_ether_init();
>  #endif
>  
>  	return 0;

You are losing the error return value here.

Regards,
-- 
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com


More information about the U-Boot mailing list