diff options
author | rpaulo <rpaulo@FreeBSD.org> | 2010-01-04 03:35:45 +0000 |
---|---|---|
committer | rpaulo <rpaulo@FreeBSD.org> | 2010-01-04 03:35:45 +0000 |
commit | 69436c4cabfac51fcdfa42784059f5ae68801cd4 (patch) | |
tree | 2fb376f68d2590dd7f858046d845d1af0f99f6ba /sys/arm/include | |
parent | d3158f2b66a7748dd7e67c5fc04bc181f987c5ce (diff) | |
download | FreeBSD-src-69436c4cabfac51fcdfa42784059f5ae68801cd4.zip FreeBSD-src-69436c4cabfac51fcdfa42784059f5ae68801cd4.tar.gz |
Add support for Cavium Econa CNS11XX ARM boards. These boards were
previously know by StarSemi STR9104.
Tested by the submitter on an Emprex NSD-100 board.
Submitted by: Yohanes Nugroho <yohanes at gmail.com>
Reviewed by: freebsd-arm, stas
Obtained from: //depot/projects/str91xx/...
Diffstat (limited to 'sys/arm/include')
-rw-r--r-- | sys/arm/include/cpuconf.h | 5 | ||||
-rw-r--r-- | sys/arm/include/cpufunc.h | 23 |
2 files changed, 26 insertions, 2 deletions
diff --git a/sys/arm/include/cpuconf.h b/sys/arm/include/cpuconf.h index 458507a..942b591 100644 --- a/sys/arm/include/cpuconf.h +++ b/sys/arm/include/cpuconf.h @@ -61,6 +61,7 @@ defined(CPU_XSCALE_80200) + \ defined(CPU_XSCALE_80321) + \ defined(CPU_XSCALE_PXA2X0) + \ + defined(CPU_FA526) + \ defined(CPU_XSCALE_IXP425)) /* @@ -68,7 +69,7 @@ */ #if (defined(CPU_ARM7TDMI) || defined(CPU_ARM8) || defined(CPU_ARM9) || \ defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \ - defined(CPU_IXP12X0) || defined(CPU_XSCALE_IXP425)) + defined(CPU_IXP12X0) || defined(CPU_XSCALE_IXP425) || defined(CPU_FA526)) #define ARM_ARCH_4 1 #else #define ARM_ARCH_4 0 @@ -125,7 +126,7 @@ #if (defined(CPU_ARM6) || defined(CPU_ARM7) || defined(CPU_ARM7TDMI) || \ defined(CPU_ARM8) || defined(CPU_ARM9) || defined(CPU_ARM9E) || \ - defined(CPU_ARM10) || defined(CPU_ARM11)) + defined(CPU_ARM10) || defined(CPU_ARM11) || defined(CPU_FA526)) #define ARM_MMU_GENERIC 1 #else #define ARM_MMU_GENERIC 0 diff --git a/sys/arm/include/cpufunc.h b/sys/arm/include/cpufunc.h index 74f21e4..8494966 100644 --- a/sys/arm/include/cpufunc.h +++ b/sys/arm/include/cpufunc.h @@ -283,6 +283,28 @@ void arm8_setup (char *string); u_int arm8_clock_config (u_int, u_int); #endif + +#ifdef CPU_FA526 +void fa526_setup (char *arg); +void fa526_setttb (u_int ttb); +void fa526_context_switch (void); +void fa526_cpu_sleep (int); +void fa526_tlb_flushI_SE (u_int); +void fa526_tlb_flushID_SE (u_int); +void fa526_flush_prefetchbuf (void); +void fa526_flush_brnchtgt_E (u_int); + +void fa526_icache_sync_all (void); +void fa526_icache_sync_range(vm_offset_t start, vm_size_t end); +void fa526_dcache_wbinv_all (void); +void fa526_dcache_wbinv_range(vm_offset_t start, vm_size_t end); +void fa526_dcache_inv_range (vm_offset_t start, vm_size_t end); +void fa526_dcache_wb_range (vm_offset_t start, vm_size_t end); +void fa526_idcache_wbinv_all(void); +void fa526_idcache_wbinv_range(vm_offset_t start, vm_size_t end); +#endif + + #ifdef CPU_SA110 void sa110_setup (char *string); void sa110_context_switch (void); @@ -445,6 +467,7 @@ extern unsigned armv5_dcache_index_inc; #if defined(CPU_ARM9) || defined(CPU_ARM9E) || defined(CPU_ARM10) || \ defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \ defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \ + defined(CPU_FA526) || \ defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342) |