|
@@ -485,3 +485,156 @@ void __init omap3630_init_early(void)
|
|
{
|
|
{
|
|
omap3_init_early();
|
|
omap3_init_early();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+void __init am35xx_init_early(void)
|
|
|
|
+{
|
|
|
|
+ omap3_init_early();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init ti81xx_init_early(void)
|
|
|
|
+{
|
|
|
|
+ omap2_set_globals_tap(OMAP343X_CLASS,
|
|
|
|
+ OMAP2_L4_IO_ADDRESS(TI81XX_TAP_BASE));
|
|
|
|
+ omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(TI81XX_CTRL_BASE),
|
|
|
|
+ NULL);
|
|
|
|
+ omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(TI81XX_PRCM_BASE));
|
|
|
|
+ omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(TI81XX_PRCM_BASE), NULL);
|
|
|
|
+ omap3xxx_check_revision();
|
|
|
|
+ ti81xx_check_features();
|
|
|
|
+ omap3xxx_voltagedomains_init();
|
|
|
|
+ omap3xxx_powerdomains_init();
|
|
|
|
+ omap3xxx_clockdomains_init();
|
|
|
|
+ omap3xxx_hwmod_init();
|
|
|
|
+ omap_hwmod_init_postsetup();
|
|
|
|
+ omap_clk_init = omap3xxx_clk_init;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init omap3_init_late(void)
|
|
|
|
+{
|
|
|
|
+ omap_mux_late_init();
|
|
|
|
+ omap2_common_pm_late_init();
|
|
|
|
+ omap3_pm_init();
|
|
|
|
+ omap2_clk_enable_autoidle_all();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init omap3430_init_late(void)
|
|
|
|
+{
|
|
|
|
+ omap_mux_late_init();
|
|
|
|
+ omap2_common_pm_late_init();
|
|
|
|
+ omap3_pm_init();
|
|
|
|
+ omap2_clk_enable_autoidle_all();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init omap35xx_init_late(void)
|
|
|
|
+{
|
|
|
|
+ omap_mux_late_init();
|
|
|
|
+ omap2_common_pm_late_init();
|
|
|
|
+ omap3_pm_init();
|
|
|
|
+ omap2_clk_enable_autoidle_all();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init omap3630_init_late(void)
|
|
|
|
+{
|
|
|
|
+ omap_mux_late_init();
|
|
|
|
+ omap2_common_pm_late_init();
|
|
|
|
+ omap3_pm_init();
|
|
|
|
+ omap2_clk_enable_autoidle_all();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init am35xx_init_late(void)
|
|
|
|
+{
|
|
|
|
+ omap_mux_late_init();
|
|
|
|
+ omap2_common_pm_late_init();
|
|
|
|
+ omap3_pm_init();
|
|
|
|
+ omap2_clk_enable_autoidle_all();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init ti81xx_init_late(void)
|
|
|
|
+{
|
|
|
|
+ omap_mux_late_init();
|
|
|
|
+ omap2_common_pm_late_init();
|
|
|
|
+ omap3_pm_init();
|
|
|
|
+ omap2_clk_enable_autoidle_all();
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_SOC_AM33XX
|
|
|
|
+void __init am33xx_init_early(void)
|
|
|
|
+{
|
|
|
|
+ omap2_set_globals_tap(AM335X_CLASS,
|
|
|
|
+ AM33XX_L4_WK_IO_ADDRESS(AM33XX_TAP_BASE));
|
|
|
|
+ omap2_set_globals_control(AM33XX_L4_WK_IO_ADDRESS(AM33XX_CTRL_BASE),
|
|
|
|
+ NULL);
|
|
|
|
+ omap2_set_globals_prm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE));
|
|
|
|
+ omap2_set_globals_cm(AM33XX_L4_WK_IO_ADDRESS(AM33XX_PRCM_BASE), NULL);
|
|
|
|
+ omap3xxx_check_revision();
|
|
|
|
+ ti81xx_check_features();
|
|
|
|
+ am33xx_voltagedomains_init();
|
|
|
|
+ am33xx_powerdomains_init();
|
|
|
|
+ am33xx_clockdomains_init();
|
|
|
|
+ am33xx_hwmod_init();
|
|
|
|
+ omap_hwmod_init_postsetup();
|
|
|
|
+ omap_clk_init = am33xx_clk_init;
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_ARCH_OMAP4
|
|
|
|
+void __init omap4430_init_early(void)
|
|
|
|
+{
|
|
|
|
+ omap2_set_globals_tap(OMAP443X_CLASS,
|
|
|
|
+ OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE));
|
|
|
|
+ omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP443X_SCM_BASE),
|
|
|
|
+ OMAP2_L4_IO_ADDRESS(OMAP443X_CTRL_BASE));
|
|
|
|
+ omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP4430_PRM_BASE));
|
|
|
|
+ omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP4430_CM_BASE),
|
|
|
|
+ OMAP2_L4_IO_ADDRESS(OMAP4430_CM2_BASE));
|
|
|
|
+ omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP4430_PRCM_MPU_BASE));
|
|
|
|
+ omap_prm_base_init();
|
|
|
|
+ omap_cm_base_init();
|
|
|
|
+ omap4xxx_check_revision();
|
|
|
|
+ omap4xxx_check_features();
|
|
|
|
+ omap44xx_prm_init();
|
|
|
|
+ omap44xx_voltagedomains_init();
|
|
|
|
+ omap44xx_powerdomains_init();
|
|
|
|
+ omap44xx_clockdomains_init();
|
|
|
|
+ omap44xx_hwmod_init();
|
|
|
|
+ omap_hwmod_init_postsetup();
|
|
|
|
+ omap_clk_init = omap4xxx_clk_init;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void __init omap4430_init_late(void)
|
|
|
|
+{
|
|
|
|
+ omap_mux_late_init();
|
|
|
|
+ omap2_common_pm_late_init();
|
|
|
|
+ omap4_pm_init();
|
|
|
|
+ omap2_clk_enable_autoidle_all();
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+#ifdef CONFIG_SOC_OMAP5
|
|
|
|
+void __init omap5_init_early(void)
|
|
|
|
+{
|
|
|
|
+ omap2_set_globals_tap(OMAP54XX_CLASS,
|
|
|
|
+ OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE));
|
|
|
|
+ omap2_set_globals_control(OMAP2_L4_IO_ADDRESS(OMAP54XX_SCM_BASE),
|
|
|
|
+ OMAP2_L4_IO_ADDRESS(OMAP54XX_CTRL_BASE));
|
|
|
|
+ omap2_set_globals_prm(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRM_BASE));
|
|
|
|
+ omap2_set_globals_cm(OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_AON_BASE),
|
|
|
|
+ OMAP2_L4_IO_ADDRESS(OMAP54XX_CM_CORE_BASE));
|
|
|
|
+ omap2_set_globals_prcm_mpu(OMAP2_L4_IO_ADDRESS(OMAP54XX_PRCM_MPU_BASE));
|
|
|
|
+ omap_prm_base_init();
|
|
|
|
+ omap_cm_base_init();
|
|
|
|
+ omap5xxx_check_revision();
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
|
|
|
|
+ struct omap_sdrc_params *sdrc_cs1)
|
|
|
|
+{
|
|
|
|
+ omap_sram_init();
|
|
|
|
+
|
|
|
|
+ if (cpu_is_omap24xx() || omap3_has_sdrc()) {
|
|
|
|
+ omap2_sdrc_init(sdrc_cs0, sdrc_cs1);
|
|
|
|
+ _omap2_init_reprogram_sdrc();
|
|
|
|
+ }
|
|
|
|
+}
|