From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 0/2] sunxi: musb: Fix "usb reset" handling
Date: Fri, 19 Jun 2015 15:08:59 +0200 [thread overview]
Message-ID: <201506191508.59836.marex@denx.de> (raw)
In-Reply-To: <558413F8.1060607@redhat.com>
On Friday, June 19, 2015 at 03:07:04 PM, Hans de Goede wrote:
> Hi,
>
> On 19-06-15 14:35, Marek Vasut wrote:
> > On Sunday, June 14, 2015 at 12:40:11 PM, Hans de Goede wrote:
> >> Hi Ian, Paul,
> >>
> >> Here is a patch to fix the problems where most usb devices will no
> >> longer work after a "usb reset ", when connected to the otg controller
> >> in host mode + a related cleanup patch.
> >>
> >> Ian I would like to send out a PR with these 2 as fixed for v2015.07,
> >> can you review them please? Note I've not tested this with the otg in
> >> gadget mode, but we do not have gadget mode enabled by default anywhere
> >> atm, so I still consider this suitable as a bugfix for v2015.07.
> >>
> >> 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?
> >>
> >> From my experience sofar we should avoid doing a full reset from
> >> musb_stop
> >>
> >> / sunxi_musb_disable as musb_init_controller never gets re-run, so doing
> >> a full reset leaves things in a bad state where only ep0 still seems to
> >> work, this may be what you were seeing before.
> >
> > Hi,
> >
> > do you want me to pick this via u-boot-usb/master ?
>
> No, I've already send a pull-req for them via u-boot-sunxi/master and they
> are already merged :)
OK, roger.
Best regards,
Marek Vasut
next prev parent reply other threads:[~2015-06-19 13:08 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-14 10:40 [U-Boot] [PATCH 0/2] sunxi: musb: Fix "usb reset" handling Hans de Goede
2015-06-14 10:40 ` [U-Boot] [PATCH 1/2] sunxi: musb: Do not fully reset the controler from sunxi_musb_disable Hans de Goede
2015-06-14 11:46 ` Ian Campbell
2015-06-14 17:21 ` Hans de Goede
2015-06-14 10:40 ` [U-Boot] [PATCH 2/2] sunxi: musb: Remove unused sunxi_musb_exit method Hans de Goede
2015-06-14 11:47 ` Ian Campbell
2015-06-15 19:21 ` [U-Boot] [PATCH 0/2] sunxi: musb: Fix "usb reset" handling Paul Kocialkowski
2015-06-17 13:39 ` Hans de Goede
2015-06-19 9:11 ` Paul Kocialkowski
2015-06-19 12:35 ` Marek Vasut
2015-06-19 13:07 ` Hans de Goede
2015-06-19 13:08 ` Marek Vasut [this message]
2015-06-26 10:20 ` Maxime Ripard
2015-06-26 11:01 ` Hans de Goede
2015-06-28 20:42 ` Maxime Ripard
2015-06-26 11:02 ` Hans de Goede
2015-06-26 11:11 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201506191508.59836.marex@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox