omap4: l2x0: Override the default l2x0_disable

The machine_kexec() calls outer_disable which can crash on OMAP4
becasue of trustzone restrictions.

This patch overrides the default l2x0_disable with a OMAP4
specific implementation taking care of trustzone

Signed-off-by: Santosh Shilimkar <[email protected]>
Reviewed-by: Tony Lindgren <[email protected]>
Acked-by: Linus Walleij <[email protected]>
This commit is contained in:
Santosh Shilimkar committed 2010-10-26 11:40:00 +05:30
1 parent 2fd8658931
commit 4e803c40b3
1 file changed
+13
+13
View File
@@ -44,6 +44,13 @@ void __init gic_init_irq(void)
}
#ifdef CONFIG_CACHE_L2X0
static void omap4_l2x0_disable(void)
{
/* Disable PL310 L2 Cache controller */
omap_smc1(0x102, 0x0);
}
static int __init omap_l2_cache_init(void)
{
/*
@@ -66,6 +73,12 @@ static int __init omap_l2_cache_init(void)
*/
l2x0_init(l2cache_base, 0x0e050000, 0xc0000fff);
/*
* Override default outer_cache.disable with a OMAP4
* specific one
*/
outer_cache.disable = omap4_l2x0_disable;
return 0;
}
early_initcall(omap_l2_cache_init);