diff options
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500.c')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 32 |
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) | |||
673 | static struct platform_device *snowball_platform_devs[] __initdata = { | 673 | static 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 | ||
680 | static struct platform_device *snowball_of_platform_devs[] __initdata = { | ||
681 | &snowball_led_dev, | ||
682 | &snowball_key_dev, | ||
683 | }; | ||
684 | |||
679 | static void __init mop500_init_machine(void) | 685 | static 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 | ||
715 | static void __init snowball_init_machine(void) | 723 | static 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 | ||
779 | MACHINE_START(U8500, "ST-Ericsson MOP500 platform") | 789 | MACHINE_START(U8500, "ST-Ericsson MOP500 platform") |
@@ -834,6 +844,10 @@ struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = { | |||
834 | static const struct of_device_id u8500_local_bus_nodes[] = { | 844 | static 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 | ||