Juha Kuikka wrote: > Hi, > > I ran into some issues with the MUSB-UDC support while adding a new > Davinci DM850/OMAP-L138 board: > > 1. Move endpoint count into SoC specific musb-header file. This > implementation only has 4 instead of 15 OMAP2/3 has. > 2. On DM850 the MUSB interrupts are read from a wrapper, not from MUSB > block . Add optional interface function to read-and-clear interrupts. > 3. Problem setting FADDR - in udc_irq() the > musb_peri_ep0_set_address() gets called on the same run as the ep0 > SET_ADDRESS request is handled. This causes the FADDR to change before > the status stage interrupt is received and USB session fails. Fixed by > removing extra call to musb_peri_ep0() from udc_irq(). It should only > be called when EP0 interrupt is present. > 4. udc_setup_ep() has a problem when id != 0, epinfo[] is indexed too > far, this results in wrong EPs configured. > > This is not a final patch, just asking for comments. > > I am investigating another issue where rx endpoint stops receiving > data when CDC ACM console is used. This happens under heavy inbound > data conditions, namely using "loads". > > ------------------------- > diff --git a/drivers/usb/musb/musb_udc.c b/drivers/usb/musb/musb_udc.c > index fc43cf4..b6f9bff 100644 > --- a/drivers/usb/musb/musb_udc.c > +++ b/drivers/usb/musb/musb_udc.c > @@ -65,8 +65,6 @@ > /* #define MUSB_DEBUG */ > #include "musb_debug.h" > > -#define MAX_ENDPOINT 15 > - > #define GET_ENDPOINT(dev,ep) \ > (((struct usb_device_instance *)(dev))->bus->endpoint_array + ep) > > @@ -157,6 +155,17 @@ static void musb_db_regs(void) > #define musb_db_regs() > #endif /* DEBUG_MUSB */ > > +#ifndef CONFIG_MUSB_SOC_IRQ > +static void musb_get_interrupts(u8 *usb, u16 *rx, u16 *tx) > +{ > + *usb = readb(&musbr->intrusb); > + *rx = readw(&musbr->intrrx); > + *tx = readw(&musbr->intrtx); > +} > +#else > +extern void musb_get_interrupts(u8 *usb, u16 *rx, u16 *tx); > +#endif > +
The reading of INT registers clears them. If all you want in the usb INT's, you will wipe out the rx/tx to get them. Tom _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot