diff options
author | Paul Walmsley <paul@pwsan.com> | 2010-12-21 23:05:16 -0500 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2010-12-21 23:05:16 -0500 |
commit | 596efe4792c50163578578bd4fe470f97652aad7 (patch) | |
tree | 266074fe2cf349b8402db948a69b2822d5763b0e /arch/arm/mach-omap2/pm34xx.c | |
parent | 72e06d087204f3bc9acf281717b90ebf0b9731f7 (diff) |
OMAP3: control/PM: move padconf save code to mach-omap2/control.c
Move the padconf save code from pm34xx.c to the System Control Module
code in mach-omap2/control.c. This is part of the general push to
move direct register access from middle-layer core code to low-level
core code, so the middle-layer code can be abstracted to work on
multiple platforms and cleaned up.
In the medium-to-long term, this code should be called by the mux
layer code, not the PM idle code. This is because, according to the
TRM, saving the padconf only needs to be done when the padconf
changes[1].
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Cc: Tony Lindgren <tony@atomide.com>
Tested-by: Rajendra Nayak <rnayak@ti.com>
Tested-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
1. OMAP34xx Multimedia Device Silicon Revision 3.1.x [Rev. ZH] [SWPU222H]
Section 4.11.4 "Device Off-Mode Sequences"
Diffstat (limited to 'arch/arm/mach-omap2/pm34xx.c')
-rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 5efd1fb8c640..5b323f28da2d 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c | |||
@@ -133,16 +133,7 @@ static void omap3_disable_io_chain(void) | |||
133 | 133 | ||
134 | static void omap3_core_save_context(void) | 134 | static void omap3_core_save_context(void) |
135 | { | 135 | { |
136 | u32 control_padconf_off; | 136 | omap3_ctrl_save_padconf(); |
137 | |||
138 | /* Save the padconf registers */ | ||
139 | control_padconf_off = omap_ctrl_readl(OMAP343X_CONTROL_PADCONF_OFF); | ||
140 | control_padconf_off |= START_PADCONF_SAVE; | ||
141 | omap_ctrl_writel(control_padconf_off, OMAP343X_CONTROL_PADCONF_OFF); | ||
142 | /* wait for the save to complete */ | ||
143 | while (!(omap_ctrl_readl(OMAP343X_CONTROL_GENERAL_PURPOSE_STATUS) | ||
144 | & PADCONF_SAVE_DONE)) | ||
145 | udelay(1); | ||
146 | 137 | ||
147 | /* | 138 | /* |
148 | * Force write last pad into memory, as this can fail in some | 139 | * Force write last pad into memory, as this can fail in some |