aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mm/Kconfig9
-rw-r--r--arch/arm/mm/proc-feroceon.S27
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
357config 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
358config CPU_V6 367config 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