aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/board-mop500.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500.c')
-rw-r--r--arch/arm/mach-ux500/board-mop500.c78
1 files changed, 61 insertions, 17 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index f67b83dd9010..bdd7b80dd7ad 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -604,28 +604,72 @@ static void __init mop500_init_machine(void)
604{ 604{
605 int i2c0_devs; 605 int i2c0_devs;
606 606
607 mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR;
608
609 u8500_init_devices();
610
611 mop500_pins_init();
612
613 platform_add_devices(mop500_platform_devs,
614 ARRAY_SIZE(mop500_platform_devs));
615
616 mop500_i2c_init();
617 mop500_sdi_init();
618 mop500_spi_init();
619 mop500_uart_init();
620
621 i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
622
623 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
624 i2c_register_board_info(2, mop500_i2c2_devices,
625 ARRAY_SIZE(mop500_i2c2_devices));
626
627 /* This board has full regulator constraints */
628 regulator_has_full_constraints();
629}
630
631static void __init snowball_init_machine(void)
632{
633 int i2c0_devs;
634
635 u8500_init_devices();
636
637 snowball_pins_init();
638
639 platform_add_devices(snowball_platform_devs,
640 ARRAY_SIZE(snowball_platform_devs));
641
642 mop500_i2c_init();
643 snowball_sdi_init();
644 mop500_spi_init();
645 mop500_uart_init();
646
647 i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
648 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
649 i2c_register_board_info(2, mop500_i2c2_devices,
650 ARRAY_SIZE(mop500_i2c2_devices));
651
652 /* This board has full regulator constraints */
653 regulator_has_full_constraints();
654}
655
656static void __init hrefv60_init_machine(void)
657{
658 int i2c0_devs;
659
607 /* 660 /*
608 * The HREFv60 board removed a GPIO expander and routed 661 * The HREFv60 board removed a GPIO expander and routed
609 * all these GPIO pins to the internal GPIO controller 662 * all these GPIO pins to the internal GPIO controller
610 * instead. 663 * instead.
611 */ 664 */
612 if (!machine_is_snowball()) { 665 mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
613 if (machine_is_hrefv60())
614 mop500_gpio_keys[0].gpio = HREFV60_PROX_SENSE_GPIO;
615 else
616 mop500_gpio_keys[0].gpio = GPIO_PROX_SENSOR;
617 }
618 666
619 u8500_init_devices(); 667 u8500_init_devices();
620 668
621 mop500_pins_init(); 669 hrefv60_pins_init();
622 670
623 if (machine_is_snowball()) 671 platform_add_devices(mop500_platform_devs,
624 platform_add_devices(snowball_platform_devs, 672 ARRAY_SIZE(mop500_platform_devs));
625 ARRAY_SIZE(snowball_platform_devs));
626 else
627 platform_add_devices(mop500_platform_devs,
628 ARRAY_SIZE(mop500_platform_devs));
629 673
630 mop500_i2c_init(); 674 mop500_i2c_init();
631 mop500_sdi_init(); 675 mop500_sdi_init();
@@ -633,8 +677,8 @@ static void __init mop500_init_machine(void)
633 mop500_uart_init(); 677 mop500_uart_init();
634 678
635 i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); 679 i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
636 if (machine_is_hrefv60()) 680
637 i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES; 681 i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES;
638 682
639 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); 683 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
640 i2c_register_board_info(2, mop500_i2c2_devices, 684 i2c_register_board_info(2, mop500_i2c2_devices,
@@ -659,7 +703,7 @@ MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
659 .map_io = u8500_map_io, 703 .map_io = u8500_map_io,
660 .init_irq = ux500_init_irq, 704 .init_irq = ux500_init_irq,
661 .timer = &ux500_timer, 705 .timer = &ux500_timer,
662 .init_machine = mop500_init_machine, 706 .init_machine = hrefv60_init_machine,
663MACHINE_END 707MACHINE_END
664 708
665MACHINE_START(SNOWBALL, "Calao Systems Snowball platform") 709MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
@@ -668,5 +712,5 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
668 .init_irq = ux500_init_irq, 712 .init_irq = ux500_init_irq,
669 /* we re-use nomadik timer here */ 713 /* we re-use nomadik timer here */
670 .timer = &ux500_timer, 714 .timer = &ux500_timer,
671 .init_machine = mop500_init_machine, 715 .init_machine = snowball_init_machine,
672MACHINE_END 716MACHINE_END