summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-mx51/clock.c5
-rw-r--r--arch/arm/plat-mxc/include/mach/mx25.h7
-rw-r--r--arch/arm/plat-mxc/include/mach/mx31.h5
-rw-r--r--arch/arm/plat-mxc/include/mach/mx37.h3
-rw-r--r--arch/arm/plat-mxc/include/mach/mx51.h7
-rw-r--r--drivers/usb/gadget/Kconfig2
-rw-r--r--drivers/usb/gadget/arcotg_udc.c1
7 files changed, 23 insertions, 7 deletions
diff --git a/arch/arm/mach-mx51/clock.c b/arch/arm/mach-mx51/clock.c
index c0eb2e680d9e..eff4b79883e8 100644
--- a/arch/arm/mach-mx51/clock.c
+++ b/arch/arm/mach-mx51/clock.c
@@ -2489,7 +2489,12 @@ static struct clk usboh3_clk[] = {
{
.name = "usb_sec_clk",
.parent = &tmax2_clk,
+#if defined(CONFIG_USB_STATIC_IRAM) \
+ || defined(CONFIG_USB_STATIC_IRAM_PPH)
+ .secondary = &emi_intr_clk,
+#else
.secondary = &emi_fast_clk,
+#endif
},
};
static struct clk usb_ahb_clk = {
diff --git a/arch/arm/plat-mxc/include/mach/mx25.h b/arch/arm/plat-mxc/include/mach/mx25.h
index 15305c47bca5..c3935d17b249 100644
--- a/arch/arm/plat-mxc/include/mach/mx25.h
+++ b/arch/arm/plat-mxc/include/mach/mx25.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
@@ -65,8 +65,9 @@
#define SND_RAM_SIZE 0
#endif
-#ifdef CONFIG_USB_STATIC_IRAM_PPH
-#define USB_IRAM_SIZE (2*SZ_8K)
+#if defined(CONFIG_USB_STATIC_IRAM) \
+ || defined(CONFIG_USB_STATIC_IRAM_PPH)
+#define USB_IRAM_SIZE SZ_8K
#else
#define USB_IRAM_SIZE 0
#endif
diff --git a/arch/arm/plat-mxc/include/mach/mx31.h b/arch/arm/plat-mxc/include/mach/mx31.h
index 4cf6d0074250..e2799d5b7c45 100644
--- a/arch/arm/plat-mxc/include/mach/mx31.h
+++ b/arch/arm/plat-mxc/include/mach/mx31.h
@@ -4,8 +4,9 @@
#define MX31_IRAM_BASE_ADDR 0x1FFC0000 /* internal ram */
#define MX31_IRAM_SIZE SZ_16K
-#ifdef CONFIG_USB_STATIC_IRAM
-#define USB_IRAM_SIZE (2*SZ_8K)
+#if defined(CONFIG_USB_STATIC_IRAM) \
+ || defined(CONFIG_USB_STATIC_IRAM_PPH)
+#define USB_IRAM_SIZE SZ_8K
#else
#define USB_IRAM_SIZE 0
#endif
diff --git a/arch/arm/plat-mxc/include/mach/mx37.h b/arch/arm/plat-mxc/include/mach/mx37.h
index 8f0e38e0f618..3013d197f206 100644
--- a/arch/arm/plat-mxc/include/mach/mx37.h
+++ b/arch/arm/plat-mxc/include/mach/mx37.h
@@ -54,7 +54,8 @@
#define SND_RAM_SIZE 0
#endif
-#ifdef CONFIG_USB_STATIC_IRAM
+#if defined(CONFIG_USB_STATIC_IRAM) \
+ || defined(CONFIG_USB_STATIC_IRAM_PPH)
#define USB_IRAM_SIZE SZ_8K
#else
#define USB_IRAM_SIZE 0
diff --git a/arch/arm/plat-mxc/include/mach/mx51.h b/arch/arm/plat-mxc/include/mach/mx51.h
index 82e2eac26071..32bfb0156b16 100644
--- a/arch/arm/plat-mxc/include/mach/mx51.h
+++ b/arch/arm/plat-mxc/include/mach/mx51.h
@@ -87,6 +87,13 @@
#define VPU_IRAM_SIZE 0
#endif
+#if defined(CONFIG_USB_STATIC_IRAM) \
+ || defined(CONFIG_USB_STATIC_IRAM_PPH)
+#define USB_IRAM_SIZE SZ_8K
+#else
+#define USB_IRAM_SIZE 0
+#endif
+
/*
* NFC
*/
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 05ddb4b7d136..2742a81663ef 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -478,7 +478,7 @@ config USB_GADGET_ARC
config USB_STATIC_IRAM_PPH
bool "Apply static IRAM patch"
- depends on USB_GADGET_ARC && (ARCH_MX37 || ARCH_MX3 || ARCH_MX25)
+ depends on USB_GADGET_ARC && (ARCH_MX37 || ARCH_MX3 || ARCH_MX25 || ARCH_MX51)
help
Apply static IRAM patch to peripheral driver.
diff --git a/drivers/usb/gadget/arcotg_udc.c b/drivers/usb/gadget/arcotg_udc.c
index 5e9a0ee2e745..69a18fe53ba3 100644
--- a/drivers/usb/gadget/arcotg_udc.c
+++ b/drivers/usb/gadget/arcotg_udc.c
@@ -2839,6 +2839,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev)
goto err4;
}
if (g_iram_size) {
+ g_iram_addr = iram_alloc(USB_IRAM_SIZE, &g_iram_base);
for (i = 0; i < IRAM_PPH_NTD; i++) {
udc_controller->iram_buffer[i] =
g_iram_base + i * g_iram_size;