Dear Marek,

> On 2/24/20 4:28 PM, Lukasz Majewski wrote:
> > Hi Marek,  
> 
> Hi,
> 
> >> 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).
> >>  
> > 
> > Gentle ping on this patch :-)  
> 
> I think this approach doesn't work, 
> there was a discussion about this
> under a patch like this for ehci-mx6.c . Take a look at the patches
> for the ehci-mx6.c in mainline and replicate the approach

The code for ehci-mx5 DM/DTS conversion was based on ehci-mx6. There is
a patch developed by you - SHA1:
501547cec1f7f0438cae388a104ff60f18576c01 which provides a partial DT
conversion. 

On top of that is another patch - SHA1:
1198a104d37b10064cd90f36d472787d549eda02 developed by Igor, which adds
even more hacks for i.MX7.

That is what we do have now in-tree for iMX6/iMX7.



Since the last ping for this patch (6+ months) we do have a regression
(just not usable USB) for some iMX53 boards. This patch fixes them.

Why are you reluctant to accept the fix? It is similar to what was
added for iMX7.

> , or even
> better, solve the TODO there altogether.

Please correct me if I did not understood you correctly:

To fix regression on i.MX53 boards (with applying this patch) you do
recommend to look for out of tree patches for i.MX6/i.MX7 and solve the
TODO for i.MX6/i.MX7?


> 
> [...]




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]

Attachment: pgpyeHA6tHrnR.pgp
Description: OpenPGP digital signature

Reply via email to