diff options
author | Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | 2009-03-25 07:10:01 -0400 |
---|---|---|
committer | Paulius Zaleckas <paulius.zaleckas@teltonika.lt> | 2009-03-25 07:10:01 -0400 |
commit | 28853ac8fe5221de74a14f1182d7b2b383dfd85c (patch) | |
tree | dcfd9b20028e5a3a9504e26d2c9060f4746fc83a /arch/arm/boot | |
parent | bba7d0b9ba0f04d25145de8170a17a3a07bbfdde (diff) |
ARM: Add support for FA526 v2
Adds support for Faraday FA526 core. This core is used at least by:
Cortina Systems Gemini and Centroid family
Cavium Networks ECONA family
Grain Media GM8120
Pixelplus ImageARM
Prolific PL-1029
Faraday IP evaluation boards
v2:
- move TLB_BTB to separate patch
- update copyrights
Signed-off-by: Paulius Zaleckas <paulius.zaleckas@teltonika.lt>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r-- | arch/arm/boot/compressed/head.S | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index 77d614232d81..def02483286a 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S | |||
@@ -459,6 +459,20 @@ __armv7_mmu_cache_on: | |||
459 | mcr p15, 0, r0, c7, c5, 4 @ ISB | 459 | mcr p15, 0, r0, c7, c5, 4 @ ISB |
460 | mov pc, r12 | 460 | mov pc, r12 |
461 | 461 | ||
462 | __fa526_cache_on: | ||
463 | mov r12, lr | ||
464 | bl __setup_mmu | ||
465 | mov r0, #0 | ||
466 | mcr p15, 0, r0, c7, c7, 0 @ Invalidate whole cache | ||
467 | mcr p15, 0, r0, c7, c10, 4 @ drain write buffer | ||
468 | mcr p15, 0, r0, c8, c7, 0 @ flush UTLB | ||
469 | mrc p15, 0, r0, c1, c0, 0 @ read control reg | ||
470 | orr r0, r0, #0x1000 @ I-cache enable | ||
471 | bl __common_mmu_cache_on | ||
472 | mov r0, #0 | ||
473 | mcr p15, 0, r0, c8, c7, 0 @ flush UTLB | ||
474 | mov pc, r12 | ||
475 | |||
462 | __arm6_mmu_cache_on: | 476 | __arm6_mmu_cache_on: |
463 | mov r12, lr | 477 | mov r12, lr |
464 | bl __setup_mmu | 478 | bl __setup_mmu |
@@ -636,6 +650,12 @@ proc_types: | |||
636 | b __armv4_mmu_cache_off | 650 | b __armv4_mmu_cache_off |
637 | b __armv5tej_mmu_cache_flush | 651 | b __armv5tej_mmu_cache_flush |
638 | 652 | ||
653 | .word 0x66015261 @ FA526 | ||
654 | .word 0xff01fff1 | ||
655 | b __fa526_cache_on | ||
656 | b __armv4_mmu_cache_off | ||
657 | b __fa526_cache_flush | ||
658 | |||
639 | @ These match on the architecture ID | 659 | @ These match on the architecture ID |
640 | 660 | ||
641 | .word 0x00020000 @ ARMv4T | 661 | .word 0x00020000 @ ARMv4T |
@@ -775,6 +795,12 @@ __armv4_mpu_cache_flush: | |||
775 | mcr p15, 0, ip, c7, c10, 4 @ drain WB | 795 | mcr p15, 0, ip, c7, c10, 4 @ drain WB |
776 | mov pc, lr | 796 | mov pc, lr |
777 | 797 | ||
798 | __fa526_cache_flush: | ||
799 | mov r1, #0 | ||
800 | mcr p15, 0, r1, c7, c14, 0 @ clean and invalidate D cache | ||
801 | mcr p15, 0, r1, c7, c5, 0 @ flush I cache | ||
802 | mcr p15, 0, r1, c7, c10, 4 @ drain WB | ||
803 | mov pc, lr | ||
778 | 804 | ||
779 | __armv6_mmu_cache_flush: | 805 | __armv6_mmu_cache_flush: |
780 | mov r1, #0 | 806 | mov r1, #0 |