
Hello Thomas,
I just debugging some usb issues on an dm365 based board. I noticed that if no usb device is connected to the board, the "usb start" command does have a long timeout (also have access to an dm365evm board, same behaviour). Found the reason for this big timeout here:
./drivers/usb/musb/musb_hcd.c usb_lowlevel_init(): timeout = musb_cfg.timeout; while (timeout--) if (readb(&musbr->devctl) & MUSB_DEVCTL_HM) break;
with ./drivers/usb/musb/davinci.: /* MUSB platform configuration */ struct musb_config musb_cfg = { .regs = (struct musb_regs *)MENTOR_USB0_BASE, .timeout = DAVINCI_USB_TIMEOUT, .musb_speed = 0, };
and ./drivers/usb/musb/davinci.h:
#define DAVINCI_USB_TIMEOUT 0x3FFFFFF
Why is this DAVINCI_USB_TIMEOUT value so high? This could be shorter, or are there some reasons for such a long timeout?
Thanks!
bye, Heiko