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.c32
1 files changed, 28 insertions, 4 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index fba8adea421e..9c74ac545849 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -673,9 +673,15 @@ static void __init u8500_cryp1_hash1_init(struct device *parent)
673static struct platform_device *snowball_platform_devs[] __initdata = { 673static struct platform_device *snowball_platform_devs[] __initdata = {
674 &snowball_led_dev, 674 &snowball_led_dev,
675 &snowball_key_dev, 675 &snowball_key_dev,
676 &snowball_sbnet_dev,
676 &ab8500_device, 677 &ab8500_device,
677}; 678};
678 679
680static struct platform_device *snowball_of_platform_devs[] __initdata = {
681 &snowball_led_dev,
682 &snowball_key_dev,
683};
684
679static void __init mop500_init_machine(void) 685static void __init mop500_init_machine(void)
680{ 686{
681 struct device *parent = NULL; 687 struct device *parent = NULL;
@@ -710,6 +716,8 @@ static void __init mop500_init_machine(void)
710 716
711 /* This board has full regulator constraints */ 717 /* This board has full regulator constraints */
712 regulator_has_full_constraints(); 718 regulator_has_full_constraints();
719
720 mop500_uib_init();
713} 721}
714 722
715static void __init snowball_init_machine(void) 723static void __init snowball_init_machine(void)
@@ -774,6 +782,8 @@ static void __init hrefv60_init_machine(void)
774 782
775 /* This board has full regulator constraints */ 783 /* This board has full regulator constraints */
776 regulator_has_full_constraints(); 784 regulator_has_full_constraints();
785
786 mop500_uib_init();
777} 787}
778 788
779MACHINE_START(U8500, "ST-Ericsson MOP500 platform") 789MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
@@ -834,6 +844,10 @@ struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
834static const struct of_device_id u8500_local_bus_nodes[] = { 844static const struct of_device_id u8500_local_bus_nodes[] = {
835 /* only create devices below soc node */ 845 /* only create devices below soc node */
836 { .compatible = "stericsson,db8500", }, 846 { .compatible = "stericsson,db8500", },
847 { .compatible = "stericsson,db8500-prcmu", },
848 { .compatible = "stericsson,db8500-prcmu-regulator", },
849 { .compatible = "stericsson,ab8500", },
850 { .compatible = "stericsson,ab8500-regulator", },
837 { .compatible = "simple-bus"}, 851 { .compatible = "simple-bus"},
838 { }, 852 { },
839}; 853};
@@ -852,7 +866,7 @@ static void __init u8500_init_machine(void)
852 else if (of_machine_is_compatible("st-ericsson,hrefv60+")) 866 else if (of_machine_is_compatible("st-ericsson,hrefv60+"))
853 hrefv60_pinmaps_init(); 867 hrefv60_pinmaps_init();
854 868
855 parent = u8500_init_devices(); 869 parent = u8500_of_init_devices();
856 870
857 for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) 871 for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++)
858 mop500_platform_devs[i]->dev.parent = parent; 872 mop500_platform_devs[i]->dev.parent = parent;
@@ -869,15 +883,23 @@ static void __init u8500_init_machine(void)
869 ARRAY_SIZE(mop500_platform_devs)); 883 ARRAY_SIZE(mop500_platform_devs));
870 884
871 mop500_sdi_init(parent); 885 mop500_sdi_init(parent);
872
873 i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); 886 i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices);
874 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); 887 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
875 i2c_register_board_info(2, mop500_i2c2_devices, 888 i2c_register_board_info(2, mop500_i2c2_devices,
876 ARRAY_SIZE(mop500_i2c2_devices)); 889 ARRAY_SIZE(mop500_i2c2_devices));
877 890
891 mop500_uib_init();
892
878 } else if (of_machine_is_compatible("calaosystems,snowball-a9500")) { 893 } else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {
879 platform_add_devices(snowball_platform_devs, 894 /*
880 ARRAY_SIZE(snowball_platform_devs)); 895 * Devices to be DT:ed:
896 * snowball_led_dev = todo
897 * snowball_key_dev = todo
898 * snowball_sbnet_dev = done
899 * ab8500_device = done
900 */
901 platform_add_devices(snowball_of_platform_devs,
902 ARRAY_SIZE(snowball_of_platform_devs));
881 903
882 snowball_sdi_init(parent); 904 snowball_sdi_init(parent);
883 } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) { 905 } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) {
@@ -898,6 +920,8 @@ static void __init u8500_init_machine(void)
898 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); 920 i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs);
899 i2c_register_board_info(2, mop500_i2c2_devices, 921 i2c_register_board_info(2, mop500_i2c2_devices,
900 ARRAY_SIZE(mop500_i2c2_devices)); 922 ARRAY_SIZE(mop500_i2c2_devices));
923
924 mop500_uib_init();
901 } 925 }
902 mop500_i2c_init(parent); 926 mop500_i2c_init(parent);
903 927