[U-Boot] [PATCH] usb: ehci-mx5: Fix bus enumeration for DM case
Lukasz Majewski
lukma at denx.de
Mon Feb 24 16:28:59 CET 2020
Hi Marek,
> On Thu, 20 Jun 2019 22:53:58 +0200
> Marek Vasut <marex at denx.de> wrote:
>
> > It is likely that the DM conversion of EHCI iMX5 driver was a
> > derivative of EHCI VF, however the conversion is incomplete and is
> > missing the bind workaround, which updates dev->seq number. Without
> > this, all controllers have dev->seq number 0 . Add this bind
> > workaround into EHCI iMX5 driver as well.
> >
> > Signed-off-by: Marek Vasut <marex at denx.de>
> > Cc: Abel Vesa <abel.vesa at nxp.com>
> > Cc: Adam Ford <aford173 at gmail.com>
> > Cc: Fabio Estevam <festevam at gmail.com>
> > Cc: Ludwig Zenz <lzenz at dh-electronics.com>
> > Cc: Peng Fan <peng.fan at nxp.com>
> > Cc: Stefano Babic <sbabic at denx.de>
> > Cc: Vagrant Cascadian <vagrant at debian.org>
> > ---
> > drivers/usb/host/ehci-mx5.c | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/drivers/usb/host/ehci-mx5.c
> > b/drivers/usb/host/ehci-mx5.c index 0b32728c57..4db513f4e5 100644
> > --- a/drivers/usb/host/ehci-mx5.c
> > +++ b/drivers/usb/host/ehci-mx5.c
> > @@ -301,6 +301,22 @@ static int ehci_usb_ofdata_to_platdata(struct
> > udevice *dev) return 0;
> > }
> >
> > +static int ehci_usb_bind(struct udevice *dev)
> > +{
> > + static int num_controllers;
> > +
> > + /*
> > + * Without this hack, if we return ENODEV for USB
> > Controller 0, on
> > + * probe for the next controller, USB Controller 1 will be
> > given a
> > + * sequence number of 0. This conflicts with our
> > requirement of
> > + * sequence numbers while initialising the peripherals.
> > + */
> > + dev->req_seq = num_controllers;
> > + num_controllers++;
> > +
> > + return 0;
> > +}
> > +
> > static int ehci_usb_probe(struct udevice *dev)
> > {
> > struct usb_platdata *plat = dev_get_platdata(dev);
> > @@ -362,6 +378,7 @@ U_BOOT_DRIVER(usb_mx5) = {
> > .id = UCLASS_USB,
> > .of_match = mx5_usb_ids,
> > .ofdata_to_platdata = ehci_usb_ofdata_to_platdata,
> > + .bind = ehci_usb_bind,
> > .probe = ehci_usb_probe,
> > .remove = ehci_deregister,
> > .ops = &ehci_usb_ops,
>
> Tested-by: Lukasz Majewski <lukma at denx.de>
>
> Tested on HSC|DDC i.MX53 board (usb start works as previously).
>
Gentle ping on this patch :-)
It must have been overlooked in some way ...
Marek, could you please apply this fix?
Otherwise kp_imx53 boards (and probably some other ones) are broken -
and cannot be easily debricked.
> master branch
> SHA1: 77f6e2dd0551d8a825bab391a1bd6b838874bcd4
It applies also on top of newest -master:
SHA1: 8e51bf746a11d7f67416859da73a83109af4e0a3
Thanks in advance.
>
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> lukma at denx.de
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200224/1a2ab4d8/attachment.sig>
More information about the U-Boot
mailing list