aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/include/mach/cpu.h
diff options
context:
space:
mode:
authorNicolas Ferre <nicolas.ferre@atmel.com>2009-06-26 10:36:56 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-06-27 06:05:21 -0400
commitfddcc0ae58edefeb7ac1e460411d7dfbe8ebdacc (patch)
tree337b517d1caaae1f3239998c431efdb23ee1b1eb /arch/arm/mach-at91/include/mach/cpu.h
parent2ef9df7ada6b6dd53446a994ef6e3a6ad5a300ef (diff)
[ARM] 5571/1: at91: Basic support for at91sam9g45 series: header files.
AT91sam9g45 series is an ARM 926ej-s SOC family clocked at 400/133MHz. It embedds USB high speed host and device, LCD, DDR2 RAM, and a full set of peripherals. Here is the basic header file support for this product series. Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91/include/mach/cpu.h')
-rw-r--r--arch/arm/mach-at91/include/mach/cpu.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/include/mach/cpu.h b/arch/arm/mach-at91/include/mach/cpu.h
index c554c3e4d55..b73e7bf097d 100644
--- a/arch/arm/mach-at91/include/mach/cpu.h
+++ b/arch/arm/mach-at91/include/mach/cpu.h
@@ -23,6 +23,7 @@
23#define ARCH_ID_AT91SAM9263 0x019607a0 23#define ARCH_ID_AT91SAM9263 0x019607a0
24#define ARCH_ID_AT91SAM9G20 0x019905a0 24#define ARCH_ID_AT91SAM9G20 0x019905a0
25#define ARCH_ID_AT91SAM9RL64 0x019b03a0 25#define ARCH_ID_AT91SAM9RL64 0x019b03a0
26#define ARCH_ID_AT91SAM9G45 0x819b05a0
26#define ARCH_ID_AT91CAP9 0x039A03A0 27#define ARCH_ID_AT91CAP9 0x039A03A0
27 28
28#define ARCH_ID_AT91SAM9XE128 0x329973a0 29#define ARCH_ID_AT91SAM9XE128 0x329973a0
@@ -39,6 +40,15 @@ static inline unsigned long at91_cpu_identify(void)
39 return (at91_sys_read(AT91_DBGU_CIDR) & ~AT91_CIDR_VERSION); 40 return (at91_sys_read(AT91_DBGU_CIDR) & ~AT91_CIDR_VERSION);
40} 41}
41 42
43#define ARCH_EXID_AT91SAM9M11 0x00000001
44#define ARCH_EXID_AT91SAM9M10 0x00000002
45#define ARCH_EXID_AT91SAM9G45 0x00000004
46
47static inline unsigned long at91_exid_identify(void)
48{
49 return at91_sys_read(AT91_DBGU_EXID);
50}
51
42 52
43#define ARCH_FAMILY_AT91X92 0x09200000 53#define ARCH_FAMILY_AT91X92 0x09200000
44#define ARCH_FAMILY_AT91SAM9 0x01900000 54#define ARCH_FAMILY_AT91SAM9 0x01900000
@@ -99,6 +109,12 @@ static inline unsigned long at91cap9_rev_identify(void)
99#define cpu_is_at91sam9rl() (0) 109#define cpu_is_at91sam9rl() (0)
100#endif 110#endif
101 111
112#ifdef CONFIG_ARCH_AT91SAM9G45
113#define cpu_is_at91sam9g45() (at91_cpu_identify() == ARCH_ID_AT91SAM9G45)
114#else
115#define cpu_is_at91sam9g45() (0)
116#endif
117
102#ifdef CONFIG_ARCH_AT91CAP9 118#ifdef CONFIG_ARCH_AT91CAP9
103#define cpu_is_at91cap9() (at91_cpu_identify() == ARCH_ID_AT91CAP9) 119#define cpu_is_at91cap9() (at91_cpu_identify() == ARCH_ID_AT91CAP9)
104#define cpu_is_at91cap9_revB() (at91cap9_rev_identify() == ARCH_REVISION_CAP9_B) 120#define cpu_is_at91cap9_revB() (at91cap9_rev_identify() == ARCH_REVISION_CAP9_B)