diff options
| author | Tzachi Perelstein <tzachi@marvell.com> | 2007-11-06 03:35:40 -0500 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-01-26 10:03:41 -0500 |
| commit | d910a0aa21c9c6e824744d0139bbe6a9ae676e2d (patch) | |
| tree | e56c1651cc9367b31c4dcda721a6a33eb0d36ae4 | |
| parent | 3ebb5a2b44b02bddd5fbf0f29d71f1df6146c2c3 (diff) | |
[ARM] Feroceon: support old cores with ARM926 ID
This enables the usage of some old Feroceon cores
for which the CPU ID is equal to the ARM926 ID.
Relevant for Feroceon-1850 and old Feroceon-2850.
Signed-off-by: Tzachi Perelstein <tzachi@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mm/Kconfig | 9 | ||||
| -rw-r--r-- | arch/arm/mm/proc-feroceon.S | 27 |
2 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 378fb744abe2..9cdc74f94b11 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
| @@ -354,6 +354,15 @@ config CPU_FEROCEON | |||
| 354 | select CPU_COPY_V4WB if MMU | 354 | select CPU_COPY_V4WB if MMU |
| 355 | select CPU_TLB_V4WBI if MMU | 355 | select CPU_TLB_V4WBI if MMU |
| 356 | 356 | ||
| 357 | config CPU_FEROCEON_OLD_ID | ||
| 358 | bool "Accept early Feroceon cores with an ARM926 ID" | ||
| 359 | depends on CPU_FEROCEON && !CPU_ARM926T | ||
| 360 | default y | ||
| 361 | help | ||
| 362 | This enables the usage of some old Feroceon cores | ||
| 363 | for which the CPU ID is equal to the ARM926 ID. | ||
| 364 | Relevant for Feroceon-1850 and early Feroceon-2850. | ||
| 365 | |||
| 357 | # ARMv6 | 366 | # ARMv6 |
| 358 | config CPU_V6 | 367 | config CPU_V6 |
| 359 | bool "Support ARM V6 processor" | 368 | bool "Support ARM V6 processor" |
diff --git a/arch/arm/mm/proc-feroceon.S b/arch/arm/mm/proc-feroceon.S index 8ad341af7906..fa0dc7e6f0ea 100644 --- a/arch/arm/mm/proc-feroceon.S +++ b/arch/arm/mm/proc-feroceon.S | |||
| @@ -453,6 +453,33 @@ cpu_feroceon_name: | |||
| 453 | 453 | ||
| 454 | .section ".proc.info.init", #alloc, #execinstr | 454 | .section ".proc.info.init", #alloc, #execinstr |
| 455 | 455 | ||
| 456 | #ifdef CONFIG_CPU_FEROCEON_OLD_ID | ||
| 457 | .type __feroceon_old_id_proc_info,#object | ||
| 458 | __feroceon_old_id_proc_info: | ||
| 459 | .long 0x41069260 | ||
| 460 | .long 0xfffffff0 | ||
| 461 | .long PMD_TYPE_SECT | \ | ||
| 462 | PMD_SECT_BUFFERABLE | \ | ||
| 463 | PMD_SECT_CACHEABLE | \ | ||
| 464 | PMD_BIT4 | \ | ||
| 465 | PMD_SECT_AP_WRITE | \ | ||
| 466 | PMD_SECT_AP_READ | ||
| 467 | .long PMD_TYPE_SECT | \ | ||
| 468 | PMD_BIT4 | \ | ||
| 469 | PMD_SECT_AP_WRITE | \ | ||
| 470 | PMD_SECT_AP_READ | ||
| 471 | b __feroceon_setup | ||
| 472 | .long cpu_arch_name | ||
| 473 | .long cpu_elf_name | ||
| 474 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
| 475 | .long cpu_feroceon_name | ||
| 476 | .long feroceon_processor_functions | ||
| 477 | .long v4wbi_tlb_fns | ||
| 478 | .long v4wb_user_fns | ||
| 479 | .long feroceon_cache_fns | ||
| 480 | .size __feroceon_old_id_proc_info, . - __feroceon_old_id_proc_info | ||
| 481 | #endif | ||
| 482 | |||
| 456 | .type __feroceon_proc_info,#object | 483 | .type __feroceon_proc_info,#object |
| 457 | __feroceon_proc_info: | 484 | __feroceon_proc_info: |
| 458 | .long 0x56055310 | 485 | .long 0x56055310 |
