diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-03 03:42:39 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-08-03 03:42:39 -0400 |
commit | c61daf6b0a2f7048c6e74d52b043fa6a779b128a (patch) | |
tree | a4a38656ac79775f38ce5fd6b00dd9b89cd5ccec /arch/arm/mm/proc-xsc3.S | |
parent | 786c89f7a24b4ed8b68dfb136347267875315c30 (diff) | |
parent | 160a84cfc975f4aaec1cb32a48bba23ccaf43761 (diff) |
Merge branch 'imx-cleanup' of git://git.pengutronix.de/git/ukl/linux-2.6 into imx-cleanup
Diffstat (limited to 'arch/arm/mm/proc-xsc3.S')
-rw-r--r-- | arch/arm/mm/proc-xsc3.S | 94 |
1 files changed, 17 insertions, 77 deletions
diff --git a/arch/arm/mm/proc-xsc3.S b/arch/arm/mm/proc-xsc3.S index 596213699f37..28c72a2006a1 100644 --- a/arch/arm/mm/proc-xsc3.S +++ b/arch/arm/mm/proc-xsc3.S | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <linux/init.h> | 28 | #include <linux/init.h> |
29 | #include <asm/assembler.h> | 29 | #include <asm/assembler.h> |
30 | #include <asm/hwcap.h> | 30 | #include <asm/hwcap.h> |
31 | #include <mach/hardware.h> | ||
32 | #include <asm/pgtable.h> | 31 | #include <asm/pgtable.h> |
33 | #include <asm/pgtable-hwdef.h> | 32 | #include <asm/pgtable-hwdef.h> |
34 | #include <asm/page.h> | 33 | #include <asm/page.h> |
@@ -335,17 +334,8 @@ ENTRY(xsc3_dma_unmap_area) | |||
335 | mov pc, lr | 334 | mov pc, lr |
336 | ENDPROC(xsc3_dma_unmap_area) | 335 | ENDPROC(xsc3_dma_unmap_area) |
337 | 336 | ||
338 | ENTRY(xsc3_cache_fns) | 337 | @ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S) |
339 | .long xsc3_flush_icache_all | 338 | define_cache_functions xsc3 |
340 | .long xsc3_flush_kern_cache_all | ||
341 | .long xsc3_flush_user_cache_all | ||
342 | .long xsc3_flush_user_cache_range | ||
343 | .long xsc3_coherent_kern_range | ||
344 | .long xsc3_coherent_user_range | ||
345 | .long xsc3_flush_kern_dcache_area | ||
346 | .long xsc3_dma_map_area | ||
347 | .long xsc3_dma_unmap_area | ||
348 | .long xsc3_dma_flush_range | ||
349 | 339 | ||
350 | ENTRY(cpu_xsc3_dcache_clean_area) | 340 | ENTRY(cpu_xsc3_dcache_clean_area) |
351 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean L1 D line | 341 | 1: mcr p15, 0, r0, c7, c10, 1 @ clean L1 D line |
@@ -454,9 +444,6 @@ ENTRY(cpu_xsc3_do_resume) | |||
454 | ldr r3, =0x542e @ section flags | 444 | ldr r3, =0x542e @ section flags |
455 | b cpu_resume_mmu | 445 | b cpu_resume_mmu |
456 | ENDPROC(cpu_xsc3_do_resume) | 446 | ENDPROC(cpu_xsc3_do_resume) |
457 | #else | ||
458 | #define cpu_xsc3_do_suspend 0 | ||
459 | #define cpu_xsc3_do_resume 0 | ||
460 | #endif | 447 | #endif |
461 | 448 | ||
462 | __CPUINIT | 449 | __CPUINIT |
@@ -503,52 +490,24 @@ xsc3_crval: | |||
503 | 490 | ||
504 | __INITDATA | 491 | __INITDATA |
505 | 492 | ||
506 | /* | 493 | @ define struct processor (see <asm/proc-fns.h> and proc-macros.S) |
507 | * Purpose : Function pointers used to access above functions - all calls | 494 | define_processor_functions xsc3, dabort=v5t_early_abort, pabort=legacy_pabort, suspend=1 |
508 | * come through these | ||
509 | */ | ||
510 | |||
511 | .type xsc3_processor_functions, #object | ||
512 | ENTRY(xsc3_processor_functions) | ||
513 | .word v5t_early_abort | ||
514 | .word legacy_pabort | ||
515 | .word cpu_xsc3_proc_init | ||
516 | .word cpu_xsc3_proc_fin | ||
517 | .word cpu_xsc3_reset | ||
518 | .word cpu_xsc3_do_idle | ||
519 | .word cpu_xsc3_dcache_clean_area | ||
520 | .word cpu_xsc3_switch_mm | ||
521 | .word cpu_xsc3_set_pte_ext | ||
522 | .word cpu_xsc3_suspend_size | ||
523 | .word cpu_xsc3_do_suspend | ||
524 | .word cpu_xsc3_do_resume | ||
525 | .size xsc3_processor_functions, . - xsc3_processor_functions | ||
526 | 495 | ||
527 | .section ".rodata" | 496 | .section ".rodata" |
528 | 497 | ||
529 | .type cpu_arch_name, #object | 498 | string cpu_arch_name, "armv5te" |
530 | cpu_arch_name: | 499 | string cpu_elf_name, "v5" |
531 | .asciz "armv5te" | 500 | string cpu_xsc3_name, "XScale-V3 based processor" |
532 | .size cpu_arch_name, . - cpu_arch_name | ||
533 | |||
534 | .type cpu_elf_name, #object | ||
535 | cpu_elf_name: | ||
536 | .asciz "v5" | ||
537 | .size cpu_elf_name, . - cpu_elf_name | ||
538 | |||
539 | .type cpu_xsc3_name, #object | ||
540 | cpu_xsc3_name: | ||
541 | .asciz "XScale-V3 based processor" | ||
542 | .size cpu_xsc3_name, . - cpu_xsc3_name | ||
543 | 501 | ||
544 | .align | 502 | .align |
545 | 503 | ||
546 | .section ".proc.info.init", #alloc, #execinstr | 504 | .section ".proc.info.init", #alloc, #execinstr |
547 | 505 | ||
548 | .type __xsc3_proc_info,#object | 506 | .macro xsc3_proc_info name:req, cpu_val:req, cpu_mask:req |
549 | __xsc3_proc_info: | 507 | .type __\name\()_proc_info,#object |
550 | .long 0x69056000 | 508 | __\name\()_proc_info: |
551 | .long 0xffffe000 | 509 | .long \cpu_val |
510 | .long \cpu_mask | ||
552 | .long PMD_TYPE_SECT | \ | 511 | .long PMD_TYPE_SECT | \ |
553 | PMD_SECT_BUFFERABLE | \ | 512 | PMD_SECT_BUFFERABLE | \ |
554 | PMD_SECT_CACHEABLE | \ | 513 | PMD_SECT_CACHEABLE | \ |
@@ -566,29 +525,10 @@ __xsc3_proc_info: | |||
566 | .long v4wbi_tlb_fns | 525 | .long v4wbi_tlb_fns |
567 | .long xsc3_mc_user_fns | 526 | .long xsc3_mc_user_fns |
568 | .long xsc3_cache_fns | 527 | .long xsc3_cache_fns |
569 | .size __xsc3_proc_info, . - __xsc3_proc_info | 528 | .size __\name\()_proc_info, . - __\name\()_proc_info |
529 | .endm | ||
570 | 530 | ||
571 | /* Note: PXA935 changed its implementor ID from Intel to Marvell */ | 531 | xsc3_proc_info xsc3, 0x69056000, 0xffffe000 |
572 | 532 | ||
573 | .type __xsc3_pxa935_proc_info,#object | 533 | /* Note: PXA935 changed its implementor ID from Intel to Marvell */ |
574 | __xsc3_pxa935_proc_info: | 534 | xsc3_proc_info xsc3_pxa935, 0x56056000, 0xffffe000 |
575 | .long 0x56056000 | ||
576 | .long 0xffffe000 | ||
577 | .long PMD_TYPE_SECT | \ | ||
578 | PMD_SECT_BUFFERABLE | \ | ||
579 | PMD_SECT_CACHEABLE | \ | ||
580 | PMD_SECT_AP_WRITE | \ | ||
581 | PMD_SECT_AP_READ | ||
582 | .long PMD_TYPE_SECT | \ | ||
583 | PMD_SECT_AP_WRITE | \ | ||
584 | PMD_SECT_AP_READ | ||
585 | b __xsc3_setup | ||
586 | .long cpu_arch_name | ||
587 | .long cpu_elf_name | ||
588 | .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP | ||
589 | .long cpu_xsc3_name | ||
590 | .long xsc3_processor_functions | ||
591 | .long v4wbi_tlb_fns | ||
592 | .long xsc3_mc_user_fns | ||
593 | .long xsc3_cache_fns | ||
594 | .size __xsc3_pxa935_proc_info, . - __xsc3_pxa935_proc_info | ||