[U-Boot] [PATCH 0/2] sunxi: musb: Fix "usb reset" handling

Hans de Goede hdegoede at redhat.com
Fri Jun 26 13:02:51 CEST 2015


Hi,

On 26-06-15 12:20, Maxime Ripard wrote:
> Hi,
>
> On Sun, Jun 14, 2015 at 12:40:11PM +0200, Hans de Goede wrote:
>> Paul, can you test these with gadget mode? Specifically if they help the
>> problem you were seeing when switching roles?
>>
>> Also this bit from the kernel code for the sunxi glue may be relevant
>> to your problems:
>>
>>          if ((musb->int_usb & MUSB_INTR_RESET) && !is_host_active(musb)) {
>>                  /* ep0 FADDR must be 0 when (re)entering peripheral mode */
>>                  musb_ep_select(musb->mregs, 0);
>>                  musb_writeb(musb->mregs, MUSB_FADDR, 0);
>>          }
>>
>> This is from the interrupt handler in the sunxi-musb glue in the kernel,
>> maybe we can do the same, and/or maybe we need to do:
>>
>> 	/* ep0 FADDR must be 0 when (re)entering peripheral mode */
>> 	musb_ep_select(musb->mregs, 0);
>> 	musb_writeb(musb->mregs, MUSB_FADDR, 0);
>>
>>  From sunxi_musb_disable?
>
> So, I was affected by this issue on a SinA33, even when not switching
> roles (since the SinA33 is peripheral only).

Missed this the first reply, are you sure, that is somewhat weird. I mean
it is possible if they did not hook up the id pin, or do not allow you
to send out +5v, but it is weird. I guess they did route the real usb-host
to an USB-A receptacle on that board, so it is not a big deal, right ?

Regards,

Hans


More information about the U-Boot mailing list