Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -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 = {
	&leds_gpio,
	&keys_gpio,
@@ -555,7 +550,7 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
	.boot_params	= 0x80000100,
	.reserve	= omap_reserve,
	.map_io		= omap3_map_io,
	.init_early	= omap3_beagle_init_early,
	.init_early	= omap3_init_early,
	.init_irq	= omap3_init_irq,
	.init_machine	= omap3_beagle_init,
	.timer		= &omap3_secure_timer,
+48 −47
Original line number Diff line number Diff line
@@ -248,9 +248,6 @@ static void __init _omap2_map_common_io(void)
	 */
	local_flush_tlb_all();
	flush_cache_all();

	omap2_check_revision();
	omap_sram_init();
}

#ifdef CONFIG_SOC_OMAP2420
@@ -337,34 +334,16 @@ static int _set_hwmod_postsetup_state(struct omap_hwmod *oh, void *data)
/* See irq.c, omap4-common.c and entry-macro.S */
void __iomem *omap_irq_base;

void __init omap2_init_common_infrastructure(void)
static void __init omap_common_init_early(void)
{
	u8 postsetup_state;

	if (cpu_is_omap242x()) {
		omap2xxx_voltagedomains_init();
		omap242x_powerdomains_init();
		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");
	omap2_check_revision();
	omap_sram_init();
}

static void __init omap_hwmod_init_postsetup(void)
{
	u8 postsetup_state;

	/* Set the default postsetup state for all hwmods */
#ifdef CONFIG_PM_RUNTIME
	postsetup_state = _HWMOD_STATE_IDLE;
@@ -392,57 +371,79 @@ void __init omap2_init_common_infrastructure(void)
				     &postsetup_state);

	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)
{
	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)
{
	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)
{
	omap2_init_common_infrastructure();
	omap3_init_early();
}

void __init omap35xx_init_early(void)
{
	omap2_init_common_infrastructure();
	omap3_init_early();
}

void __init omap3630_init_early(void)
{
	omap2_init_common_infrastructure();
	omap3_init_early();
}

void __init am35xx_init_early(void)
{
	omap2_init_common_infrastructure();
	omap3_init_early();
}

void __init ti816x_init_early(void)
{
	omap2_init_common_infrastructure();
	omap3_init_early();
}

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,
+1 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ void omap2430_init_early(void);
void omap3430_init_early(void);
void omap35xx_init_early(void);
void omap3630_init_early(void);
void omap3_init_early(void);	/* Do not use this one */
void am35xx_init_early(void);
void ti816x_init_early(void);
void omap4430_init_early(void);