Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 212557
b: refs/heads/master
c: 9524705
h: refs/heads/master
i:
  212555: 772e54a
v: v3
  • Loading branch information
Juergen Beisert authored and Sascha Hauer committed Oct 11, 2010
1 parent dfee458 commit 9cca851
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 55fd2ef6d9e9f40f30d891e01f2f565552e688fa
refs/heads/master: 9524705c867dc8d5b558f4793b7464eab967a530
18 changes: 18 additions & 0 deletions trunk/arch/arm/mach-mx3/mm.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,24 @@ void __init mx35_init_irq(void)
static int mxc_init_l2x0(void)
{
void __iomem *l2x0_base;
void __iomem *clkctl_base;
/*
* First of all, we must repair broken chip settings. There are some
* i.MX35 CPUs in the wild, comming with bogus L2 cache settings. These
* misconfigured CPUs will run amok immediately when the L2 cache gets enabled.
* Workaraound is to setup the correct register setting prior enabling the
* L2 cache. This should not hurt already working CPUs, as they are using the
* same value
*/
#define L2_MEM_VAL 0x10

clkctl_base = ioremap(MX35_CLKCTL_BASE_ADDR, 4096);
if (clkctl_base != NULL) {
writel(0x00000515, clkctl_base + L2_MEM_VAL);
iounmap(clkctl_base);
} else {
pr_err("L2 cache: Cannot fix timing. Trying to continue without\n");
}

l2x0_base = ioremap(L2CC_BASE_ADDR, 4096);
if (IS_ERR(l2x0_base)) {
Expand Down

0 comments on commit 9cca851

Please sign in to comment.