aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-avr32/processor.h
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2007-03-13 15:30:38 +0100
committerHaavard Skinnemoen <hskinnemoen@atmel.com>2007-04-27 13:44:13 +0200
commit3b328c98093702c584692bffabd440800b383d73 (patch)
tree2590a7013631f5915d2c80d0b749e54e26ff8520 /include/asm-avr32/processor.h
parent[AVR32] Clean up asm/sysreg.h (diff)
downloadlinux-dev-3b328c98093702c584692bffabd440800b383d73.tar.xz
linux-dev-3b328c98093702c584692bffabd440800b383d73.zip
[AVR32] Clean up cpu identification and add features bitmap
Clean up the cpu identification code, using definitions from <asm/sysreg.h> instead of hardcoded constants. Also, add a features bitmap to struct avr32_cpuinfo to allow other code to make decisions based upon what the running cpu is actually capable of. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Diffstat (limited to 'include/asm-avr32/processor.h')
-rw-r--r--include/asm-avr32/processor.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-avr32/processor.h b/include/asm-avr32/processor.h
index f6913778a45f..cbb89ccd3f05 100644
--- a/include/asm-avr32/processor.h
+++ b/include/asm-avr32/processor.h
@@ -40,6 +40,14 @@ enum tlb_config {
TLB_INVALID
};
+#define AVR32_FEATURE_RMW (1 << 0)
+#define AVR32_FEATURE_DSP (1 << 1)
+#define AVR32_FEATURE_SIMD (1 << 2)
+#define AVR32_FEATURE_OCD (1 << 3)
+#define AVR32_FEATURE_PCTR (1 << 4)
+#define AVR32_FEATURE_JAVA (1 << 5)
+#define AVR32_FEATURE_FPU (1 << 6)
+
struct avr32_cpuinfo {
struct clk *clk;
unsigned long loops_per_jiffy;
@@ -48,6 +56,7 @@ struct avr32_cpuinfo {
unsigned short arch_revision;
unsigned short cpu_revision;
enum tlb_config tlb_config;
+ unsigned long features;
struct cache_info icache;
struct cache_info dcache;