All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick DELAUNAY <patrick.delaunay@st.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RESEND PATCH 3/5] usb: host: dwc2: force reset assert
Date: Wed, 6 Nov 2019 18:27:33 +0000	[thread overview]
Message-ID: <3e13407a0c24443fb5325318de75e357@SFHDAG6NODE3.st.com> (raw)
In-Reply-To: <d4a847ac-b675-6a85-4320-c4f3800c18b1@denx.de>

Hi,

> From: Marek Vasut <marex@denx.de>
> Sent: mardi 15 octobre 2019 01:30
> 
> On 10/14/19 10:00 AM, Patrick Delaunay wrote:
> > Assert reset before deassert in dwc2_reset; It should be more safe for
> > DWC2.
> 
> Can you be more descriptive about this issue ? I have no idea what this patch does
> or fixes from the description.

Yes

I will explain it in V2 commit message.

The issue only occurs if the DWC2 OTG device switch between gadget mode 
and host mode.

For example: 
some registers initialiaze by the command "ums" (device mode is forced for example),
cause problem for the next command "usb start" and vice versa.

Even the existing  software reset in dwc_otg_core_reset is not enough;
the added hardware reset solve all the issues.
 
> > Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
> > ---
> >
> >  drivers/usb/host/dwc2.c | 2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c index
> > 51023b0c2c..3086411fc4 100644
> > --- a/drivers/usb/host/dwc2.c
> > +++ b/drivers/usb/host/dwc2.c
> > @@ -1149,6 +1149,8 @@ static int dwc2_reset(struct udevice *dev)
> >  			return ret;
> >  	}
> >
> > +	reset_assert_bulk(&priv->resets);
> > +	udelay(2);
> 
> Why is there a 2 uS delay ?

I think: no real reason to have 2 us....

It was jus a reasonable time to be sure that the device reset is correctly
performed, the reset signal is propagated....

but perhaps that no delay is working...
I can test without delay if you prefer...

PS: I use the same value than DWC2 gadget driver:
       Added by my commit c2c74f97afff

static int dwc2_udc_otg_reset_init(struct udevice *dev,
				   struct reset_ctl_bulk *resets)
{
.....
	ret = reset_assert_bulk(resets);

	if (!ret) {
		udelay(2);
		ret = reset_deassert_bulk(resets);
	}
....
}

 
> >  	ret = reset_deassert_bulk(&priv->resets);
> >  	if (ret) {
> >  		reset_release_bulk(&priv->resets);
> >
> 
> [...]

Regards
Patrick

  reply	other threads:[~2019-11-06 18:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-14  8:00 [U-Boot] [RESEND PATCH 0/5] usb: host: dwc2: use driver model for PHY and CLOCK Patrick Delaunay
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 1/5] usb: host: dwc2: add phy support Patrick Delaunay
2019-10-14 23:26   ` Marek Vasut
2019-11-06 17:40     ` Patrick DELAUNAY
2019-11-06 21:55       ` Marek Vasut
2019-11-08 13:25         ` Patrick DELAUNAY
2019-11-08 15:41           ` Marek Vasut
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 2/5] usb: host: dwc2: add support for clk Patrick Delaunay
2019-10-14 23:28   ` Marek Vasut
2019-11-06 18:03     ` Patrick DELAUNAY
2019-11-06 21:59       ` Marek Vasut
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 3/5] usb: host: dwc2: force reset assert Patrick Delaunay
2019-10-14 23:29   ` Marek Vasut
2019-11-06 18:27     ` Patrick DELAUNAY [this message]
2019-11-06 22:00       ` Marek Vasut
2019-11-08  9:53         ` Patrick DELAUNAY
2019-11-08  9:55           ` Marek Vasut
2019-11-08 10:51             ` Patrick DELAUNAY
2019-11-08 10:52               ` Marek Vasut
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 4/5] usb: host: dwc2: add usb33d supply support for stm32mp1 Patrick Delaunay
2019-10-14 23:31   ` Marek Vasut
2019-11-06 18:42     ` Patrick DELAUNAY
2019-10-14  8:00 ` [U-Boot] [RESEND PATCH 5/5] usb: host: dwc2: add trace to have clean usb start Patrick Delaunay

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=3e13407a0c24443fb5325318de75e357@SFHDAG6NODE3.st.com \
    --to=patrick.delaunay@st.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.