Commit 679530278d5a79d34e356ad2d452f4400953bfc2
Committed by
Albert ARIBAUD
1 parent
81a6c009fe
Exists in
master
and in
55 other branches
arm, arm-kirkwood: disable l2c before linux boot
The decompressor expects the L2 cache to be disabled. This fixes booting some kernels, which have CONFIG_ARM_PATCH_PHYS_VIRT enabled. Signed-off-by: Michael Walle <michael@walle.cc> Acked-by: Prafulla Wadaskar <prafulla@marvell.com> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Prafulla Wadaskar <prafulla@marvell.com> Cc: Wolfgang Denk <wd@denx.de>
Showing 4 changed files with 46 additions and 0 deletions Side-by-side Diff
arch/arm/cpu/arm926ejs/cache.c
arch/arm/cpu/arm926ejs/cpu.c
arch/arm/cpu/arm926ejs/kirkwood/Makefile
arch/arm/cpu/arm926ejs/kirkwood/cache.c
1 | +/* | |
2 | + * Copyright (c) 2012 Michael Walle | |
3 | + * Michael Walle <michael@walle.cc> | |
4 | + * | |
5 | + * See file CREDITS for list of people who contributed to this | |
6 | + * project. | |
7 | + * | |
8 | + * This program is free software; you can redistribute it and/or | |
9 | + * modify it under the terms of the GNU General Public License as | |
10 | + * published by the Free Software Foundation; either version 2 of | |
11 | + * the License, or (at your option) any later version. | |
12 | + * | |
13 | + * This program is distributed in the hope that it will be useful, | |
14 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | + * GNU General Public License for more details. | |
17 | + * | |
18 | + * You should have received a copy of the GNU General Public License | |
19 | + * along with this program; if not, write to the Free Software | |
20 | + * Foundation, Inc. | |
21 | + */ | |
22 | +#include <common.h> | |
23 | +#include <asm/arch/cpu.h> | |
24 | + | |
25 | +#define FEROCEON_EXTRA_FEATURE_L2C_EN (1<<22) | |
26 | + | |
27 | +void l2_cache_disable() | |
28 | +{ | |
29 | + u32 ctrl; | |
30 | + | |
31 | + ctrl = readfr_extra_feature_reg(); | |
32 | + ctrl &= ~FEROCEON_EXTRA_FEATURE_L2C_EN; | |
33 | + writefr_extra_feature_reg(ctrl); | |
34 | +} |