aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2011-08-23 02:57:23 -0400
committerTony Lindgren <tony@atomide.com>2011-08-24 07:48:10 -0400
commita4ca9dbe44a167d63545c7ac2b5a36d7b0b415b6 (patch)
treed035c4251bdd45aff89e9e6c72ba644ec679f7b7 /arch/arm
parentf41caddbe73f52a42f529d668ce47b4d693fd2c0 (diff)
ARM: OMAP: Move omap2_init_common_devices out of init_early
There's no need to call omap2_init_common_devices from init_early. It no longer does anything else except reprogram the memory timings for some boards, so it's better to do it later so we have a chance to get console messages if something goes wrong. Move it to happen after omap_serial_init gets called. And while patching it anyways, rename it to omap_sdrc_init as suggested by Benoit Cousson <b-cousson@ti.com>. Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-omap2/board-2430sdp.c2
-rw-r--r--arch/arm/mach-omap2/board-3430sdp.c2
-rw-r--r--arch/arm/mach-omap2/board-3630sdp.c4
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c2
-rw-r--r--arch/arm/mach-omap2/board-am3517crane.c2
-rw-r--r--arch/arm/mach-omap2/board-am3517evm.c2
-rw-r--r--arch/arm/mach-omap2/board-apollon.c2
-rw-r--r--arch/arm/mach-omap2/board-cm-t35.c4
-rw-r--r--arch/arm/mach-omap2/board-cm-t3517.c2
-rw-r--r--arch/arm/mach-omap2/board-devkit8000.c4
-rw-r--r--arch/arm/mach-omap2/board-generic.c2
-rw-r--r--arch/arm/mach-omap2/board-h4.c2
-rw-r--r--arch/arm/mach-omap2/board-igep0020.c4
-rw-r--r--arch/arm/mach-omap2/board-ldp.c2
-rw-r--r--arch/arm/mach-omap2/board-n8x0.c2
-rw-r--r--arch/arm/mach-omap2/board-omap3beagle.c4
-rw-r--r--arch/arm/mach-omap2/board-omap3evm.c2
-rw-r--r--arch/arm/mach-omap2/board-omap3logic.c2
-rw-r--r--arch/arm/mach-omap2/board-omap3pandora.c4
-rw-r--r--arch/arm/mach-omap2/board-omap3stalker.c2
-rw-r--r--arch/arm/mach-omap2/board-omap3touchbook.c4
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c2
-rw-r--r--arch/arm/mach-omap2/board-overo.c4
-rw-r--r--arch/arm/mach-omap2/board-rm680.c10
-rw-r--r--arch/arm/mach-omap2/board-rx51.c10
-rw-r--r--arch/arm/mach-omap2/board-ti8168evm.c2
-rw-r--r--arch/arm/mach-omap2/board-zoom.c14
-rw-r--r--arch/arm/mach-omap2/io.c4
-rw-r--r--arch/arm/plat-omap/include/plat/io.h2
29 files changed, 55 insertions, 49 deletions
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index 2028464cf5b9..a4f43ee09934 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -144,7 +144,6 @@ static struct omap_board_config_kernel sdp2430_config[] __initdata = {
144static void __init omap_2430sdp_init_early(void) 144static void __init omap_2430sdp_init_early(void)
145{ 145{
146 omap2_init_common_infrastructure(); 146 omap2_init_common_infrastructure();
147 omap2_init_common_devices(NULL, NULL);
148} 147}
149 148
150static struct regulator_consumer_supply sdp2430_vmmc1_supplies[] = { 149static struct regulator_consumer_supply sdp2430_vmmc1_supplies[] = {
@@ -235,6 +234,7 @@ static void __init omap_2430sdp_init(void)
235 234
236 platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices)); 235 platform_add_devices(sdp2430_devices, ARRAY_SIZE(sdp2430_devices));
237 omap_serial_init(); 236 omap_serial_init();
237 omap_sdrc_init(NULL, NULL);
238 omap2_hsmmc_init(mmc); 238 omap2_hsmmc_init(mmc);
239 omap2_usbfs_init(&sdp2430_usb_config); 239 omap2_usbfs_init(&sdp2430_usb_config);
240 240
diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
index bd600cfb7f80..cc8e14887c7b 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
@@ -228,7 +228,6 @@ static struct omap_board_config_kernel sdp3430_config[] __initdata = {
228static void __init omap_3430sdp_init_early(void) 228static void __init omap_3430sdp_init_early(void)
229{ 229{
230 omap2_init_common_infrastructure(); 230 omap2_init_common_infrastructure();
231 omap2_init_common_devices(hyb18m512160af6_sdrc_params, NULL);
232} 231}
233 232
234static struct omap2_hsmmc_info mmc[] = { 233static struct omap2_hsmmc_info mmc[] = {
@@ -719,6 +718,7 @@ static void __init omap_3430sdp_init(void)
719 gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV1; 718 gpio_pendown = SDP3430_TS_GPIO_IRQ_SDPV1;
720 omap_ads7846_init(1, gpio_pendown, 310, NULL); 719 omap_ads7846_init(1, gpio_pendown, 310, NULL);
721 board_serial_init(); 720 board_serial_init();
721 omap_sdrc_init(hyb18m512160af6_sdrc_params, NULL);
722 usb_musb_init(NULL); 722 usb_musb_init(NULL);
723 board_smc91x_init(); 723 board_smc91x_init();
724 board_flash_init(sdp_flash_partitions, chip_sel_3430, 0); 724 board_flash_init(sdp_flash_partitions, chip_sel_3430, 0);
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c
index e4f37b57a0c4..96766e9bd7c2 100644
--- a/arch/arm/mach-omap2/board-3630sdp.c
+++ b/arch/arm/mach-omap2/board-3630sdp.c
@@ -73,8 +73,6 @@ static struct omap_board_config_kernel sdp_config[] __initdata = {
73static void __init omap_sdp_init_early(void) 73static void __init omap_sdp_init_early(void)
74{ 74{
75 omap2_init_common_infrastructure(); 75 omap2_init_common_infrastructure();
76 omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params,
77 h8mbx00u0mer0em_sdrc_params);
78} 76}
79 77
80#ifdef CONFIG_OMAP_MUX 78#ifdef CONFIG_OMAP_MUX
@@ -207,6 +205,8 @@ static void __init omap_sdp_init(void)
207 omap_board_config = sdp_config; 205 omap_board_config = sdp_config;
208 omap_board_config_size = ARRAY_SIZE(sdp_config); 206 omap_board_config_size = ARRAY_SIZE(sdp_config);
209 zoom_peripherals_init(); 207 zoom_peripherals_init();
208 omap_sdrc_init(h8mbx00u0mer0em_sdrc_params,
209 h8mbx00u0mer0em_sdrc_params);
210 zoom_display_init(); 210 zoom_display_init();
211 board_smc91x_init(); 211 board_smc91x_init();
212 board_flash_init(sdp_flash_partitions, chip_sel_sdp, NAND_BUSWIDTH_16); 212 board_flash_init(sdp_flash_partitions, chip_sel_sdp, NAND_BUSWIDTH_16);
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index c7cef44c75d4..bbe3735e1f78 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -392,7 +392,6 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = {
392static void __init omap_4430sdp_init_early(void) 392static void __init omap_4430sdp_init_early(void)
393{ 393{
394 omap2_init_common_infrastructure(); 394 omap2_init_common_infrastructure();
395 omap2_init_common_devices(NULL, NULL);
396} 395}
397 396
398static struct omap_musb_board_data musb_board_data = { 397static struct omap_musb_board_data musb_board_data = {
@@ -809,6 +808,7 @@ static void __init omap_4430sdp_init(void)
809 omap_sfh7741prox_init(); 808 omap_sfh7741prox_init();
810 platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); 809 platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
811 board_serial_init(); 810 board_serial_init();
811 omap_sdrc_init(NULL, NULL);
812 omap4_sdp4430_wifi_init(); 812 omap4_sdp4430_wifi_init();
813 omap4_twl6030_hsmmc_init(mmc); 813 omap4_twl6030_hsmmc_init(mmc);
814 814
diff --git a/arch/arm/mach-omap2/board-am3517crane.c b/arch/arm/mach-omap2/board-am3517crane.c
index 933e9353cb37..4701e8c91f16 100644
--- a/arch/arm/mach-omap2/board-am3517crane.c
+++ b/arch/arm/mach-omap2/board-am3517crane.c
@@ -50,7 +50,6 @@ static struct omap_board_mux board_mux[] __initdata = {
50static void __init am3517_crane_init_early(void) 50static void __init am3517_crane_init_early(void)
51{ 51{
52 omap2_init_common_infrastructure(); 52 omap2_init_common_infrastructure();
53 omap2_init_common_devices(NULL, NULL);
54} 53}
55 54
56static struct usbhs_omap_board_data usbhs_bdata __initdata = { 55static struct usbhs_omap_board_data usbhs_bdata __initdata = {
@@ -70,6 +69,7 @@ static void __init am3517_crane_init(void)
70 69
71 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); 70 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
72 omap_serial_init(); 71 omap_serial_init();
72 omap_sdrc_init(NULL, NULL);
73 73
74 omap_board_config = am3517_crane_config; 74 omap_board_config = am3517_crane_config;
75 omap_board_config_size = ARRAY_SIZE(am3517_crane_config); 75 omap_board_config_size = ARRAY_SIZE(am3517_crane_config);
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c
index f3006c304150..b5391a1148d2 100644
--- a/arch/arm/mach-omap2/board-am3517evm.c
+++ b/arch/arm/mach-omap2/board-am3517evm.c
@@ -365,7 +365,6 @@ static struct omap_dss_board_info am3517_evm_dss_data = {
365static void __init am3517_evm_init_early(void) 365static void __init am3517_evm_init_early(void)
366{ 366{
367 omap2_init_common_infrastructure(); 367 omap2_init_common_infrastructure();
368 omap2_init_common_devices(NULL, NULL);
369} 368}
370 369
371static struct omap_musb_board_data musb_board_data = { 370static struct omap_musb_board_data musb_board_data = {
@@ -469,6 +468,7 @@ static void __init am3517_evm_init(void)
469 am3517_evm_i2c_init(); 468 am3517_evm_i2c_init();
470 omap_display_init(&am3517_evm_dss_data); 469 omap_display_init(&am3517_evm_dss_data);
471 omap_serial_init(); 470 omap_serial_init();
471 omap_sdrc_init(NULL, NULL);
472 472
473 /* Configure GPIO for EHCI port */ 473 /* Configure GPIO for EHCI port */
474 omap_mux_init_gpio(57, OMAP_PIN_OUTPUT); 474 omap_mux_init_gpio(57, OMAP_PIN_OUTPUT);
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
index 70211703ff9f..6d88ffa2477d 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -276,7 +276,6 @@ static struct omap_board_config_kernel apollon_config[] __initdata = {
276static void __init omap_apollon_init_early(void) 276static void __init omap_apollon_init_early(void)
277{ 277{
278 omap2_init_common_infrastructure(); 278 omap2_init_common_infrastructure();
279 omap2_init_common_devices(NULL, NULL);
280} 279}
281 280
282static struct gpio apollon_gpio_leds[] __initdata = { 281static struct gpio apollon_gpio_leds[] __initdata = {
@@ -340,6 +339,7 @@ static void __init omap_apollon_init(void)
340 */ 339 */
341 platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); 340 platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices));
342 omap_serial_init(); 341 omap_serial_init();
342 omap_sdrc_init(NULL, NULL);
343} 343}
344 344
345static void __init omap_apollon_map_io(void) 345static void __init omap_apollon_map_io(void)
diff --git a/arch/arm/mach-omap2/board-cm-t35.c b/arch/arm/mach-omap2/board-cm-t35.c
index 3af8aab435b5..0f2549659879 100644
--- a/arch/arm/mach-omap2/board-cm-t35.c
+++ b/arch/arm/mach-omap2/board-cm-t35.c
@@ -474,8 +474,6 @@ static void __init cm_t35_init_i2c(void)
474static void __init cm_t35_init_early(void) 474static void __init cm_t35_init_early(void)
475{ 475{
476 omap2_init_common_infrastructure(); 476 omap2_init_common_infrastructure();
477 omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
478 mt46h32m32lf6_sdrc_params);
479} 477}
480 478
481#ifdef CONFIG_OMAP_MUX 479#ifdef CONFIG_OMAP_MUX
@@ -610,6 +608,8 @@ static void __init cm_t3x_common_init(void)
610 omap_board_config_size = ARRAY_SIZE(cm_t35_config); 608 omap_board_config_size = ARRAY_SIZE(cm_t35_config);
611 omap3_mux_init(board_mux, OMAP_PACKAGE_CUS); 609 omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
612 omap_serial_init(); 610 omap_serial_init();
611 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
612 mt46h32m32lf6_sdrc_params);
613 cm_t35_init_i2c(); 613 cm_t35_init_i2c();
614 omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL); 614 omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
615 cm_t35_init_ethernet(); 615 cm_t35_init_ethernet();
diff --git a/arch/arm/mach-omap2/board-cm-t3517.c b/arch/arm/mach-omap2/board-cm-t3517.c
index 05c72f4c1b57..88e1f74433e6 100644
--- a/arch/arm/mach-omap2/board-cm-t3517.c
+++ b/arch/arm/mach-omap2/board-cm-t3517.c
@@ -254,7 +254,6 @@ static struct omap_board_config_kernel cm_t3517_config[] __initdata = {
254static void __init cm_t3517_init_early(void) 254static void __init cm_t3517_init_early(void)
255{ 255{
256 omap2_init_common_infrastructure(); 256 omap2_init_common_infrastructure();
257 omap2_init_common_devices(NULL, NULL);
258} 257}
259 258
260#ifdef CONFIG_OMAP_MUX 259#ifdef CONFIG_OMAP_MUX
@@ -289,6 +288,7 @@ static void __init cm_t3517_init(void)
289{ 288{
290 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); 289 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
291 omap_serial_init(); 290 omap_serial_init();
291 omap_sdrc_init(NULL, NULL);
292 omap_board_config = cm_t3517_config; 292 omap_board_config = cm_t3517_config;
293 omap_board_config_size = ARRAY_SIZE(cm_t3517_config); 293 omap_board_config_size = ARRAY_SIZE(cm_t3517_config);
294 cm_t3517_init_leds(); 294 cm_t3517_init_leds();
diff --git a/arch/arm/mach-omap2/board-devkit8000.c b/arch/arm/mach-omap2/board-devkit8000.c
index b6002ec31c6a..631dc5821e1f 100644
--- a/arch/arm/mach-omap2/board-devkit8000.c
+++ b/arch/arm/mach-omap2/board-devkit8000.c
@@ -401,8 +401,6 @@ static struct platform_device keys_gpio = {
401static void __init devkit8000_init_early(void) 401static void __init devkit8000_init_early(void)
402{ 402{
403 omap2_init_common_infrastructure(); 403 omap2_init_common_infrastructure();
404 omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
405 mt46h32m32lf6_sdrc_params);
406} 404}
407 405
408static void __init devkit8000_init_irq(void) 406static void __init devkit8000_init_irq(void)
@@ -645,6 +643,8 @@ static void __init devkit8000_init(void)
645{ 643{
646 omap3_mux_init(board_mux, OMAP_PACKAGE_CUS); 644 omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
647 omap_serial_init(); 645 omap_serial_init();
646 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
647 mt46h32m32lf6_sdrc_params);
648 648
649 omap_dm9000_init(); 649 omap_dm9000_init();
650 650
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 54db41a84a9b..5223898f50e4 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -36,12 +36,12 @@ static struct omap_board_config_kernel generic_config[] = {
36static void __init omap_generic_init_early(void) 36static void __init omap_generic_init_early(void)
37{ 37{
38 omap2_init_common_infrastructure(); 38 omap2_init_common_infrastructure();
39 omap2_init_common_devices(NULL, NULL);
40} 39}
41 40
42static void __init omap_generic_init(void) 41static void __init omap_generic_init(void)
43{ 42{
44 omap_serial_init(); 43 omap_serial_init();
44 omap_sdrc_init(NULL, NULL);
45 omap_board_config = generic_config; 45 omap_board_config = generic_config;
46 omap_board_config_size = ARRAY_SIZE(generic_config); 46 omap_board_config_size = ARRAY_SIZE(generic_config);
47} 47}
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index 45de2b319ec9..84ca5c02d326 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -293,7 +293,6 @@ static struct omap_board_config_kernel h4_config[] __initdata = {
293static void __init omap_h4_init_early(void) 293static void __init omap_h4_init_early(void)
294{ 294{
295 omap2_init_common_infrastructure(); 295 omap2_init_common_infrastructure();
296 omap2_init_common_devices(NULL, NULL);
297} 296}
298 297
299static void __init omap_h4_init_irq(void) 298static void __init omap_h4_init_irq(void)
@@ -371,6 +370,7 @@ static void __init omap_h4_init(void)
371 platform_add_devices(h4_devices, ARRAY_SIZE(h4_devices)); 370 platform_add_devices(h4_devices, ARRAY_SIZE(h4_devices));
372 omap2_usbfs_init(&h4_usb_config); 371 omap2_usbfs_init(&h4_usb_config);
373 omap_serial_init(); 372 omap_serial_init();
373 omap_sdrc_init(NULL, NULL);
374 h4_init_flash(); 374 h4_init_flash();
375} 375}
376 376
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c
index 35be778caf1b..1b2309febee8 100644
--- a/arch/arm/mach-omap2/board-igep0020.c
+++ b/arch/arm/mach-omap2/board-igep0020.c
@@ -494,8 +494,6 @@ static struct platform_device *igep_devices[] __initdata = {
494static void __init igep_init_early(void) 494static void __init igep_init_early(void)
495{ 495{
496 omap2_init_common_infrastructure(); 496 omap2_init_common_infrastructure();
497 omap2_init_common_devices(m65kxxxxam_sdrc_params,
498 m65kxxxxam_sdrc_params);
499} 497}
500 498
501static int igep2_keymap[] = { 499static int igep2_keymap[] = {
@@ -650,6 +648,8 @@ static void __init igep_init(void)
650 igep_i2c_init(); 648 igep_i2c_init();
651 platform_add_devices(igep_devices, ARRAY_SIZE(igep_devices)); 649 platform_add_devices(igep_devices, ARRAY_SIZE(igep_devices));
652 omap_serial_init(); 650 omap_serial_init();
651 omap_sdrc_init(m65kxxxxam_sdrc_params,
652 m65kxxxxam_sdrc_params);
653 usb_musb_init(NULL); 653 usb_musb_init(NULL);
654 654
655 igep_flash_init(); 655 igep_flash_init();
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index 218764c9377e..c45a0f4df81f 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -196,7 +196,6 @@ static struct omap_board_config_kernel ldp_config[] __initdata = {
196static void __init omap_ldp_init_early(void) 196static void __init omap_ldp_init_early(void)
197{ 197{
198 omap2_init_common_infrastructure(); 198 omap2_init_common_infrastructure();
199 omap2_init_common_devices(NULL, NULL);
200} 199}
201 200
202static struct twl4030_gpio_platform_data ldp_gpio_data = { 201static struct twl4030_gpio_platform_data ldp_gpio_data = {
@@ -325,6 +324,7 @@ static void __init omap_ldp_init(void)
325 platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices)); 324 platform_add_devices(ldp_devices, ARRAY_SIZE(ldp_devices));
326 omap_ads7846_init(1, 54, 310, NULL); 325 omap_ads7846_init(1, 54, 310, NULL);
327 omap_serial_init(); 326 omap_serial_init();
327 omap_sdrc_init(NULL, NULL);
328 usb_musb_init(NULL); 328 usb_musb_init(NULL);
329 board_nand_init(ldp_nand_partitions, 329 board_nand_init(ldp_nand_partitions,
330 ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0); 330 ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0);
diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
index e11f0c5d608a..2545a4aaee5a 100644
--- a/arch/arm/mach-omap2/board-n8x0.c
+++ b/arch/arm/mach-omap2/board-n8x0.c
@@ -625,7 +625,6 @@ static void __init n8x0_map_io(void)
625static void __init n8x0_init_early(void) 625static void __init n8x0_init_early(void)
626{ 626{
627 omap2_init_common_infrastructure(); 627 omap2_init_common_infrastructure();
628 omap2_init_common_devices(NULL, NULL);
629} 628}
630 629
631#ifdef CONFIG_OMAP_MUX 630#ifdef CONFIG_OMAP_MUX
@@ -689,6 +688,7 @@ static void __init n8x0_init_machine(void)
689 i2c_register_board_info(2, n810_i2c_board_info_2, 688 i2c_register_board_info(2, n810_i2c_board_info_2,
690 ARRAY_SIZE(n810_i2c_board_info_2)); 689 ARRAY_SIZE(n810_i2c_board_info_2));
691 board_serial_init(); 690 board_serial_init();
691 omap_sdrc_init(NULL, NULL);
692 gpmc_onenand_init(board_onenand_data); 692 gpmc_onenand_init(board_onenand_data);
693 n8x0_mmc_init(); 693 n8x0_mmc_init();
694 n8x0_usb_init(); 694 n8x0_usb_init();
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index 3ae16b4e3f52..ce3234d6a344 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -447,8 +447,6 @@ static struct platform_device keys_gpio = {
447static void __init omap3_beagle_init_early(void) 447static void __init omap3_beagle_init_early(void)
448{ 448{
449 omap2_init_common_infrastructure(); 449 omap2_init_common_infrastructure();
450 omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
451 mt46h32m32lf6_sdrc_params);
452} 450}
453 451
454static void __init omap3_beagle_init_irq(void) 452static void __init omap3_beagle_init_irq(void)
@@ -534,6 +532,8 @@ static void __init omap3_beagle_init(void)
534 ARRAY_SIZE(omap3_beagle_devices)); 532 ARRAY_SIZE(omap3_beagle_devices));
535 omap_display_init(&beagle_dss_data); 533 omap_display_init(&beagle_dss_data);
536 omap_serial_init(); 534 omap_serial_init();
535 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
536 mt46h32m32lf6_sdrc_params);
537 537
538 omap_mux_init_gpio(170, OMAP_PIN_INPUT); 538 omap_mux_init_gpio(170, OMAP_PIN_INPUT);
539 /* REVISIT leave DVI powered down until it's needed ... */ 539 /* REVISIT leave DVI powered down until it's needed ... */
diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
index c452b3f3331a..0735bca30e4c 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
@@ -523,7 +523,6 @@ static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
523static void __init omap3_evm_init_early(void) 523static void __init omap3_evm_init_early(void)
524{ 524{
525 omap2_init_common_infrastructure(); 525 omap2_init_common_infrastructure();
526 omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);
527} 526}
528 527
529static struct usbhs_omap_board_data usbhs_bdata __initdata = { 528static struct usbhs_omap_board_data usbhs_bdata __initdata = {
@@ -640,6 +639,7 @@ static void __init omap3_evm_init(void)
640 omap_display_init(&omap3_evm_dss_data); 639 omap_display_init(&omap3_evm_dss_data);
641 640
642 omap_serial_init(); 641 omap_serial_init();
642 omap_sdrc_init(mt46h32m32lf6_sdrc_params, NULL);
643 643
644 /* OMAP3EVM uses ISP1504 phy and so register nop transceiver */ 644 /* OMAP3EVM uses ISP1504 phy and so register nop transceiver */
645 usb_nop_xceiv_register(); 645 usb_nop_xceiv_register();
diff --git a/arch/arm/mach-omap2/board-omap3logic.c b/arch/arm/mach-omap2/board-omap3logic.c
index 703aeb5b8fd4..2e0b0116a83a 100644
--- a/arch/arm/mach-omap2/board-omap3logic.c
+++ b/arch/arm/mach-omap2/board-omap3logic.c
@@ -185,7 +185,6 @@ static inline void __init board_smsc911x_init(void)
185static void __init omap3logic_init_early(void) 185static void __init omap3logic_init_early(void)
186{ 186{
187 omap2_init_common_infrastructure(); 187 omap2_init_common_infrastructure();
188 omap2_init_common_devices(NULL, NULL);
189} 188}
190 189
191#ifdef CONFIG_OMAP_MUX 190#ifdef CONFIG_OMAP_MUX
@@ -200,6 +199,7 @@ static void __init omap3logic_init(void)
200 omap3torpedo_fix_pbias_voltage(); 199 omap3torpedo_fix_pbias_voltage();
201 omap3logic_i2c_init(); 200 omap3logic_i2c_init();
202 omap_serial_init(); 201 omap_serial_init();
202 omap_sdrc_init(NULL, NULL);
203 board_mmc_init(); 203 board_mmc_init();
204 board_smsc911x_init(); 204 board_smsc911x_init();
205 205
diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
index 080d7bd6795e..0f70566c7edf 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
@@ -528,8 +528,6 @@ static struct spi_board_info omap3pandora_spi_board_info[] __initdata = {
528static void __init omap3pandora_init_early(void) 528static void __init omap3pandora_init_early(void)
529{ 529{
530 omap2_init_common_infrastructure(); 530 omap2_init_common_infrastructure();
531 omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
532 mt46h32m32lf6_sdrc_params);
533} 531}
534 532
535static void __init pandora_wl1251_init(void) 533static void __init pandora_wl1251_init(void)
@@ -593,6 +591,8 @@ static void __init omap3pandora_init(void)
593 ARRAY_SIZE(omap3pandora_devices)); 591 ARRAY_SIZE(omap3pandora_devices));
594 omap_display_init(&pandora_dss_data); 592 omap_display_init(&pandora_dss_data);
595 omap_serial_init(); 593 omap_serial_init();
594 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
595 mt46h32m32lf6_sdrc_params);
596 spi_register_board_info(omap3pandora_spi_board_info, 596 spi_register_board_info(omap3pandora_spi_board_info,
597 ARRAY_SIZE(omap3pandora_spi_board_info)); 597 ARRAY_SIZE(omap3pandora_spi_board_info));
598 omap_ads7846_init(1, OMAP3_PANDORA_TS_GPIO, 0, NULL); 598 omap_ads7846_init(1, OMAP3_PANDORA_TS_GPIO, 0, NULL);
diff --git a/arch/arm/mach-omap2/board-omap3stalker.c b/arch/arm/mach-omap2/board-omap3stalker.c
index 8e104980ea26..04981f9b2e42 100644
--- a/arch/arm/mach-omap2/board-omap3stalker.c
+++ b/arch/arm/mach-omap2/board-omap3stalker.c
@@ -431,7 +431,6 @@ static struct omap_board_config_kernel omap3_stalker_config[] __initdata = {
431static void __init omap3_stalker_init_early(void) 431static void __init omap3_stalker_init_early(void)
432{ 432{
433 omap2_init_common_infrastructure(); 433 omap2_init_common_infrastructure();
434 omap2_init_common_devices(mt46h32m32lf6_sdrc_params, NULL);
435} 434}
436 435
437static void __init omap3_stalker_init_irq(void) 436static void __init omap3_stalker_init_irq(void)
@@ -478,6 +477,7 @@ static void __init omap3_stalker_init(void)
478 omap_display_init(&omap3_stalker_dss_data); 477 omap_display_init(&omap3_stalker_dss_data);
479 478
480 omap_serial_init(); 479 omap_serial_init();
480 omap_sdrc_init(mt46h32m32lf6_sdrc_params, NULL);
481 usb_musb_init(NULL); 481 usb_musb_init(NULL);
482 usbhs_init(&usbhs_bdata); 482 usbhs_init(&usbhs_bdata);
483 omap_ads7846_init(1, OMAP3_STALKER_TS_GPIO, 310, NULL); 483 omap_ads7846_init(1, OMAP3_STALKER_TS_GPIO, 310, NULL);
diff --git a/arch/arm/mach-omap2/board-omap3touchbook.c b/arch/arm/mach-omap2/board-omap3touchbook.c
index 852ea0464057..b3fe7adce6d3 100644
--- a/arch/arm/mach-omap2/board-omap3touchbook.c
+++ b/arch/arm/mach-omap2/board-omap3touchbook.c
@@ -329,8 +329,6 @@ static struct omap_board_mux board_mux[] __initdata = {
329static void __init omap3_touchbook_init_early(void) 329static void __init omap3_touchbook_init_early(void)
330{ 330{
331 omap2_init_common_infrastructure(); 331 omap2_init_common_infrastructure();
332 omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
333 mt46h32m32lf6_sdrc_params);
334} 332}
335 333
336static void __init omap3_touchbook_init_irq(void) 334static void __init omap3_touchbook_init_irq(void)
@@ -385,6 +383,8 @@ static void __init omap3_touchbook_init(void)
385 platform_add_devices(omap3_touchbook_devices, 383 platform_add_devices(omap3_touchbook_devices,
386 ARRAY_SIZE(omap3_touchbook_devices)); 384 ARRAY_SIZE(omap3_touchbook_devices));
387 omap_serial_init(); 385 omap_serial_init();
386 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
387 mt46h32m32lf6_sdrc_params);
388 388
389 omap_mux_init_gpio(170, OMAP_PIN_INPUT); 389 omap_mux_init_gpio(170, OMAP_PIN_INPUT);
390 /* REVISIT leave DVI powered down until it's needed ... */ 390 /* REVISIT leave DVI powered down until it's needed ... */
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 9aaa96057666..b730ca5f5544 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -98,7 +98,6 @@ static struct platform_device *panda_devices[] __initdata = {
98static void __init omap4_panda_init_early(void) 98static void __init omap4_panda_init_early(void)
99{ 99{
100 omap2_init_common_infrastructure(); 100 omap2_init_common_infrastructure();
101 omap2_init_common_devices(NULL, NULL);
102} 101}
103 102
104static const struct usbhs_omap_board_data usbhs_bdata __initconst = { 103static const struct usbhs_omap_board_data usbhs_bdata __initconst = {
@@ -569,6 +568,7 @@ static void __init omap4_panda_init(void)
569 platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices)); 568 platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
570 platform_device_register(&omap_vwlan_device); 569 platform_device_register(&omap_vwlan_device);
571 board_serial_init(); 570 board_serial_init();
571 omap_sdrc_init(NULL, NULL);
572 omap4_twl6030_hsmmc_init(mmc); 572 omap4_twl6030_hsmmc_init(mmc);
573 omap4_ehci_init(); 573 omap4_ehci_init();
574 usb_musb_init(&musb_board_data); 574 usb_musb_init(&musb_board_data);
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index f949a9954d76..c3bd1af7a15d 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -481,8 +481,6 @@ static int __init overo_spi_init(void)
481static void __init overo_init_early(void) 481static void __init overo_init_early(void)
482{ 482{
483 omap2_init_common_infrastructure(); 483 omap2_init_common_infrastructure();
484 omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
485 mt46h32m32lf6_sdrc_params);
486} 484}
487 485
488static const struct usbhs_omap_board_data usbhs_bdata __initconst = { 486static const struct usbhs_omap_board_data usbhs_bdata __initconst = {
@@ -514,6 +512,8 @@ static void __init overo_init(void)
514 overo_i2c_init(); 512 overo_i2c_init();
515 omap_display_init(&overo_dss_data); 513 omap_display_init(&overo_dss_data);
516 omap_serial_init(); 514 omap_serial_init();
515 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
516 mt46h32m32lf6_sdrc_params);
517 omap_nand_flash_init(0, overo_nand_partitions, 517 omap_nand_flash_init(0, overo_nand_partitions,
518 ARRAY_SIZE(overo_nand_partitions)); 518 ARRAY_SIZE(overo_nand_partitions));
519 usb_musb_init(NULL); 519 usb_musb_init(NULL);
diff --git a/arch/arm/mach-omap2/board-rm680.c b/arch/arm/mach-omap2/board-rm680.c
index 7dfed24ee12e..a6f76e13c15b 100644
--- a/arch/arm/mach-omap2/board-rm680.c
+++ b/arch/arm/mach-omap2/board-rm680.c
@@ -125,11 +125,7 @@ static void __init rm680_peripherals_init(void)
125 125
126static void __init rm680_init_early(void) 126static void __init rm680_init_early(void)
127{ 127{
128 struct omap_sdrc_params *sdrc_params;
129
130 omap2_init_common_infrastructure(); 128 omap2_init_common_infrastructure();
131 sdrc_params = nokia_get_sdram_timings();
132 omap2_init_common_devices(sdrc_params, sdrc_params);
133} 129}
134 130
135#ifdef CONFIG_OMAP_MUX 131#ifdef CONFIG_OMAP_MUX
@@ -140,8 +136,14 @@ static struct omap_board_mux board_mux[] __initdata = {
140 136
141static void __init rm680_init(void) 137static void __init rm680_init(void)
142{ 138{
139 struct omap_sdrc_params *sdrc_params;
140
143 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); 141 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
144 omap_serial_init(); 142 omap_serial_init();
143
144 sdrc_params = nokia_get_sdram_timings();
145 omap_sdrc_init(sdrc_params, sdrc_params);
146
145 usb_musb_init(NULL); 147 usb_musb_init(NULL);
146 rm680_peripherals_init(); 148 rm680_peripherals_init();
147} 149}
diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
index 5ea142f9bc97..656a8b5a9012 100644
--- a/arch/arm/mach-omap2/board-rx51.c
+++ b/arch/arm/mach-omap2/board-rx51.c
@@ -104,11 +104,7 @@ static struct omap_board_config_kernel rx51_config[] = {
104 104
105static void __init rx51_init_early(void) 105static void __init rx51_init_early(void)
106{ 106{
107 struct omap_sdrc_params *sdrc_params;
108
109 omap2_init_common_infrastructure(); 107 omap2_init_common_infrastructure();
110 sdrc_params = nokia_get_sdram_timings();
111 omap2_init_common_devices(sdrc_params, sdrc_params);
112} 108}
113 109
114extern void __init rx51_peripherals_init(void); 110extern void __init rx51_peripherals_init(void);
@@ -127,11 +123,17 @@ static struct omap_musb_board_data musb_board_data = {
127 123
128static void __init rx51_init(void) 124static void __init rx51_init(void)
129{ 125{
126 struct omap_sdrc_params *sdrc_params;
127
130 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); 128 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
131 omap_board_config = rx51_config; 129 omap_board_config = rx51_config;
132 omap_board_config_size = ARRAY_SIZE(rx51_config); 130 omap_board_config_size = ARRAY_SIZE(rx51_config);
133 omap3_pm_init_cpuidle(rx51_cpuidle_params); 131 omap3_pm_init_cpuidle(rx51_cpuidle_params);
134 omap_serial_init(); 132 omap_serial_init();
133
134 sdrc_params = nokia_get_sdram_timings();
135 omap_sdrc_init(sdrc_params, sdrc_params);
136
135 usb_musb_init(&musb_board_data); 137 usb_musb_init(&musb_board_data);
136 rx51_peripherals_init(); 138 rx51_peripherals_init();
137 139
diff --git a/arch/arm/mach-omap2/board-ti8168evm.c b/arch/arm/mach-omap2/board-ti8168evm.c
index a85d5b0b11da..e249c3d8918d 100644
--- a/arch/arm/mach-omap2/board-ti8168evm.c
+++ b/arch/arm/mach-omap2/board-ti8168evm.c
@@ -30,12 +30,12 @@ static struct omap_board_config_kernel ti8168_evm_config[] __initdata = {
30static void __init ti8168_init_early(void) 30static void __init ti8168_init_early(void)
31{ 31{
32 omap2_init_common_infrastructure(); 32 omap2_init_common_infrastructure();
33 omap2_init_common_devices(NULL, NULL);
34} 33}
35 34
36static void __init ti8168_evm_init(void) 35static void __init ti8168_evm_init(void)
37{ 36{
38 omap_serial_init(); 37 omap_serial_init();
38 omap_sdrc_init(NULL, NULL);
39 omap_board_config = ti8168_evm_config; 39 omap_board_config = ti8168_evm_config;
40 omap_board_config_size = ARRAY_SIZE(ti8168_evm_config); 40 omap_board_config_size = ARRAY_SIZE(ti8168_evm_config);
41} 41}
diff --git a/arch/arm/mach-omap2/board-zoom.c b/arch/arm/mach-omap2/board-zoom.c
index 8a98c3c303fc..569526456420 100644
--- a/arch/arm/mach-omap2/board-zoom.c
+++ b/arch/arm/mach-omap2/board-zoom.c
@@ -37,12 +37,6 @@
37static void __init omap_zoom_init_early(void) 37static void __init omap_zoom_init_early(void)
38{ 38{
39 omap2_init_common_infrastructure(); 39 omap2_init_common_infrastructure();
40 if (machine_is_omap_zoom2())
41 omap2_init_common_devices(mt46h32m32lf6_sdrc_params,
42 mt46h32m32lf6_sdrc_params);
43 else if (machine_is_omap_zoom3())
44 omap2_init_common_devices(h8mbx00u0mer0em_sdrc_params,
45 h8mbx00u0mer0em_sdrc_params);
46} 40}
47 41
48#ifdef CONFIG_OMAP_MUX 42#ifdef CONFIG_OMAP_MUX
@@ -129,6 +123,14 @@ static void __init omap_zoom_init(void)
129 ZOOM_NAND_CS, NAND_BUSWIDTH_16); 123 ZOOM_NAND_CS, NAND_BUSWIDTH_16);
130 zoom_debugboard_init(); 124 zoom_debugboard_init();
131 zoom_peripherals_init(); 125 zoom_peripherals_init();
126
127 if (machine_is_omap_zoom2())
128 omap_sdrc_init(mt46h32m32lf6_sdrc_params,
129 mt46h32m32lf6_sdrc_params);
130 else if (machine_is_omap_zoom3())
131 omap_sdrc_init(h8mbx00u0mer0em_sdrc_params,
132 h8mbx00u0mer0em_sdrc_params);
133
132 zoom_display_init(); 134 zoom_display_init();
133} 135}
134 136
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index 2ce1ce6fb4db..9258a5c7f735 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -376,7 +376,7 @@ void __init omap2_init_common_infrastructure(void)
376 * omap_hwmod_late_init(), so boards that desire full watchdog 376 * omap_hwmod_late_init(), so boards that desire full watchdog
377 * coverage of kernel initialization can reprogram the 377 * coverage of kernel initialization can reprogram the
378 * postsetup_state between the calls to 378 * postsetup_state between the calls to
379 * omap2_init_common_infra() and omap2_init_common_devices(). 379 * omap2_init_common_infra() and omap_sdrc_init().
380 * 380 *
381 * XXX ideally we could detect whether the MPU WDT was currently 381 * XXX ideally we could detect whether the MPU WDT was currently
382 * enabled here and make this conditional 382 * enabled here and make this conditional
@@ -400,7 +400,7 @@ void __init omap2_init_common_infrastructure(void)
400 pr_err("Could not init clock framework - unknown SoC\n"); 400 pr_err("Could not init clock framework - unknown SoC\n");
401} 401}
402 402
403void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, 403void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
404 struct omap_sdrc_params *sdrc_cs1) 404 struct omap_sdrc_params *sdrc_cs1)
405{ 405{
406 if (cpu_is_omap24xx() || omap3_has_sdrc()) { 406 if (cpu_is_omap24xx() || omap3_has_sdrc()) {
diff --git a/arch/arm/plat-omap/include/plat/io.h b/arch/arm/plat-omap/include/plat/io.h
index d72ec85c97e6..75311fc9c018 100644
--- a/arch/arm/plat-omap/include/plat/io.h
+++ b/arch/arm/plat-omap/include/plat/io.h
@@ -300,7 +300,7 @@ static inline void omap44xx_map_common_io(void)
300#endif 300#endif
301 301
302extern void omap2_init_common_infrastructure(void); 302extern void omap2_init_common_infrastructure(void);
303extern void omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0, 303extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
304 struct omap_sdrc_params *sdrc_cs1); 304 struct omap_sdrc_params *sdrc_cs1);
305 305
306#define __arch_ioremap omap_ioremap 306#define __arch_ioremap omap_ioremap