This patch fix chipidea-imx usb initialization.
"imx_chipidea_port_init" was moved before PORTSC setup in the
commit "USB i.MX chipidea: implement post init support". This
change breaks usb function with ULPI. Patch moves port initialization
back after PORTSC setup, so it works again.

Signed-off-by: Alexander Shiyan <shc_w...@mail.ru>
---
 drivers/usb/imx/chipidea-imx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c
index 483484e..1570f90 100644
--- a/drivers/usb/imx/chipidea-imx.c
+++ b/drivers/usb/imx/chipidea-imx.c
@@ -73,13 +73,13 @@ static int imx_chipidea_probe(struct device_d *dev)
        data.post_init = imx_chipidea_port_post_init;
        data.drvdata = dev;
 
-       imx_chipidea_port_init(dev);
-
        portsc = readl(base + 0x184);
        portsc &= ~MXC_EHCI_PORTSC_MASK;
        portsc |= pdata->flags & MXC_EHCI_PORTSC_MASK;
        writel(portsc, base + 0x184);
 
+       imx_chipidea_port_init(dev);
+
        if ((pdata->flags & MXC_EHCI_PORTSC_MASK) == MXC_EHCI_MODE_ULPI) {
                dev_dbg(dev, "using ULPI phy\n");
                if (IS_ENABLED(CONFIG_USB_ULPI)) {
-- 
1.7.12.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to