plat-nomadik: implement safe switch sequence for Alt-C
authorRabin Vincent <rabin.vincent@stericsson.com>
Mon, 13 Dec 2010 06:32:40 +0000 (12:02 +0530)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 14 Mar 2011 13:05:15 +0000 (14:05 +0100)
commit01727e61f0967dd18fadd9dfcee5cf1246e6d8a6
tree710acb7f8eacaa4d11dfbc8bf584226680ce6513
parent3546d15c5c3f923f7925f92bfe0f8e1cf8bccc1c
plat-nomadik: implement safe switch sequence for Alt-C

Setting pinmux alternative C for a GPIO pin is actually not
so easy since it ivolves setting value "1" in two registers,
and since the combined result will take effect for intermediate
values (01 or 10) this will cause glitches while you wrote one
register but have not yet written the other.

This patch implements a series of kludges including an optional
machine-specific callback to avoid glitches when changing pin
mux mode to alternative C.

Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/plat-nomadik/gpio.c
arch/arm/plat-nomadik/include/plat/gpio.h