diff options
author | Nicolas Ferre <nicolas.ferre@atmel.com> | 2009-06-26 10:36:56 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-06-27 06:05:21 -0400 |
commit | fddcc0ae58edefeb7ac1e460411d7dfbe8ebdacc (patch) | |
tree | 337b517d1caaae1f3239998c431efdb23ee1b1eb /arch/arm/mach-at91/include/mach/cpu.h | |
parent | 2ef9df7ada6b6dd53446a994ef6e3a6ad5a300ef (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.h | 16 |
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 | |||
47 | static 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) |