imx-common: cache: configure L2 Cache for i.MX6SLL
If L2 cache configured as OCRAM, reset it. Switch to use runtime check. Signed-off-by: Peng Fan <peng.fan@nxp.com> Cc: Stefano Babic <sbabic@denx.de>
This commit is contained in:
parent
dfca246f4c
commit
a472e9bd6a
@ -8,6 +8,7 @@
|
|||||||
#include <asm/armv7.h>
|
#include <asm/armv7.h>
|
||||||
#include <asm/pl310.h>
|
#include <asm/pl310.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
|
#include <asm/imx-common/sys_proto.h>
|
||||||
|
|
||||||
#ifndef CONFIG_SYS_DCACHE_OFF
|
#ifndef CONFIG_SYS_DCACHE_OFF
|
||||||
void enable_caches(void)
|
void enable_caches(void)
|
||||||
@ -39,6 +40,7 @@ void enable_caches(void)
|
|||||||
void v7_outer_cache_enable(void)
|
void v7_outer_cache_enable(void)
|
||||||
{
|
{
|
||||||
struct pl310_regs *const pl310 = (struct pl310_regs *)L2_PL310_BASE;
|
struct pl310_regs *const pl310 = (struct pl310_regs *)L2_PL310_BASE;
|
||||||
|
struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
|
|
||||||
|
|
||||||
@ -55,15 +57,14 @@ void v7_outer_cache_enable(void)
|
|||||||
*/
|
*/
|
||||||
setbits_le32(&pl310->pl310_aux_ctrl, L310_SHARED_ATT_OVERRIDE_ENABLE);
|
setbits_le32(&pl310->pl310_aux_ctrl, L310_SHARED_ATT_OVERRIDE_ENABLE);
|
||||||
|
|
||||||
#if defined CONFIG_MX6SL
|
if (is_mx6sl() || is_mx6sll()) {
|
||||||
struct iomuxc *iomux = (struct iomuxc *)IOMUXC_BASE_ADDR;
|
val = readl(&iomux->gpr[11]);
|
||||||
val = readl(&iomux->gpr[11]);
|
if (val & IOMUXC_GPR11_L2CACHE_AS_OCRAM) {
|
||||||
if (val & IOMUXC_GPR11_L2CACHE_AS_OCRAM) {
|
/* L2 cache configured as OCRAM, reset it */
|
||||||
/* L2 cache configured as OCRAM, reset it */
|
val &= ~IOMUXC_GPR11_L2CACHE_AS_OCRAM;
|
||||||
val &= ~IOMUXC_GPR11_L2CACHE_AS_OCRAM;
|
writel(val, &iomux->gpr[11]);
|
||||||
writel(val, &iomux->gpr[11]);
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
writel(0x132, &pl310->pl310_tag_latency_ctrl);
|
writel(0x132, &pl310->pl310_tag_latency_ctrl);
|
||||||
writel(0x132, &pl310->pl310_data_latency_ctrl);
|
writel(0x132, &pl310->pl310_data_latency_ctrl);
|
||||||
|
Loading…
Reference in New Issue
Block a user