On Thu, 20 Jun 2019 22:53:58 +0200 Marek Vasut <[email protected]> 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 <[email protected]> > Cc: Abel Vesa <[email protected]> > Cc: Adam Ford <[email protected]> > Cc: Fabio Estevam <[email protected]> > Cc: Ludwig Zenz <[email protected]> > Cc: Peng Fan <[email protected]> > Cc: Stefano Babic <[email protected]> > Cc: Vagrant Cascadian <[email protected]> > --- > 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 <[email protected]> Tested on HSC|DDC i.MX53 board (usb start works as previously). master branch SHA1: 77f6e2dd0551d8a825bab391a1bd6b838874bcd4 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: [email protected]
pgpraErMgLI70.pgp
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

