Commit 7b250aff authored by Tony Lindgren's avatar Tony Lindgren

ARM: OMAP: Avoid cpu_is_omapxxxx usage until map_io is done

This way we don't need to initialize SoC detection early
and can start using generic map_io.
Reviewed-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
Tested-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 7b88e62f
...@@ -444,11 +444,6 @@ static struct platform_device keys_gpio = { ...@@ -444,11 +444,6 @@ static struct platform_device keys_gpio = {
}, },
}; };
static void __init omap3_beagle_init_early(void)
{
omap2_init_common_infrastructure();
}
static struct platform_device *omap3_beagle_devices[] __initdata = { static struct platform_device *omap3_beagle_devices[] __initdata = {
&leds_gpio, &leds_gpio,
&keys_gpio, &keys_gpio,
...@@ -555,7 +550,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board") ...@@ -555,7 +550,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
.boot_params = 0x80000100, .boot_params = 0x80000100,
.reserve = omap_reserve, .reserve = omap_reserve,
.map_io = omap3_map_io, .map_io = omap3_map_io,
.init_early = omap3_beagle_init_early, .init_early = omap3_init_early,
.init_irq = omap3_init_irq, .init_irq = omap3_init_irq,
.init_machine = omap3_beagle_init, .init_machine = omap3_beagle_init,
.timer = &omap3_secure_timer, .timer = &omap3_secure_timer,
......
...@@ -248,9 +248,6 @@ static void __init _omap2_map_common_io(void) ...@@ -248,9 +248,6 @@ static void __init _omap2_map_common_io(void)
*/ */
local_flush_tlb_all(); local_flush_tlb_all();
flush_cache_all(); flush_cache_all();
omap2_check_revision();
omap_sram_init();
} }
#ifdef CONFIG_SOC_OMAP2420 #ifdef CONFIG_SOC_OMAP2420
...@@ -337,33 +334,15 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data) ...@@ -337,33 +334,15 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data)
/* See irq.c, omap4-common.c and entry-macro.S */ /* See irq.c, omap4-common.c and entry-macro.S */
void __iomem *omap_irq_base; void __iomem *omap_irq_base;
void __init omap2_init_common_infrastructure(void) static void __init omap_common_init_early(void)
{ {
u8 postsetup_state; omap2_check_revision();
omap_sram_init();
}
if (cpu_is_omap242x()) { static void __init omap_hwmod_init_postsetup(void)
omap2xxx_voltagedomains_init(); {
omap242x_powerdomains_init(); u8 postsetup_state;
omap242x_clockdomains_init();
omap2420_hwmod_init();
} else if (cpu_is_omap243x()) {
omap2xxx_voltagedomains_init();
omap243x_powerdomains_init();
omap243x_clockdomains_init();
omap2430_hwmod_init();
} else if (cpu_is_omap34xx()) {
omap3xxx_voltagedomains_init();
omap3xxx_powerdomains_init();
omap3xxx_clockdomains_init();
omap3xxx_hwmod_init();
} else if (cpu_is_omap44xx()) {
omap44xx_voltagedomains_init();
omap44xx_powerdomains_init();
omap44xx_clockdomains_init();
omap44xx_hwmod_init();
} else {
pr_err("Could not init hwmod data - unknown SoC\n");
}
/* Set the default postsetup state for all hwmods */ /* Set the default postsetup state for all hwmods */
#ifdef CONFIG_PM_RUNTIME #ifdef CONFIG_PM_RUNTIME
...@@ -392,57 +371,79 @@ void __init omap2_init_common_infrastructure(void) ...@@ -392,57 +371,79 @@ void __init omap2_init_common_infrastructure(void)
&postsetup_state); &postsetup_state);
omap_pm_if_early_init(); omap_pm_if_early_init();
if (cpu_is_omap2420())
omap2420_clk_init();
else if (cpu_is_omap2430())
omap2430_clk_init();
else if (cpu_is_omap34xx())
omap3xxx_clk_init();
else if (cpu_is_omap44xx())
omap4xxx_clk_init();
else
pr_err("Could not init clock framework - unknown SoC\n");
} }
void __init omap2420_init_early(void) void __init omap2420_init_early(void)
{ {
omap2_init_common_infrastructure(); omap_common_init_early();
omap2xxx_voltagedomains_init();
omap242x_powerdomains_init();
omap242x_clockdomains_init();
omap2420_hwmod_init();
omap_hwmod_init_postsetup();
omap2420_clk_init();
} }
void __init omap2430_init_early(void) void __init omap2430_init_early(void)
{ {
omap2_init_common_infrastructure(); omap_common_init_early();
omap2xxx_voltagedomains_init();
omap243x_powerdomains_init();
omap243x_clockdomains_init();
omap2430_hwmod_init();
omap_hwmod_init_postsetup();
omap2430_clk_init();
}
/*
* Currently only board-omap3beagle.c should call this because of the
* same machine_id for 34xx and 36xx beagle.. Will get fixed with DT.
*/
void __init omap3_init_early(void)
{
omap_common_init_early();
omap3xxx_voltagedomains_init();
omap3xxx_powerdomains_init();
omap3xxx_clockdomains_init();
omap3xxx_hwmod_init();
omap_hwmod_init_postsetup();
omap3xxx_clk_init();
} }
void __init omap3430_init_early(void) void __init omap3430_init_early(void)
{ {
omap2_init_common_infrastructure(); omap3_init_early();
} }
void __init omap35xx_init_early(void) void __init omap35xx_init_early(void)
{ {
omap2_init_common_infrastructure(); omap3_init_early();
} }
void __init omap3630_init_early(void) void __init omap3630_init_early(void)
{ {
omap2_init_common_infrastructure(); omap3_init_early();
} }
void __init am35xx_init_early(void) void __init am35xx_init_early(void)
{ {
omap2_init_common_infrastructure(); omap3_init_early();
} }
void __init ti816x_init_early(void) void __init ti816x_init_early(void)
{ {
omap2_init_common_infrastructure(); omap3_init_early();
} }
void __init omap4430_init_early(void) void __init omap4430_init_early(void)
{ {
omap2_init_common_infrastructure(); omap_common_init_early();
omap44xx_voltagedomains_init();
omap44xx_powerdomains_init();
omap44xx_clockdomains_init();
omap44xx_hwmod_init();
omap_hwmod_init_postsetup();
omap4xxx_clk_init();
} }
void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0, void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
......
...@@ -50,6 +50,7 @@ void omap2430_init_early(void); ...@@ -50,6 +50,7 @@ void omap2430_init_early(void);
void omap3430_init_early(void); void omap3430_init_early(void);
void omap35xx_init_early(void); void omap35xx_init_early(void);
void omap3630_init_early(void); void omap3630_init_early(void);
void omap3_init_early(void); /* Do not use this one */
void am35xx_init_early(void); void am35xx_init_early(void);
void ti816x_init_early(void); void ti816x_init_early(void);
void omap4430_init_early(void); void omap4430_init_early(void);
......
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