Skip to content

sunxi: musb: Fix "usb reset" handling

Maxime Ripard u-boot 1 version New

Get series with b4
b4 am 20150628204221.GY2266@lukather

Versions newest first

  1. v1 Latest0 of 2 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 2 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [U-Boot] [PATCH 0/2] sunxi: musb: Fix "usb reset" handling
Quoted 33 lines · Hans de Goede

Hi,

Quoted 30 lines · Maxime Ripard

Hi,

Quoted 12 lines · Hans de Goede

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);
        }
Quoted 8 lines

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). The issue I was seeing what that when I was two subsequent use of any gadget (fastboot, USB ethernet traffic), the second would silently fail on U-boot side with the host failing to enumerate the device.

Quoted 6 lines
Quoted 2 lines

Paul pointed me to that thread, and your suggestion on EP0 seems like a good lead, since the ugly http://pastebin.com/9Y6S9Hpw makes it work.

Ah, that is not that ugly actually, I can take that as is if you want me too just submit it to the u-boot list with me in the Cc and I'll pick it up and put it in u-boot-sunxi/next

I don't know, it felt quick and dirty while doing it :)

I haven't tested it with host though, so you'll probably want to give that a test run, I'll submit it some time this week.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150628/78cc1cca/attachment.sig>