diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2007-02-14 13:20:28 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-15 09:56:32 -0500 |
commit | 4b17244c133689ad0cbdca37ce3e15068f120428 (patch) | |
tree | 8b0a1e530a6fdb28c409b981c615f4598e81d81f /arch/arm/mm/proc-v6.S | |
parent | 3edf22ab34e1fdffc8c0c7c7b7da4d0aebdba118 (diff) |
[ARM] 4109/2: Add support for the RealView/EB MPCore revC platform
The kernel originally supported revB only. This patch enables revC by
default and adds a config option for building the kernel for the revB
platform. Since the SCU base address was hard-coded in the proc-v6.S
file (and only valid for RealView/EB revB), this patch also adds a
more generic support for defining the SCU information.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/proc-v6.S')
-rw-r--r-- | arch/arm/mm/proc-v6.S | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S index 7b1843befb9c..f27d9eb64803 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S | |||
@@ -14,10 +14,13 @@ | |||
14 | #include <asm/assembler.h> | 14 | #include <asm/assembler.h> |
15 | #include <asm/asm-offsets.h> | 15 | #include <asm/asm-offsets.h> |
16 | #include <asm/elf.h> | 16 | #include <asm/elf.h> |
17 | #include <asm/hardware/arm_scu.h> | ||
18 | #include <asm/pgtable-hwdef.h> | 17 | #include <asm/pgtable-hwdef.h> |
19 | #include <asm/pgtable.h> | 18 | #include <asm/pgtable.h> |
20 | 19 | ||
20 | #ifdef CONFIG_SMP | ||
21 | #include <asm/hardware/arm_scu.h> | ||
22 | #endif | ||
23 | |||
21 | #include "proc-macros.S" | 24 | #include "proc-macros.S" |
22 | 25 | ||
23 | #define D_CACHE_LINE_SIZE 32 | 26 | #define D_CACHE_LINE_SIZE 32 |
@@ -183,8 +186,7 @@ __v6_setup: | |||
183 | /* Set up the SCU on core 0 only */ | 186 | /* Set up the SCU on core 0 only */ |
184 | mrc p15, 0, r0, c0, c0, 5 @ CPU core number | 187 | mrc p15, 0, r0, c0, c0, 5 @ CPU core number |
185 | ands r0, r0, #15 | 188 | ands r0, r0, #15 |
186 | moveq r0, #0x10000000 @ SCU_BASE | 189 | ldreq r0, =SCU_BASE |
187 | orreq r0, r0, #0x00100000 | ||
188 | ldreq r5, [r0, #SCU_CTRL] | 190 | ldreq r5, [r0, #SCU_CTRL] |
189 | orreq r5, r5, #1 | 191 | orreq r5, r5, #1 |
190 | streq r5, [r0, #SCU_CTRL] | 192 | streq r5, [r0, #SCU_CTRL] |