summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorYe.Li <B37916@freescale.com>2015-03-02 21:06:23 +0800
committerPeng Fan <Peng.Fan@freescale.com>2015-04-29 15:00:32 +0800
commitbac2fceb67056eca6a6a3e85cac5aa90a73624b8 (patch)
treeb2c918658ceac4ab762a61f1e6564aa174e3146c /drivers/usb/gadget
parenteefcd91b30a0ee7ae2f0f3d03d4f4e667374443b (diff)
downloadu-boot-imx-bac2fceb67056eca6a6a3e85cac5aa90a73624b8.zip
u-boot-imx-bac2fceb67056eca6a6a3e85cac5aa90a73624b8.tar.gz
u-boot-imx-bac2fceb67056eca6a6a3e85cac5aa90a73624b8.tar.bz2
MLK-10363-1 udc: Update i.MX udc driver to support MX7
Update driver codes and registers define for MX7. Implement udc callback function in MX7 arch. Signed-off-by: Ye.Li <B37916@freescale.com> (cherry picked from commit e55c4f7bf5a66b34c2d01c42bac667cb3789b0c1) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/imx_udc.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/usb/gadget/imx_udc.c b/drivers/usb/gadget/imx_udc.c
index 9371ef5..9c2ef84 100644
--- a/drivers/usb/gadget/imx_udc.c
+++ b/drivers/usb/gadget/imx_udc.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2014 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2010-2015 Freescale Semiconductor, Inc. All Rights Reserved.
*
* SPDX-License-Identifier: GPL-2.0+
*/
@@ -458,10 +458,9 @@ static void mxc_udc_queue_update(u8 epnum,
if (data) {
memcpy((void *)tqi->page_vir, (void *)data, send);
_dump_buf((u8 *)(tqi->page_vir), send);
-
- flush_dcache_range((unsigned long)(tqi->page_vir),
- CACHE_ALIGNED_END(tqi->page_vir, send));
}
+ flush_dcache_range((unsigned long)(tqi->page_vir),
+ CACHE_ALIGNED_END(tqi->page_vir, ep->max_pkt_size));
if (!head)
last = head = tqi;
else {
@@ -551,6 +550,7 @@ static void mxc_usb_stop(void)
static void usb_phy_init(void)
{
+#ifndef CONFIG_MX7
u32 temp;
/* select 24M clk */
temp = readl(USB_PHY1_CTRL);
@@ -563,6 +563,7 @@ static void usb_phy_init(void)
temp |= PORTSCX_PTW_16BIT;
writel(temp, USB_PORTSC1);
DBG("Config PHY END\n");
+#endif
}
static void usb_set_mode_device(void)
@@ -584,7 +585,7 @@ static void usb_set_mode_device(void)
;
DBG("DOORE RESET END\n");
-#if defined(CONFIG_MX6)
+#if (defined(CONFIG_MX6) || defined(CONFIG_MX7))
reset_usb_phy1();
#endif
DBG("init core to device mode\n");
@@ -984,7 +985,7 @@ int mxc_udc_init(void)
udc_pins_setting();
set_usb_phy1_clk();
enable_usboh3_clk(1);
-#if defined(CONFIG_MX6)
+#if (defined(CONFIG_MX6) || defined(CONFIG_MX7))
udc_disable_over_current();
#endif
enable_usb_phy1_clk(1);