diff options
author | Eric Miao <eric.miao@marvell.com> | 2008-09-03 06:06:34 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-09-26 18:43:20 -0400 |
commit | 5a3d96519040f9736b9f8089e2a1e33a81a6eafe (patch) | |
tree | be92df6b14ba6c9e420bc45d13a76b812991bb0c /arch/arm/mach-pxa/include | |
parent | 4fa7c24e94b3f5bfb367bb847af3c3abd8cca3c0 (diff) |
[ARM] pxa: better MFP low power state support for pxa25x/pxa27x
When configured as a specific low power state: MFP_LPM_DRIVE_LOW,
MFP_LPM_DRIVE_HIGH, the corresponding GPDR register bit during
low power mode shall be re-configured as output (if they are not
configured so), thus the PGSRx bits can output.
Create an additional low power values GPDR registers, and properly
save/restore the GAFR + GPDR registers when doing suspend/resume.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/include')
-rw-r--r-- | arch/arm/mach-pxa/include/mach/mfp.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-pxa/include/mach/mfp.h b/arch/arm/mach-pxa/include/mach/mfp.h index 8769567b389b..482185053a92 100644 --- a/arch/arm/mach-pxa/include/mach/mfp.h +++ b/arch/arm/mach-pxa/include/mach/mfp.h | |||
@@ -274,12 +274,13 @@ typedef unsigned long mfp_cfg_t; | |||
274 | #define MFP_DS_MASK (0x7 << 13) | 274 | #define MFP_DS_MASK (0x7 << 13) |
275 | #define MFP_DS(x) (((x) >> 13) & 0x7) | 275 | #define MFP_DS(x) (((x) >> 13) & 0x7) |
276 | 276 | ||
277 | #define MFP_LPM_INPUT (0x0 << 16) | 277 | #define MFP_LPM_DEFAULT (0x0 << 16) |
278 | #define MFP_LPM_DRIVE_LOW (0x1 << 16) | 278 | #define MFP_LPM_DRIVE_LOW (0x1 << 16) |
279 | #define MFP_LPM_DRIVE_HIGH (0x2 << 16) | 279 | #define MFP_LPM_DRIVE_HIGH (0x2 << 16) |
280 | #define MFP_LPM_PULL_LOW (0x3 << 16) | 280 | #define MFP_LPM_PULL_LOW (0x3 << 16) |
281 | #define MFP_LPM_PULL_HIGH (0x4 << 16) | 281 | #define MFP_LPM_PULL_HIGH (0x4 << 16) |
282 | #define MFP_LPM_FLOAT (0x5 << 16) | 282 | #define MFP_LPM_FLOAT (0x5 << 16) |
283 | #define MFP_LPM_INPUT (0x6 << 16) | ||
283 | #define MFP_LPM_STATE_MASK (0x7 << 16) | 284 | #define MFP_LPM_STATE_MASK (0x7 << 16) |
284 | #define MFP_LPM_STATE(x) (((x) >> 16) & 0x7) | 285 | #define MFP_LPM_STATE(x) (((x) >> 16) & 0x7) |
285 | 286 | ||
@@ -297,7 +298,7 @@ typedef unsigned long mfp_cfg_t; | |||
297 | #define MFP_PULL_MASK (0x3 << 21) | 298 | #define MFP_PULL_MASK (0x3 << 21) |
298 | #define MFP_PULL(x) (((x) >> 21) & 0x3) | 299 | #define MFP_PULL(x) (((x) >> 21) & 0x3) |
299 | 300 | ||
300 | #define MFP_CFG_DEFAULT (MFP_AF0 | MFP_DS03X | MFP_LPM_INPUT |\ | 301 | #define MFP_CFG_DEFAULT (MFP_AF0 | MFP_DS03X | MFP_LPM_DEFAULT |\ |
301 | MFP_LPM_EDGE_NONE | MFP_PULL_NONE) | 302 | MFP_LPM_EDGE_NONE | MFP_PULL_NONE) |
302 | 303 | ||
303 | #define MFP_CFG(pin, af) \ | 304 | #define MFP_CFG(pin, af) \ |