diff options
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500.c')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 63 |
1 files changed, 12 insertions, 51 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index 4fd93f5c49ec..84461fa2a3ba 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c | |||
@@ -58,7 +58,7 @@ | |||
58 | static struct gpio_led snowball_led_array[] = { | 58 | static struct gpio_led snowball_led_array[] = { |
59 | { | 59 | { |
60 | .name = "user_led", | 60 | .name = "user_led", |
61 | .default_trigger = "none", | 61 | .default_trigger = "heartbeat", |
62 | .gpio = 142, | 62 | .gpio = 142, |
63 | }, | 63 | }, |
64 | }; | 64 | }; |
@@ -331,43 +331,12 @@ static struct i2c_board_info __initdata mop500_i2c2_devices[] = { | |||
331 | }, | 331 | }, |
332 | }; | 332 | }; |
333 | 333 | ||
334 | #define U8500_I2C_CONTROLLER(id, _slsu, _tft, _rft, clk, t_out, _sm) \ | ||
335 | static struct nmk_i2c_controller u8500_i2c##id##_data = { \ | ||
336 | /* \ | ||
337 | * slave data setup time, which is \ | ||
338 | * 250 ns,100ns,10ns which is 14,6,2 \ | ||
339 | * respectively for a 48 Mhz \ | ||
340 | * i2c clock \ | ||
341 | */ \ | ||
342 | .slsu = _slsu, \ | ||
343 | /* Tx FIFO threshold */ \ | ||
344 | .tft = _tft, \ | ||
345 | /* Rx FIFO threshold */ \ | ||
346 | .rft = _rft, \ | ||
347 | /* std. mode operation */ \ | ||
348 | .clk_freq = clk, \ | ||
349 | /* Slave response timeout(ms) */\ | ||
350 | .timeout = t_out, \ | ||
351 | .sm = _sm, \ | ||
352 | } | ||
353 | |||
354 | /* | ||
355 | * The board uses 4 i2c controllers, initialize all of | ||
356 | * them with slave data setup time of 250 ns, | ||
357 | * Tx & Rx FIFO threshold values as 8 and standard | ||
358 | * mode of operation | ||
359 | */ | ||
360 | U8500_I2C_CONTROLLER(0, 0xe, 1, 8, 100000, 200, I2C_FREQ_MODE_FAST); | ||
361 | U8500_I2C_CONTROLLER(1, 0xe, 1, 8, 100000, 200, I2C_FREQ_MODE_FAST); | ||
362 | U8500_I2C_CONTROLLER(2, 0xe, 1, 8, 100000, 200, I2C_FREQ_MODE_FAST); | ||
363 | U8500_I2C_CONTROLLER(3, 0xe, 1, 8, 100000, 200, I2C_FREQ_MODE_FAST); | ||
364 | |||
365 | static void __init mop500_i2c_init(struct device *parent) | 334 | static void __init mop500_i2c_init(struct device *parent) |
366 | { | 335 | { |
367 | db8500_add_i2c0(parent, &u8500_i2c0_data); | 336 | db8500_add_i2c0(parent, NULL); |
368 | db8500_add_i2c1(parent, &u8500_i2c1_data); | 337 | db8500_add_i2c1(parent, NULL); |
369 | db8500_add_i2c2(parent, &u8500_i2c2_data); | 338 | db8500_add_i2c2(parent, NULL); |
370 | db8500_add_i2c3(parent, &u8500_i2c3_data); | 339 | db8500_add_i2c3(parent, NULL); |
371 | } | 340 | } |
372 | 341 | ||
373 | static struct gpio_keys_button mop500_gpio_keys[] = { | 342 | static struct gpio_keys_button mop500_gpio_keys[] = { |
@@ -776,6 +745,8 @@ struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = { | |||
776 | OF_DEV_AUXDATA("arm,pl011", 0x80007000, "uart2", &uart2_plat), | 745 | OF_DEV_AUXDATA("arm,pl011", 0x80007000, "uart2", &uart2_plat), |
777 | /* Requires DMA bindings. */ | 746 | /* Requires DMA bindings. */ |
778 | OF_DEV_AUXDATA("arm,pl022", 0x80002000, "ssp0", &ssp0_plat), | 747 | OF_DEV_AUXDATA("arm,pl022", 0x80002000, "ssp0", &ssp0_plat), |
748 | OF_DEV_AUXDATA("arm,pl18x", 0x80126000, "sdi0", &mop500_sdi0_data), | ||
749 | OF_DEV_AUXDATA("arm,pl18x", 0x80114000, "sdi4", &mop500_sdi4_data), | ||
779 | /* Requires clock name bindings. */ | 750 | /* Requires clock name bindings. */ |
780 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e000, "gpio.0", NULL), | 751 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e000, "gpio.0", NULL), |
781 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e080, "gpio.1", NULL), | 752 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8012e080, "gpio.1", NULL), |
@@ -786,6 +757,11 @@ struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = { | |||
786 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8011e000, "gpio.6", NULL), | 757 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8011e000, "gpio.6", NULL), |
787 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8011e080, "gpio.7", NULL), | 758 | OF_DEV_AUXDATA("st,nomadik-gpio", 0x8011e080, "gpio.7", NULL), |
788 | OF_DEV_AUXDATA("st,nomadik-gpio", 0xa03fe000, "gpio.8", NULL), | 759 | OF_DEV_AUXDATA("st,nomadik-gpio", 0xa03fe000, "gpio.8", NULL), |
760 | OF_DEV_AUXDATA("st,nomadik-i2c", 0x80004000, "nmk-i2c.0", NULL), | ||
761 | OF_DEV_AUXDATA("st,nomadik-i2c", 0x80122000, "nmk-i2c.1", NULL), | ||
762 | OF_DEV_AUXDATA("st,nomadik-i2c", 0x80128000, "nmk-i2c.2", NULL), | ||
763 | OF_DEV_AUXDATA("st,nomadik-i2c", 0x80110000, "nmk-i2c.3", NULL), | ||
764 | OF_DEV_AUXDATA("st,nomadik-i2c", 0x8012a000, "nmk-i2c.4", NULL), | ||
789 | /* Requires device name bindings. */ | 765 | /* Requires device name bindings. */ |
790 | OF_DEV_AUXDATA("stericsson,nmk_pinctrl", 0, "pinctrl-db8500", NULL), | 766 | OF_DEV_AUXDATA("stericsson,nmk_pinctrl", 0, "pinctrl-db8500", NULL), |
791 | {}, | 767 | {}, |
@@ -820,8 +796,6 @@ static void __init u8500_init_machine(void) | |||
820 | 796 | ||
821 | for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) | 797 | for (i = 0; i < ARRAY_SIZE(mop500_platform_devs); i++) |
822 | mop500_platform_devs[i]->dev.parent = parent; | 798 | mop500_platform_devs[i]->dev.parent = parent; |
823 | for (i = 0; i < ARRAY_SIZE(snowball_platform_devs); i++) | ||
824 | snowball_platform_devs[i]->dev.parent = parent; | ||
825 | 799 | ||
826 | /* automatically probe child nodes of db8500 device */ | 800 | /* automatically probe child nodes of db8500 device */ |
827 | of_platform_populate(NULL, u8500_local_bus_nodes, u8500_auxdata_lookup, parent); | 801 | of_platform_populate(NULL, u8500_local_bus_nodes, u8500_auxdata_lookup, parent); |
@@ -840,18 +814,6 @@ static void __init u8500_init_machine(void) | |||
840 | 814 | ||
841 | mop500_uib_init(); | 815 | mop500_uib_init(); |
842 | 816 | ||
843 | } else if (of_machine_is_compatible("calaosystems,snowball-a9500")) { | ||
844 | /* | ||
845 | * Devices to be DT:ed: | ||
846 | * snowball_led_dev = todo | ||
847 | * snowball_key_dev = todo | ||
848 | * snowball_sbnet_dev = done | ||
849 | * ab8500_device = done | ||
850 | */ | ||
851 | platform_add_devices(snowball_of_platform_devs, | ||
852 | ARRAY_SIZE(snowball_of_platform_devs)); | ||
853 | |||
854 | snowball_sdi_init(parent); | ||
855 | } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) { | 817 | } else if (of_machine_is_compatible("st-ericsson,hrefv60+")) { |
856 | /* | 818 | /* |
857 | * The HREFv60 board removed a GPIO expander and routed | 819 | * The HREFv60 board removed a GPIO expander and routed |
@@ -873,7 +835,6 @@ static void __init u8500_init_machine(void) | |||
873 | 835 | ||
874 | mop500_uib_init(); | 836 | mop500_uib_init(); |
875 | } | 837 | } |
876 | mop500_i2c_init(parent); | ||
877 | 838 | ||
878 | /* This board has full regulator constraints */ | 839 | /* This board has full regulator constraints */ |
879 | regulator_has_full_constraints(); | 840 | regulator_has_full_constraints(); |