diff options
author | Timothy Clacy <tcl@phaseone.com> | 2009-05-07 19:40:33 +0200 |
---|---|---|
committer | Eric Miao <eric.miao@marvell.com> | 2009-05-18 21:52:09 +0800 |
commit | 866bd435819df8d97767c407f8828a7a2ff971e6 (patch) | |
tree | 17b16770357e2abf621c89e75725cc42a354149f /arch | |
parent | 216e3b7abbd05c35d2d1a3f86629ade485351f0d (diff) | |
download | op-kernel-dev-866bd435819df8d97767c407f8828a7a2ff971e6.zip op-kernel-dev-866bd435819df8d97767c407f8828a7a2ff971e6.tar.gz |
[ARM] pxa: enable GPIO receivers after configuring pins
'mach-pxa' platforms currently rely on a bootloader to setup GPIO pins
and clear RDH (to enable inputs).
A kernel loaded by a 'minimal' bootloader, that doesn't touch any pins,
will not function correctly; inputs will remain disabled, even after the
pins are configured. The following change fixes the issue and has been
verified on Gumstix Verdex XL6P and a custom PXA270 platform.
Signed-off-by: Timothy Clacy <tcl@phaseone.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-pxa/mfp-pxa2xx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/mfp-pxa2xx.c b/arch/arm/mach-pxa/mfp-pxa2xx.c index 6ae50604..cf6b720 100644 --- a/arch/arm/mach-pxa/mfp-pxa2xx.c +++ b/arch/arm/mach-pxa/mfp-pxa2xx.c @@ -377,6 +377,9 @@ static int __init pxa2xx_mfp_init(void) if (cpu_is_pxa27x()) pxa27x_mfp_init(); + /* clear RDH bit to enable GPIO receivers after reset/sleep exit */ + PSSR = PSSR_RDH; + /* initialize gafr_run[], pgsr_lpm[] from existing values */ for (i = 0; i <= gpio_to_bank(pxa_last_gpio); i++) gpdr_lpm[i] = GPDR(i * 32); |