net: pch_gbe: Convert to use DM PCI API
[oweals/u-boot.git] / drivers / usb / host / ehci-mx6.c
index 54f868420d55af335df8341a74c9b9a42942fb9e..e1c67f77d72d2cd96319e13992f647dfaee73435 100644 (file)
@@ -8,6 +8,7 @@
 #include <common.h>
 #include <usb.h>
 #include <errno.h>
+#include <wait_bit.h>
 #include <linux/compiler.h>
 #include <usb/ehci-fsl.h>
 #include <asm/io.h>
@@ -123,6 +124,7 @@ static int usb_phy_enable(int index, struct usb_ehci *ehci)
        void __iomem *phy_reg;
        void __iomem *phy_ctrl;
        void __iomem *usb_cmd;
+       int ret;
 
        if (index >= ARRAY_SIZE(phy_bases))
                return 0;
@@ -133,12 +135,15 @@ static int usb_phy_enable(int index, struct usb_ehci *ehci)
 
        /* Stop then Reset */
        clrbits_le32(usb_cmd, UCMD_RUN_STOP);
-       while (readl(usb_cmd) & UCMD_RUN_STOP)
-               ;
+       ret = wait_for_bit(__func__, usb_cmd, UCMD_RUN_STOP, false, 10000,
+                          false);
+       if (ret)
+               return ret;
 
        setbits_le32(usb_cmd, UCMD_RESET);
-       while (readl(usb_cmd) & UCMD_RESET)
-               ;
+       ret = wait_for_bit(__func__, usb_cmd, UCMD_RESET, false, 10000, false);
+       if (ret)
+               return ret;
 
        /* Reset USBPHY module */
        setbits_le32(phy_ctrl, USBPHY_CTRL_SFTRST);