aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorRoger Quadros <rogerq@ti.com>2013-12-08 20:39:02 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-20 10:45:07 -0500
commit58a6ea8d32e9d23c8cc531a800aabc2c8f2f95aa (patch)
tree79ccbd0ff6d6a9da3d921345bbb1fc52ca66dc69 /arch/arm
parentff1dbcb8f938b2344b0d4c37c83ee75d360157cf (diff)
ARM: OMAP3: hwmod data: Don't prevent RESET of USB Host module
commit 7f4d3641e2548d1ac5dee837ff434df668a2810c upstream. Unlike what the comment states, errata i660 does not state that we can't RESET the USB host module. Instead it states that RESET is the only way to recover from a deadlock situation. RESET ensures that the module is in a known good state irrespective of what bootloader does with the module, so it must be done at boot. Signed-off-by: Roger Quadros <rogerq@ti.com> Tested-by: Tomi Valkeinen <tomi.valkeinen@ti.com> # Panda, BeagleXM Fixes: de231388cb80 ("ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3") Signed-off-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod_3xxx_data.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 31c7126eb3bb..02b1b10537bc 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -1930,7 +1930,8 @@ static struct omap_hwmod_class_sysconfig omap3xxx_usb_host_hs_sysc = {
1930 .syss_offs = 0x0014, 1930 .syss_offs = 0x0014,
1931 .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_CLOCKACTIVITY | 1931 .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_CLOCKACTIVITY |
1932 SYSC_HAS_SIDLEMODE | SYSC_HAS_ENAWAKEUP | 1932 SYSC_HAS_SIDLEMODE | SYSC_HAS_ENAWAKEUP |
1933 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE), 1933 SYSC_HAS_SOFTRESET | SYSC_HAS_AUTOIDLE |
1934 SYSS_HAS_RESET_STATUS),
1934 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART | 1935 .idlemodes = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
1935 MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART), 1936 MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
1936 .sysc_fields = &omap_hwmod_sysc_type1, 1937 .sysc_fields = &omap_hwmod_sysc_type1,
@@ -2008,15 +2009,7 @@ static struct omap_hwmod omap3xxx_usb_host_hs_hwmod = {
2008 * hence HWMOD_SWSUP_MSTANDBY 2009 * hence HWMOD_SWSUP_MSTANDBY
2009 */ 2010 */
2010 2011
2011 /* 2012 .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
2012 * During system boot; If the hwmod framework resets the module
2013 * the module will have smart idle settings; which can lead to deadlock
2014 * (above Errata Id:i660); so, dont reset the module during boot;
2015 * Use HWMOD_INIT_NO_RESET.
2016 */
2017
2018 .flags = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
2019 HWMOD_INIT_NO_RESET,
2020}; 2013};
2021 2014
2022/* 2015/*