aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/board-mop500.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2011-02-15 09:01:35 -0500
committerLinus Walleij <linus.walleij@linaro.org>2011-03-14 09:05:16 -0400
commit4b4f757c807375564ce3d4ff1d088d3847c52f6d (patch)
treeeac756e13f38cb9fd899df6225665a0d8caaff62 /arch/arm/mach-ux500/board-mop500.c
parent4bc3a698c3db6592490cd685e395e27216ed2454 (diff)
mach-ux500: basic HREFv60 support v2
The HREFv60 variant of the MOP500 family of boards remove the external GPIO expander and route these pins back to some of the readily available internal GPIO pins instead. Based on a patch by Bibek Basu <bibek.basu@stericsson.com> for an internal kernel version. Cc: Bibek Basu <bibek.basu@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500.c')
-rw-r--r--arch/arm/mach-ux500/board-mop500.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 72448e17260f..8790d984cac8 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -202,7 +202,6 @@ static struct gpio_keys_button mop500_gpio_keys[] = {
202 .desc = "SFH7741 Proximity Sensor", 202 .desc = "SFH7741 Proximity Sensor",
203 .type = EV_SW, 203 .type = EV_SW,
204 .code = SW_FRONT_PROXIMITY, 204 .code = SW_FRONT_PROXIMITY,
205 .gpio = GPIO_PROX_SENSOR,
206 .active_low = 0, 205 .active_low = 0,
207 .can_disable = 1, 206 .can_disable = 1,
208 } 207 }
@@ -379,8 +378,18 @@ static void __init mop500_uart_init(void)
379 db8500_add_uart2(&uart2_plat); 378 db8500_add_uart2(&uart2_plat);
380} 379}
381 380
382static void __init u8500_init_machine(void) 381static void __init mop500_init_machine(void)
383{ 382{
383 /*
384 * The HREFv60 board removed a GPIO expander and routed
385 * all these GPIO pins to the internal GPIO controller
386 * instead.
387 */
388 if (machine_is_hrefv60())
389 mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
390 else
391 mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR;
392
384 u8500_init_devices(); 393 u8500_init_devices();
385 394
386 mop500_pins_init(); 395 mop500_pins_init();
@@ -407,5 +416,13 @@ MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
407 .init_irq = ux500_init_irq, 416 .init_irq = ux500_init_irq,
408 /* we re-use nomadik timer here */ 417 /* we re-use nomadik timer here */
409 .timer = &ux500_timer, 418 .timer = &ux500_timer,
410 .init_machine = u8500_init_machine, 419 .init_machine = mop500_init_machine,
420MACHINE_END
421
422MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
423 .boot_params = 0x100,
424 .map_io = u8500_map_io,
425 .init_irq = ux500_init_irq,
426 .timer = &ux500_timer,
427 .init_machine = mop500_init_machine,
411MACHINE_END 428MACHINE_END