Commit bbd707ac authored by Shawn Guo's avatar Shawn Guo

ARM: omap2: use machine specific hook for late init

Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
Acked-by: default avatarTony Lindgren <tony@atomide.com>
parent 82c3bd03
...@@ -303,6 +303,7 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board") ...@@ -303,6 +303,7 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
.init_irq = omap2_init_irq, .init_irq = omap2_init_irq,
.handle_irq = omap2_intc_handle_irq, .handle_irq = omap2_intc_handle_irq,
.init_machine = omap_2430sdp_init, .init_machine = omap_2430sdp_init,
.init_late = omap2430_init_late,
.timer = &omap2_timer, .timer = &omap2_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -635,6 +635,7 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board") ...@@ -635,6 +635,7 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap_3430sdp_init, .init_machine = omap_3430sdp_init,
.init_late = omap3430_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -217,6 +217,7 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board") ...@@ -217,6 +217,7 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap_sdp_init, .init_machine = omap_sdp_init,
.init_late = omap3630_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -969,6 +969,7 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board") ...@@ -969,6 +969,7 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
.init_irq = gic_init_irq, .init_irq = gic_init_irq,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = omap_4430sdp_init, .init_machine = omap_4430sdp_init,
.init_late = omap4430_init_late,
.timer = &omap4_timer, .timer = &omap4_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -100,6 +100,7 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD") ...@@ -100,6 +100,7 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = am3517_crane_init, .init_machine = am3517_crane_init,
.init_late = am35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -402,6 +402,7 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM") ...@@ -402,6 +402,7 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = am3517_evm_init, .init_machine = am3517_evm_init,
.init_late = am35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -356,6 +356,7 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") ...@@ -356,6 +356,7 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
.init_irq = omap2_init_irq, .init_irq = omap2_init_irq,
.handle_irq = omap2_intc_handle_irq, .handle_irq = omap2_intc_handle_irq,
.init_machine = omap_apollon_init, .init_machine = omap_apollon_init,
.init_late = omap2420_init_late,
.timer = &omap2_timer, .timer = &omap2_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -686,6 +686,7 @@ MACHINE_START(CM_T35, "Compulab CM-T35") ...@@ -686,6 +686,7 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = cm_t35_init, .init_machine = cm_t35_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -698,6 +699,7 @@ MACHINE_START(CM_T3730, "Compulab CM-T3730") ...@@ -698,6 +699,7 @@ MACHINE_START(CM_T3730, "Compulab CM-T3730")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = cm_t3730_init, .init_machine = cm_t3730_init,
.init_late = omap3630_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -303,6 +303,7 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517") ...@@ -303,6 +303,7 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = cm_t3517_init, .init_machine = cm_t3517_init,
.init_late = am35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -664,6 +664,7 @@ MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000") ...@@ -664,6 +664,7 @@ MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = devkit8000_init, .init_machine = devkit8000_init,
.init_late = omap35xx_init_late,
.timer = &omap3_secure_timer, .timer = &omap3_secure_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -158,6 +158,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)") ...@@ -158,6 +158,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
.init_irq = omap_init_irq, .init_irq = omap_init_irq,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = omap4_init, .init_machine = omap4_init,
.init_late = omap4430_init_late,
.timer = &omap4_timer, .timer = &omap4_timer,
.dt_compat = omap4_boards_compat, .dt_compat = omap4_boards_compat,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
......
...@@ -398,6 +398,7 @@ MACHINE_START(OMAP_H4, "OMAP2420 H4 board") ...@@ -398,6 +398,7 @@ MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
.init_irq = omap2_init_irq, .init_irq = omap2_init_irq,
.handle_irq = omap2_intc_handle_irq, .handle_irq = omap2_intc_handle_irq,
.init_machine = omap_h4_init, .init_machine = omap_h4_init,
.init_late = omap2420_init_late,
.timer = &omap2_timer, .timer = &omap2_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -684,6 +684,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board") ...@@ -684,6 +684,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = igep_init, .init_machine = igep_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -696,6 +697,7 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module") ...@@ -696,6 +697,7 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = igep_init, .init_machine = igep_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -442,6 +442,7 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board") ...@@ -442,6 +442,7 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap_ldp_init, .init_machine = omap_ldp_init,
.init_late = omap3430_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -694,6 +694,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800") ...@@ -694,6 +694,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800")
.init_irq = omap2_init_irq, .init_irq = omap2_init_irq,
.handle_irq = omap2_intc_handle_irq, .handle_irq = omap2_intc_handle_irq,
.init_machine = n8x0_init_machine, .init_machine = n8x0_init_machine,
.init_late = omap2420_init_late,
.timer = &omap2_timer, .timer = &omap2_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -706,6 +707,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810") ...@@ -706,6 +707,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810")
.init_irq = omap2_init_irq, .init_irq = omap2_init_irq,
.handle_irq = omap2_intc_handle_irq, .handle_irq = omap2_intc_handle_irq,
.init_machine = n8x0_init_machine, .init_machine = n8x0_init_machine,
.init_late = omap2420_init_late,
.timer = &omap2_timer, .timer = &omap2_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -718,6 +720,7 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX") ...@@ -718,6 +720,7 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
.init_irq = omap2_init_irq, .init_irq = omap2_init_irq,
.handle_irq = omap2_intc_handle_irq, .handle_irq = omap2_intc_handle_irq,
.init_machine = n8x0_init_machine, .init_machine = n8x0_init_machine,
.init_late = omap2420_init_late,
.timer = &omap2_timer, .timer = &omap2_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -565,6 +565,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") ...@@ -565,6 +565,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap3_beagle_init, .init_machine = omap3_beagle_init,
.init_late = omap3_init_late,
.timer = &omap3_secure_timer, .timer = &omap3_secure_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -692,6 +692,7 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM") ...@@ -692,6 +692,7 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap3_evm_init, .init_machine = omap3_evm_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -218,6 +218,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board") ...@@ -218,6 +218,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap3logic_init, .init_machine = omap3logic_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -230,6 +231,7 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board") ...@@ -230,6 +231,7 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap3logic_init, .init_machine = omap3logic_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -622,6 +622,7 @@ MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console") ...@@ -622,6 +622,7 @@ MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap3pandora_init, .init_machine = omap3pandora_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -457,6 +457,7 @@ MACHINE_START(SBC3530, "OMAP3 STALKER") ...@@ -457,6 +457,7 @@ MACHINE_START(SBC3530, "OMAP3 STALKER")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap3_stalker_init, .init_machine = omap3_stalker_init,
.init_late = omap35xx_init_late,
.timer = &omap3_secure_timer, .timer = &omap3_secure_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -387,6 +387,7 @@ MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board") ...@@ -387,6 +387,7 @@ MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap3_touchbook_init, .init_machine = omap3_touchbook_init,
.init_late = omap3430_init_late,
.timer = &omap3_secure_timer, .timer = &omap3_secure_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -582,6 +582,7 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board") ...@@ -582,6 +582,7 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
.init_irq = gic_init_irq, .init_irq = gic_init_irq,
.handle_irq = gic_handle_irq, .handle_irq = gic_handle_irq,
.init_machine = omap4_panda_init, .init_machine = omap4_panda_init,
.init_late = omap4430_init_late,
.timer = &omap4_timer, .timer = &omap4_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -571,6 +571,7 @@ MACHINE_START(OVERO, "Gumstix Overo") ...@@ -571,6 +571,7 @@ MACHINE_START(OVERO, "Gumstix Overo")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = overo_init, .init_machine = overo_init,
.init_late = omap35xx_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -151,6 +151,7 @@ MACHINE_START(NOKIA_RM680, "Nokia RM-680 board") ...@@ -151,6 +151,7 @@ MACHINE_START(NOKIA_RM680, "Nokia RM-680 board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = rm680_init, .init_machine = rm680_init,
.init_late = omap3630_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -163,6 +164,7 @@ MACHINE_START(NOKIA_RM696, "Nokia RM-696 board") ...@@ -163,6 +164,7 @@ MACHINE_START(NOKIA_RM696, "Nokia RM-696 board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = rm680_init, .init_machine = rm680_init,
.init_late = omap3630_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -129,6 +129,7 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board") ...@@ -129,6 +129,7 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = rx51_init, .init_machine = rx51_init,
.init_late = omap3430_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -52,6 +52,7 @@ MACHINE_START(TI8168EVM, "ti8168evm") ...@@ -52,6 +52,7 @@ MACHINE_START(TI8168EVM, "ti8168evm")
.init_irq = ti81xx_init_irq, .init_irq = ti81xx_init_irq,
.timer = &omap3_timer, .timer = &omap3_timer,
.init_machine = ti81xx_evm_init, .init_machine = ti81xx_evm_init,
.init_late = ti81xx_init_late,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -63,5 +64,6 @@ MACHINE_START(TI8148EVM, "ti8148evm") ...@@ -63,5 +64,6 @@ MACHINE_START(TI8148EVM, "ti8148evm")
.init_irq = ti81xx_init_irq, .init_irq = ti81xx_init_irq,
.timer = &omap3_timer, .timer = &omap3_timer,
.init_machine = ti81xx_evm_init, .init_machine = ti81xx_evm_init,
.init_late = ti81xx_init_late,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -137,6 +137,7 @@ MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board") ...@@ -137,6 +137,7 @@ MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap_zoom_init, .init_machine = omap_zoom_init,
.init_late = omap3430_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -149,6 +150,7 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board") ...@@ -149,6 +150,7 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.handle_irq = omap3_intc_handle_irq, .handle_irq = omap3_intc_handle_irq,
.init_machine = omap_zoom_init, .init_machine = omap_zoom_init,
.init_late = omap3630_init_late,
.timer = &omap3_timer, .timer = &omap3_timer,
.restart = omap_prcm_restart, .restart = omap_prcm_restart,
MACHINE_END MACHINE_END
...@@ -78,6 +78,42 @@ static inline void omap44xx_map_common_io(void) ...@@ -78,6 +78,42 @@ static inline void omap44xx_map_common_io(void)
} }
#endif #endif
#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP2)
int omap2_pm_init(void);
#else
static inline int omap2_pm_init(void)
{
return 0;
}
#endif
#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP3)
int omap3_pm_init(void);
#else
static inline int omap3_pm_init(void)
{
return 0;
}
#endif
#if defined(CONFIG_PM) && defined(CONFIG_ARCH_OMAP4)
int omap4_pm_init(void);
#else
static inline int omap4_pm_init(void)
{
return 0;
}
#endif
#ifdef CONFIG_OMAP_MUX
int omap_mux_late_init(void);
#else
static inline int omap_mux_late_init(void)
{
return 0;
}
#endif
extern void omap2_init_common_infrastructure(void); extern void omap2_init_common_infrastructure(void);
extern struct sys_timer omap2_timer; extern struct sys_timer omap2_timer;
...@@ -94,6 +130,17 @@ void omap3_init_early(void); /* Do not use this one */ ...@@ -94,6 +130,17 @@ void omap3_init_early(void); /* Do not use this one */
void am35xx_init_early(void); void am35xx_init_early(void);
void ti81xx_init_early(void); void ti81xx_init_early(void);
void omap4430_init_early(void); void omap4430_init_early(void);
void omap3_init_late(void); /* Do not use this one */
void omap4430_init_late(void);
void omap2420_init_late(void);
void omap2430_init_late(void);
void omap3430_init_late(void);
void omap35xx_init_late(void);
void omap3630_init_late(void);
void am35xx_init_late(void);
void ti81xx_init_late(void);
void omap4430_init_late(void);
int omap2_common_pm_late_init(void);
void omap_prcm_restart(char, const char *); void omap_prcm_restart(char, const char *);
/* /*
......
...@@ -397,6 +397,13 @@ void __init omap2420_init_early(void) ...@@ -397,6 +397,13 @@ void __init omap2420_init_early(void)
omap_hwmod_init_postsetup(); omap_hwmod_init_postsetup();
omap2420_clk_init(); omap2420_clk_init();
} }
void __init omap2420_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap2_pm_init();
}
#endif #endif
#ifdef CONFIG_SOC_OMAP2430 #ifdef CONFIG_SOC_OMAP2430
...@@ -412,6 +419,13 @@ void __init omap2430_init_early(void) ...@@ -412,6 +419,13 @@ void __init omap2430_init_early(void)
omap_hwmod_init_postsetup(); omap_hwmod_init_postsetup();
omap2430_clk_init(); omap2430_clk_init();
} }
void __init omap2430_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap2_pm_init();
}
#endif #endif
/* /*
...@@ -466,6 +480,48 @@ void __init ti81xx_init_early(void) ...@@ -466,6 +480,48 @@ void __init ti81xx_init_early(void)
omap_hwmod_init_postsetup(); omap_hwmod_init_postsetup();
omap3xxx_clk_init(); omap3xxx_clk_init();
} }
void __init omap3_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap3_pm_init();
}
void __init omap3430_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap3_pm_init();
}
void __init omap35xx_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap3_pm_init();
}
void __init omap3630_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap3_pm_init();
}
void __init am35xx_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap3_pm_init();
}
void __init ti81xx_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap3_pm_init();
}
#endif #endif
#ifdef CONFIG_ARCH_OMAP4 #ifdef CONFIG_ARCH_OMAP4
...@@ -482,6 +538,13 @@ void __init omap4430_init_early(void) ...@@ -482,6 +538,13 @@ void __init omap4430_init_early(void)
omap_hwmod_init_postsetup(); omap_hwmod_init_postsetup();
omap4xxx_clk_init(); omap4xxx_clk_init();
} }
void __init omap4430_init_late(void)
{
omap_mux_late_init();
omap2_common_pm_late_init();
omap4_pm_init();
}
#endif #endif
void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0, void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
......
...@@ -788,7 +788,7 @@ static void __init omap_mux_free_names(struct omap_mux *m) ...@@ -788,7 +788,7 @@ static void __init omap_mux_free_names(struct omap_mux *m)
} }
/* Free all data except for GPIO pins unless CONFIG_DEBUG_FS is set */ /* Free all data except for GPIO pins unless CONFIG_DEBUG_FS is set */
static int __init omap_mux_late_init(void) int __init omap_mux_late_init(void)
{ {
struct omap_mux_partition *partition; struct omap_mux_partition *partition;
int ret; int ret;
...@@ -823,7 +823,6 @@ static int __init omap_mux_late_init(void) ...@@ -823,7 +823,6 @@ static int __init omap_mux_late_init(void)
return 0; return 0;
} }
late_initcall(omap_mux_late_init);
static void __init omap_mux_package_fixup(struct omap_mux *p, static void __init omap_mux_package_fixup(struct omap_mux *p,
struct omap_mux *superset) struct omap_mux *superset)
......
...@@ -295,7 +295,7 @@ static int __init omap2_common_pm_init(void) ...@@ -295,7 +295,7 @@ static int __init omap2_common_pm_init(void)
} }
postcore_initcall(omap2_common_pm_init); postcore_initcall(omap2_common_pm_init);
static int __init omap2_common_pm_late_init(void) int __init omap2_common_pm_late_init(void)
{ {
/* /*
* In the case of DT, the PMIC and SR initialization will be done using * In the case of DT, the PMIC and SR initialization will be done using
...@@ -322,4 +322,3 @@ static int __init omap2_common_pm_late_init(void) ...@@ -322,4 +322,3 @@ static int __init omap2_common_pm_late_init(void)
return 0; return 0;
} }
late_initcall(omap2_common_pm_late_init);
...@@ -301,13 +301,10 @@ static void __init prcm_setup_regs(void) ...@@ -301,13 +301,10 @@ static void __init prcm_setup_regs(void)
WKUP_MOD, PM_WKEN); WKUP_MOD, PM_WKEN);
} }
static int __init omap2_pm_init(void) int __init omap2_pm_init(void)
{ {
u32 l; u32 l;
if (!cpu_is_omap24xx())
return -ENODEV;
printk(KERN_INFO "Power Management for OMAP2 initializing\n"); printk(KERN_INFO "Power Management for OMAP2 initializing\n");
l = omap2_prm_read_mod_reg(OCP_MOD, OMAP2_PRCM_REVISION_OFFSET); l = omap2_prm_read_mod_reg(OCP_MOD, OMAP2_PRCM_REVISION_OFFSET);
printk(KERN_INFO "PRCM revision %d.%d\n", (l >> 4) & 0x0f, l & 0x0f); printk(KERN_INFO "PRCM revision %d.%d\n", (l >> 4) & 0x0f, l & 0x0f);
...@@ -373,17 +370,13 @@ static int __init omap2_pm_init(void) ...@@ -373,17 +370,13 @@ static int __init omap2_pm_init(void)
* These routines need to be in SRAM as that's the only * These routines need to be in SRAM as that's the only
* memory the MPU can see when it wakes up. * memory the MPU can see when it wakes up.
*/ */
if (cpu_is_omap24xx()) { omap2_sram_idle = omap_sram_push(omap24xx_idle_loop_suspend,
omap2_sram_idle = omap_sram_push(omap24xx_idle_loop_suspend, omap24xx_idle_loop_suspend_sz);
omap24xx_idle_loop_suspend_sz);
omap2_sram_suspend = omap_sram_push(omap24xx_cpu_suspend, omap2_sram_suspend = omap_sram_push(omap24xx_cpu_suspend,
omap24xx_cpu_suspend_sz); omap24xx_cpu_suspend_sz);
}
arm_pm_idle = omap2_pm_idle; arm_pm_idle = omap2_pm_idle;
return 0; return 0;
} }
late_initcall(omap2_pm_init);
...@@ -699,15 +699,12 @@ static void __init pm_errata_configure(void) ...@@ -699,15 +699,12 @@ static void __init pm_errata_configure(void)
} }
} }
static int __init omap3_pm_init(void) int __init omap3_pm_init(void)
{ {
struct power_state *pwrst, *tmp; struct power_state *pwrst, *tmp;
struct clockdomain *neon_clkdm, *per_clkdm, *mpu_clkdm, *core_clkdm; struct clockdomain *neon_clkdm, *per_clkdm, *mpu_clkdm, *core_clkdm;
int ret; int ret;
if (!cpu_is_omap34xx())
return -ENODEV;
if (!omap3_has_io_chain_ctrl()) if (!omap3_has_io_chain_ctrl())
pr_warning("PM: no software I/O chain control; some wakeups may be lost\n"); pr_warning("PM: no software I/O chain control; some wakeups may be lost\n");
...@@ -808,5 +805,3 @@ static int __init omap3_pm_init(void) ...@@ -808,5 +805,3 @@ static int __init omap3_pm_init(void)
err1: err1:
return ret; return ret;
} }
late_initcall(omap3_pm_init);
...@@ -141,15 +141,12 @@ static void omap_default_idle(void) ...@@ -141,15 +141,12 @@ static void omap_default_idle(void)
* Initializes all powerdomain and clockdomain target states * Initializes all powerdomain and clockdomain target states
* and all PRCM settings. * and all PRCM settings.
*/ */
static int __init omap4_pm_init(void) int __init omap4_pm_init(void)
{ {
int ret; int ret;
struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm, *l4wkup; struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm, *l4wkup;
struct clockdomain *ducati_clkdm, *l3_2_clkdm, *l4_per_clkdm; struct clockdomain *ducati_clkdm, *l3_2_clkdm, *l4_per_clkdm;
if (!cpu_is_omap44xx())
return -ENODEV;
if (omap_rev() == OMAP4430_REV_ES1_0) { if (omap_rev() == OMAP4430_REV_ES1_0) {
WARN(1, "Power Management not supported on OMAP4430 ES1.0\n"); WARN(1, "Power Management not supported on OMAP4430 ES1.0\n");
return -ENODEV; return -ENODEV;
...@@ -217,4 +214,3 @@ static int __init omap4_pm_init(void) ...@@ -217,4 +214,3 @@ static int __init omap4_pm_init(void)
err2: err2:
return ret; return ret;
} }
late_initcall(omap4_pm_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment