[ARM] 5568/1: at91: Basic support for at91sam9g10: header files
authorNicolas Ferre <nicolas.ferre@atmel.com>
Fri, 26 Jun 2009 14:36:59 +0000 (15:36 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 2 Jul 2009 14:59:55 +0000 (15:59 +0100)
From: Hong Xu <hong.xu@atmel.com>

AT91sam9g10 is an ARM 926ej-s SOC. It is an evolution of the at91sam9261 with a
faster clock speed: 266/133MHz.

Here is the basic header file support for this product.

Signed-off-by: Hong Xu <hong.xu@atmel.com>
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>
arch/arm/mach-at91/include/mach/at91sam9261.h
arch/arm/mach-at91/include/mach/cpu.h
arch/arm/mach-at91/include/mach/hardware.h
arch/arm/mach-at91/include/mach/timex.h

index 3a348ca..87de8be 100644 (file)
@@ -95,6 +95,9 @@
 #define AT91SAM9261_SRAM_BASE  0x00300000      /* Internal SRAM base address */
 #define AT91SAM9261_SRAM_SIZE  0x00028000      /* Internal SRAM size (160Kb) */
 
+#define AT91SAM9G10_SRAM_BASE  AT91SAM9261_SRAM_BASE   /* Internal SRAM base address */
+#define AT91SAM9G10_SRAM_SIZE  0x00004000      /* Internal SRAM size (16Kb) */
+
 #define AT91SAM9261_ROM_BASE   0x00400000      /* Internal ROM base address */
 #define AT91SAM9261_ROM_SIZE   SZ_32K          /* Internal ROM size (32Kb) */
 
index b73e7bf..34a9502 100644 (file)
@@ -21,6 +21,7 @@
 #define ARCH_ID_AT91SAM9260    0x019803a0
 #define ARCH_ID_AT91SAM9261    0x019703a0
 #define ARCH_ID_AT91SAM9263    0x019607a0
+#define ARCH_ID_AT91SAM9G10    0x819903a0
 #define ARCH_ID_AT91SAM9G20    0x019905a0
 #define ARCH_ID_AT91SAM9RL64   0x019b03a0
 #define ARCH_ID_AT91SAM9G45    0x819b05a0
@@ -97,6 +98,12 @@ static inline unsigned long at91cap9_rev_identify(void)
 #define cpu_is_at91sam9261()   (0)
 #endif
 
+#ifdef CONFIG_ARCH_AT91SAM9G10
+#define cpu_is_at91sam9g10()   (at91_cpu_identify() == ARCH_ID_AT91SAM9G10)
+#else
+#define cpu_is_at91sam9g10()   (0)
+#endif
+
 #ifdef CONFIG_ARCH_AT91SAM9263
 #define cpu_is_at91sam9263()   (at91_cpu_identify() == ARCH_ID_AT91SAM9263)
 #else
index f086917..a0df8b0 100644 (file)
@@ -20,7 +20,7 @@
 #include <mach/at91rm9200.h>
 #elif defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9G20)
 #include <mach/at91sam9260.h>
-#elif defined(CONFIG_ARCH_AT91SAM9261)
+#elif defined(CONFIG_ARCH_AT91SAM9261) || defined(CONFIG_ARCH_AT91SAM9G10)
 #include <mach/at91sam9261.h>
 #elif defined(CONFIG_ARCH_AT91SAM9263)
 #include <mach/at91sam9263.h>
index 38f6c42..31ac2d9 100644 (file)
 #define AT91SAM9_MASTER_CLOCK  99300000
 #define CLOCK_TICK_RATE                (AT91SAM9_MASTER_CLOCK/16)
 
+#elif defined(CONFIG_ARCH_AT91SAM9G10)
+
+#define AT91SAM9_MASTER_CLOCK  133000000
+#define CLOCK_TICK_RATE                (AT91SAM9_MASTER_CLOCK/16)
+
 #elif defined(CONFIG_ARCH_AT91SAM9263)
 
 #if defined(CONFIG_MACH_USB_A9263)