linux/arch/arm/mach-pxa
Igor Grinberg ef7c7c693b ARM: PXA2xx: MFP: fix potential direction bug
Pins configured as input and have MFP_LPM_DRIVE_* flag set, can have a
wrong output value for some period of time (spike) during the suspend
sequence.
This can happen because the direction of the pins (GPDR) is set by
software and the output level is set by hardware (PGSR) at a later
stage.

Fix the above potential bug by setting the output levels first.
Also save the actual levels of the pins before the suspend and restore
them after the resume, but before the direction settings take place, so
the same bug as described above will not happen in the resume sequence.

Reported-by: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Tested-by: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
2012-04-27 11:14:06 +08:00
..
include/mach ARM: PXA2xx: MFP: fix bug with MFP_LPM_KEEP_OUTPUT 2012-04-27 11:11:50 +08:00
am200epd.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
am300epd.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
balloon3.c Driver specific changes 2012-01-09 14:39:22 -08:00
capc7117.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
clock-pxa2xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
clock-pxa3xx.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
clock.c ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
clock.h ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
cm-x2xx-pci.c ARM: pxa: use correct __iomem annotations 2011-10-08 21:03:07 +08:00
cm-x2xx-pci.h [ARM] 5280/1: pxa: prepare cm-x2xx.c and cm-x2xx-pci.[ch] for addition of CM-X255 2008-10-07 12:05:05 +01:00
cm-x2xx.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
cm-x255.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
cm-x270.c ARM: pxa: rename gpio_to_irq and irq_to_gpio 2011-11-14 21:07:59 +08:00
cm-x300.c ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
colibri-evalboard.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
colibri-pxa3xx.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
colibri-pxa270-income.c ARM: pxa: Fix typo 'CONFIG_BACKLIGHT_PWM__MODULE' 2011-10-31 10:55:26 +01:00
colibri-pxa270.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
colibri-pxa300.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
colibri-pxa320.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
corgi_pm.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
corgi.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
cpufreq-pxa2xx.c ARM: pxa: Access SMEMC via virtual addresses 2010-12-16 14:31:16 +08:00
cpufreq-pxa3xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
csb701.c [ARM] pxa/csb701: do not register devices on non-csb726 boads 2009-04-04 10:26:35 +08:00
csb726.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
devices.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
devices.h ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
em-x270.c ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
eseries.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
eseries.h ARM: PXA: eseries: fix eseries_register_clks section mismatch warning 2011-11-05 19:09:42 +00:00
ezx.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
generic.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
generic.h ARM: pxa: remove duplicated registeration on pxa-gpio 2012-03-06 14:40:59 +08:00
gumstix.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
h5000.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
himalaya.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
hx4700.c Merge branch 'fixes' of git://github.com/hzhuang1/linux into fixes 2012-03-29 20:36:18 -07:00
icontrol.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
idp.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
irq.c ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
Kconfig ARM: fix __io macro for PCMCIA 2012-04-05 11:29:55 -07:00
leds-idp.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
leds-lubbock.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
leds-mainstone.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
leds.c [ARM] 5251/1: remove old LED support for Trizeps4 SOM 2008-10-01 22:34:34 +01:00
leds.h
littleton.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
lpd270.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
lubbock.c ARM: sa1111: provide a generic way to prevent devices from registering 2012-03-24 11:29:52 +00:00
magician.c Merge branch 'fixes' of git://github.com/hzhuang1/linux into fixes 2012-03-29 20:36:18 -07:00
mainstone.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
Makefile ARM: pxa: pxa95x/saarb depends on pxa3xx code 2011-10-08 21:03:00 +08:00
Makefile.boot ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mfp-pxa2xx.c ARM: PXA2xx: MFP: fix potential direction bug 2012-04-27 11:14:06 +08:00
mfp-pxa3xx.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
mioa701_bootresume.S [ARM] pxa/MioA701: fix memory corruption. 2008-11-22 20:57:21 +08:00
mioa701.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
mp900.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
mxm8x10.c Merge branches 'drivers/macb-gem' and 'drivers/pxa-gpio' into next/drivers 2011-11-23 20:47:41 +00:00
palm27x.c ARM: pxa: fix inconsistent CONFIG_USB_PXA27X 2011-11-10 15:32:27 +08:00
palmld.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmt5.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmtc.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmte2.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmtreo.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmtx.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
palmz72.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
pcm027.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
pcm990-baseboard.c ARM: pxa: rename NR_BUILTIN_GPIO 2011-11-14 21:07:59 +08:00
pm.c ARM: pm: move cpu_init() call into core code 2011-06-24 08:48:43 +01:00
poodle.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
pxa2xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa3xx-ulpi.c usb: otg: Convert all users to pass struct usb_otg for OTG functions 2012-02-27 15:41:52 +02:00
pxa3xx.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
pxa25x.c Merge branch 'board' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/boards 2012-03-10 09:15:30 -08:00
pxa27x.c ARM: pxa: fix gpio wakeup setting 2012-04-27 10:46:45 +08:00
pxa95x.c Merge branch 'next/fixes-non-critical' into next/drivers 2012-03-20 22:42:24 +00:00
pxa300.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa320.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa930.c ARM: pxa: support pxa95x 2010-12-18 21:02:14 +08:00
raumfeld.c ARM: A few more platform fixes for include file fallout 2012-03-30 17:00:34 -07:00
reset.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
saar.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
saarb.c arch/arm/mach-pxa/: included linux/gpio.h twice 2012-02-16 23:26:19 +08:00
sharpsl_pm.c ARM: cleanups of io includes 2012-03-29 18:02:10 -07:00
sleep.S ARM: pm: pxa: move cpu_suspend into C code 2011-06-24 08:48:45 +01:00
smemc.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
spitz_pm.c ARM: pxa: fix wrong parsing gpio event on spitz 2012-02-16 10:28:53 +08:00
spitz.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
standby.S [ARM] pxa: separate definitions from pxa-regs.h and remove it finally 2009-03-09 21:22:40 +08:00
stargate2.c ARM: arm-soc fixes for 3.4-rc 2012-03-29 21:30:28 -07:00
tavorevb3.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00
tavorevb.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
time.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
tosa-bt.c ARM: pxa/tosa: drop setting LED trigger name, as it's unsupported now 2011-02-27 21:38:18 +08:00
tosa.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound 2012-01-12 08:00:30 -08:00
trizeps4.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
viper.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-03-29 16:53:48 -07:00
vpac270.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
xcep.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
z2.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
zeus.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
zylonite_pxa300.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
zylonite_pxa320.c [ARM] pxa/zylonite: simplify reduntant gpio settings on mmc slot 2009-12-29 14:11:34 +08:00
zylonite.c Merge branch 'samsung/driver' into next/drivers 2012-01-09 16:16:29 +00:00