diff options
author | Anand Gadiyar <gadiyar@ti.com> | 2009-08-24 08:06:37 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-09-02 18:07:56 -0400 |
commit | bbde6ebae6dacf2f6e6ac4ab28c1805a2d51c5e1 (patch) | |
tree | 2248afa581c7da7ca6bd058aa4fbc6422995dce9 | |
parent | 24bcadb6508b7c0f7307749228841fe04af6d70f (diff) |
MUSB: Remove usb_musb_pm_init() call
In usb_musb_pm_init, we attempt to access an MUSB register
when the i-clock may not be on, or the module is otherwise
not accessible.
We need to either:
- enable the clock before this access, or
- remove this code and move it to the bootloader, or
- enable the clock in the bootloader
If we enable the clock in the bootloader, we might as well
add the workaround in the bootloader itself. This code will
anyway be changed once hwmod is in place, so remove it for now
This allows us to boot the kernel on certain OMAP3 boards with
a bootloader that doesn't enable this clock. Without this, we
will need to upgrade the bootloaders on these boards.
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
-rw-r--r-- | arch/arm/mach-omap2/usb-musb.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/arch/arm/mach-omap2/usb-musb.c b/arch/arm/mach-omap2/usb-musb.c index 739e59e8025c..1145a2562b0f 100644 --- a/arch/arm/mach-omap2/usb-musb.c +++ b/arch/arm/mach-omap2/usb-musb.c | |||
@@ -31,15 +31,6 @@ | |||
31 | #include <mach/mux.h> | 31 | #include <mach/mux.h> |
32 | #include <mach/usb.h> | 32 | #include <mach/usb.h> |
33 | 33 | ||
34 | #define OTG_SYSCONFIG (OMAP34XX_HSUSB_OTG_BASE + 0x404) | ||
35 | |||
36 | static void __init usb_musb_pm_init(void) | ||
37 | { | ||
38 | /* Ensure force-idle mode for OTG controller */ | ||
39 | if (cpu_is_omap34xx()) | ||
40 | omap_writel(0, OTG_SYSCONFIG); | ||
41 | } | ||
42 | |||
43 | #ifdef CONFIG_USB_MUSB_SOC | 34 | #ifdef CONFIG_USB_MUSB_SOC |
44 | 35 | ||
45 | static struct resource musb_resources[] = { | 36 | static struct resource musb_resources[] = { |
@@ -173,13 +164,10 @@ void __init usb_musb_init(void) | |||
173 | printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n"); | 164 | printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n"); |
174 | return; | 165 | return; |
175 | } | 166 | } |
176 | |||
177 | usb_musb_pm_init(); | ||
178 | } | 167 | } |
179 | 168 | ||
180 | #else | 169 | #else |
181 | void __init usb_musb_init(void) | 170 | void __init usb_musb_init(void) |
182 | { | 171 | { |
183 | usb_musb_pm_init(); | ||
184 | } | 172 | } |
185 | #endif /* CONFIG_USB_MUSB_SOC */ | 173 | #endif /* CONFIG_USB_MUSB_SOC */ |