[PATCH 2/3] usb: ehci-mx6: add IMX8MM OTG support

Tim Harvey tharvey at gateworks.com
Wed Apr 28 03:55:20 CEST 2021


On Tue, Apr 27, 2021 at 12:52 PM Marek Vasut <marex at denx.de> wrote:
>
> On 4/27/21 9:24 PM, Patrick Wildt wrote:
> > Am Tue, Apr 27, 2021 at 10:50:34AM -0700 schrieb Tim Harvey:
> >> On Tue, Apr 27, 2021 at 10:44 AM Marek Vasut <marex at denx.de> wrote:
> >>>
> >>> On 4/27/21 7:08 PM, Tim Harvey wrote:
> >>>> Add support for determining host vs peripheral mode for IMX8MM
> >>>> configured as OTG.
> >>>>
> >>>> Signed-off-by: Tim Harvey <tharvey at gateworks.com>
> >>>> ---
> >>>>    drivers/usb/host/ehci-mx6.c | 2 +-
> >>>>    1 file changed, 1 insertion(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/drivers/usb/host/ehci-mx6.c b/drivers/usb/host/ehci-mx6.c
> >>>> index c2dfe49012..d055d2b1fe 100644
> >>>> --- a/drivers/usb/host/ehci-mx6.c
> >>>> +++ b/drivers/usb/host/ehci-mx6.c
> >>>> @@ -523,7 +523,7 @@ static int ehci_usb_phy_mode(struct udevice *dev)
> >>>>                        plat->init_type = USB_INIT_DEVICE;
> >>>>                else
> >>>>                        plat->init_type = USB_INIT_HOST;
> >>>> -     } else if (is_mx7()) {
> >>>> +     } else if (is_mx7() || is_imx8mm()) {
> >>>
> >>> This likely also applies to 8mq/mm/mn/mp , i.e. all of them.
> >>
> >> Agreed. Perhaps Adam, Frieder, or Fabio have something to test with? I
> >> only have IMX8M Mini at the moment.
> >
> > No, I don't think this applies to all of them, 8MM and 8MN should be
> > correct.
> >
> > So from a historic point of view the first one that showed up is the
> > 8MQ, which has a DesignWare xHCI controller.  There's no eHCI, so this
> > driver doesn't attach and there is neither the fsl,imx27-usb nor the
> > fsl,imx7d-usb compatible.  Hence not having imx8mq should be correct.
> >
> > When the i.MX8MM showed up the biggest difference obviously was the
> > silicon technology, reducing temperature.  But it also replaced the
> > DesignWare xHCI with ... what was it, the cadence OTG controller?
>
> chipidea
>
> > This is basically a carbon copy of the fsl,imx7d-usb (which has the
> > i.MX6 as heritage).  Hence imx8mm is correct here.
>
> Not quite, the mx8mm/mn variant is a bit more complex due to the extra
> power domain stuff. And the PHY/MISC bits changed from mx7 too.
>
> > Then the i.MX8MP showed up, which is builds on that, but it finally
> > gets the DesignWare xHCI back.  So in that regard it's more a better
> > version of i.MX8MQ.  The fsl,imx7d-usb compatible is not part of the
> > dts, hence not having imx8mp should be correct.
> >
> > The i.MX8MN is new to me, but by grepping you can see that the MN also
> > has the fsl,imx7d-usb compatible.
>
> Seems there is always some sort of overlap between the Ms in terms of
> IPs that are reused.
>
> > Hence I think only 8MM and 8MN should be added, not 8MQ or 8MP.
>
> I agree, 8MP also only lists xhci (likely dwc3), like original M(Q).
> MN should work, I use these patches on a board with it, in host mode only.

I will re-submit and add is_imx8mn().... that's what the NXP
downstream u-boot does as well.

Tim


More information about the U-Boot mailing list