Configuring the mode of operation of port 1 doesn't belong to the HCD
code, as it's related to the soon to come UDC support. Move the
configuration to core code.

Signed-off-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
---
 drivers/usb/host/isp1760-core.c | 8 ++++++++
 drivers/usb/host/isp1760-hcd.c  | 9 ---------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/host/isp1760-core.c b/drivers/usb/host/isp1760-core.c
index e840a1d..1cba3e0 100644
--- a/drivers/usb/host/isp1760-core.c
+++ b/drivers/usb/host/isp1760-core.c
@@ -67,6 +67,14 @@ static void isp1760_init_core(struct isp1760_device *isp)
        isp1760_write32(isp->regs, HC_HW_MODE_CTRL, hwmode);
        isp1760_write32(isp->regs, HC_HW_MODE_CTRL, hwmode);
 
+       /*
+        * PORT 1 Control register of the ISP1760 is the OTG control register on
+        * ISP1761. Since there is no OTG or device controller support in this
+        * driver, we use port 1 as a "normal" USB host port on both chips.
+        */
+       isp1760_write32(isp->regs, HC_PORT1_CTRL, PORT1_POWER | PORT1_INIT2);
+       usleep_range(10000, 11000);
+
        dev_info(isp->dev, "bus width: %u, oc: %s\n",
                 isp->devflags & ISP1760_FLAG_BUS_WIDTH_16 ? 16 : 32,
                 isp->devflags & ISP1760_FLAG_ANALOG_OC ? "analog" : "digital");
diff --git a/drivers/usb/host/isp1760-hcd.c b/drivers/usb/host/isp1760-hcd.c
index 5309d73..568446c 100644
--- a/drivers/usb/host/isp1760-hcd.c
+++ b/drivers/usb/host/isp1760-hcd.c
@@ -503,15 +503,6 @@ static int isp1760_hc_setup(struct usb_hcd *hcd)
 
        reg_write32(hcd->regs, HC_INTERRUPT_ENABLE, INTERRUPT_ENABLE_MASK);
 
-       /*
-        * PORT 1 Control register of the ISP1760 is the OTG control
-        * register on ISP1761. Since there is no OTG or device controller
-        * support in this driver, we use port 1 as a "normal" USB host port on
-        * both chips.
-        */
-       reg_write32(hcd->regs, HC_PORT1_CTRL, PORT1_POWER | PORT1_INIT2);
-       mdelay(10);
-
        priv->hcs_params = reg_read32(hcd->regs, HC_HCSPARAMS);
 
        return priv_init(hcd);
-- 
2.0.5

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to