提交 4e803c40 编写于 作者: S Santosh Shilimkar

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: NSantosh Shilimkar <santosh.shilimkar@ti.com>
Reviewed-by: NTony Lindgren <tony@atomide.com>
Acked-by: NLinus Walleij <linus.walleij@stericsson.com>
上级 2fd86589
...@@ -44,6 +44,13 @@ void __init gic_init_irq(void) ...@@ -44,6 +44,13 @@ void __init gic_init_irq(void)
} }
#ifdef CONFIG_CACHE_L2X0 #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) static int __init omap_l2_cache_init(void)
{ {
/* /*
...@@ -66,6 +73,12 @@ 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); l2x0_init(l2cache_base, 0x0e050000, 0xc0000fff);
/*
* Override default outer_cache.disable with a OMAP4
* specific one
*/
outer_cache.disable = omap4_l2x0_disable;
return 0; return 0;
} }
early_initcall(omap_l2_cache_init); early_initcall(omap_l2_cache_init);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册