diff options
Diffstat (limited to 'include/asm-avr32')
-rw-r--r-- | include/asm-avr32/processor.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/asm-avr32/processor.h b/include/asm-avr32/processor.h index a52576b25afe..4212551c1cd9 100644 --- a/include/asm-avr32/processor.h +++ b/include/asm-avr32/processor.h | |||
@@ -57,11 +57,25 @@ struct avr32_cpuinfo { | |||
57 | unsigned short cpu_revision; | 57 | unsigned short cpu_revision; |
58 | enum tlb_config tlb_config; | 58 | enum tlb_config tlb_config; |
59 | unsigned long features; | 59 | unsigned long features; |
60 | u32 device_id; | ||
60 | 61 | ||
61 | struct cache_info icache; | 62 | struct cache_info icache; |
62 | struct cache_info dcache; | 63 | struct cache_info dcache; |
63 | }; | 64 | }; |
64 | 65 | ||
66 | static inline unsigned int avr32_get_manufacturer_id(struct avr32_cpuinfo *cpu) | ||
67 | { | ||
68 | return (cpu->device_id >> 1) & 0x7f; | ||
69 | } | ||
70 | static inline unsigned int avr32_get_product_number(struct avr32_cpuinfo *cpu) | ||
71 | { | ||
72 | return (cpu->device_id >> 12) & 0xffff; | ||
73 | } | ||
74 | static inline unsigned int avr32_get_chip_revision(struct avr32_cpuinfo *cpu) | ||
75 | { | ||
76 | return (cpu->device_id >> 28) & 0x0f; | ||
77 | } | ||
78 | |||
65 | extern struct avr32_cpuinfo boot_cpu_data; | 79 | extern struct avr32_cpuinfo boot_cpu_data; |
66 | 80 | ||
67 | #ifdef CONFIG_SMP | 81 | #ifdef CONFIG_SMP |