diff options
| -rwxr-xr-x | MAKEALL | 1 | ||||
| -rw-r--r-- | Makefile | 12 | ||||
| -rw-r--r-- | board/atmel/at91sam9260ek/at91sam9260ek.c | 5 | ||||
| -rw-r--r-- | cpu/arm926ejs/at91/Makefile | 5 | ||||
| -rw-r--r-- | cpu/arm926ejs/at91/usb.c | 4 | ||||
| -rw-r--r-- | doc/README.at91 | 2 | ||||
| -rw-r--r-- | drivers/net/macb.c | 4 | ||||
| -rw-r--r-- | include/asm-arm/arch-at91/hardware.h | 2 | ||||
| -rw-r--r-- | include/configs/at91sam9260ek.h | 23 | 
9 files changed, 46 insertions, 12 deletions
| @@ -572,6 +572,7 @@ LIST_at91="		\  	at91sam9260ek	\  	at91sam9261ek	\  	at91sam9263ek	\ +	at91sam9g20ek	\  	at91sam9rlek	\  	cmc_pu2		\  	csb637		\ @@ -2653,8 +2653,18 @@ at91cap9adk_config	:	unconfig  at91sam9260ek_nandflash_config \  at91sam9260ek_dataflash_cs0_config \  at91sam9260ek_dataflash_cs1_config \ -at91sam9260ek_config	:	unconfig +at91sam9260ek_config \ +at91sam9g20ek_nandflash_config \ +at91sam9g20ek_dataflash_cs0_config \ +at91sam9g20ek_dataflash_cs1_config \ +at91sam9g20ek_config	:	unconfig  	@mkdir -p $(obj)include +	@if [ "$(findstring 9g20,$@)" ] ; then \ +		echo "#define CONFIG_AT91SAM9G20EK 1"	>>$(obj)include/config.h ; \ +		$(XECHO) "... 9G20 Variant" ; \ +	else \ +		echo "#define CONFIG_AT91SAM9260EK 1"	>>$(obj)include/config.h ; \ +	fi;  	@if [ "$(findstring _nandflash,$@)" ] ; then \  		echo "#define CONFIG_SYS_USE_NANDFLASH 1"	>>$(obj)include/config.h ; \  		$(XECHO) "... with environment variable in NAND FLASH" ; \ diff --git a/board/atmel/at91sam9260ek/at91sam9260ek.c b/board/atmel/at91sam9260ek/at91sam9260ek.c index ae00c5347..6bd3b44f0 100644 --- a/board/atmel/at91sam9260ek/at91sam9260ek.c +++ b/board/atmel/at91sam9260ek/at91sam9260ek.c @@ -141,8 +141,13 @@ int board_init(void)  	/* Enable Ctrlc */  	console_init_f(); +#ifdef CONFIG_AT91SAM9G20EK +	/* arch number of AT91SAM9260EK-Board */ +	gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9G20EK; +#else  	/* arch number of AT91SAM9260EK-Board */  	gd->bd->bi_arch_number = MACH_TYPE_AT91SAM9260EK; +#endif  	/* adress of boot parameters */  	gd->bd->bi_boot_params = PHYS_SDRAM + 0x100; diff --git a/cpu/arm926ejs/at91/Makefile b/cpu/arm926ejs/at91/Makefile index db79c40d8..f9e739c5c 100644 --- a/cpu/arm926ejs/at91/Makefile +++ b/cpu/arm926ejs/at91/Makefile @@ -35,6 +35,11 @@ COBJS-$(CONFIG_MACB)		+= at91sam9260_macb.o  COBJS-y				+= at91sam9260_serial.o  COBJS-$(CONFIG_HAS_DATAFLASH)	+= at91sam9260_spi.o  endif +ifdef CONFIG_AT91SAM9G20 +COBJS-$(CONFIG_MACB)		+= at91sam9260_macb.o +COBJS-y				+= at91sam9260_serial.o +COBJS-$(CONFIG_HAS_DATAFLASH)	+= at91sam9260_spi.o +endif  ifdef CONFIG_AT91SAM9261  COBJS-y				+= at91sam9261_serial.o  COBJS-$(CONFIG_HAS_DATAFLASH)	+= at91sam9261_spi.o diff --git a/cpu/arm926ejs/at91/usb.c b/cpu/arm926ejs/at91/usb.c index a15ab1693..7c44ad0e9 100644 --- a/cpu/arm926ejs/at91/usb.c +++ b/cpu/arm926ejs/at91/usb.c @@ -33,7 +33,7 @@ int usb_cpu_init(void)  {  #if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \ -    defined(CONFIG_AT91SAM9263) +    defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)  	/* Enable PLLB */  	at91_sys_write(AT91_CKGR_PLLBR, CONFIG_SYS_AT91_PLLB);  	while ((at91_sys_read(AT91_PMC_SR) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB) @@ -62,7 +62,7 @@ int usb_cpu_stop(void)  #endif  #if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \ -    defined(CONFIG_AT91SAM9263) +    defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)  	/* Disable PLLB */  	at91_sys_write(AT91_CKGR_PLLBR, 0);  	while ((at91_sys_read(AT91_PMC_SR) & AT91_PMC_LOCKB) != 0) diff --git a/doc/README.at91 b/doc/README.at91 index 4e3928a47..e460e6662 100644 --- a/doc/README.at91 +++ b/doc/README.at91 @@ -3,7 +3,7 @@ Atmel AT91 Evaluation kits  http://atmel.com/dyn/products/tools.asp?family_id=605#1443  ------------------------------------------------------------------------------ -AT91SAM9260EK & AT91SAM9XEEK +AT91SAM9260EK, AT91SAM9G20EK & AT91SAM9XEEK  ------------------------------------------------------------------------------  Memory map diff --git a/drivers/net/macb.c b/drivers/net/macb.c index af0409bd2..6de0a0441 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -447,14 +447,14 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)  	/* choose RMII or MII mode. This depends on the board */  #ifdef CONFIG_RMII  #if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \ -    defined(CONFIG_AT91SAM9263) +    defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)  	macb_writel(macb, USRIO, MACB_BIT(RMII) | MACB_BIT(CLKEN));  #else  	macb_writel(macb, USRIO, 0);  #endif  #else  #if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \ -    defined(CONFIG_AT91SAM9263) +    defined(CONFIG_AT91SAM9263) || defined(CONFIG_AT91SAM9G20)  	macb_writel(macb, USRIO, MACB_BIT(CLKEN));  #else  	macb_writel(macb, USRIO, MACB_BIT(MII)); diff --git a/include/asm-arm/arch-at91/hardware.h b/include/asm-arm/arch-at91/hardware.h index b881e4e2e..4f0e1a7e6 100644 --- a/include/asm-arm/arch-at91/hardware.h +++ b/include/asm-arm/arch-at91/hardware.h @@ -18,7 +18,7 @@  #if defined(CONFIG_AT91RM9200)  #include <asm/arch/at91rm9200.h> -#elif defined(CONFIG_AT91SAM9260) +#elif defined(CONFIG_AT91SAM9260) || defined(CONFIG_AT91SAM9G20)  #include <asm/arch/at91sam9260.h>  #define AT91_BASE_SPI	AT91SAM9260_BASE_SPI0  #define AT91_ID_UHP	AT91SAM9260_ID_UHP diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h index 266156362..1fae3a3b8 100644 --- a/include/configs/at91sam9260ek.h +++ b/include/configs/at91sam9260ek.h @@ -3,7 +3,7 @@   * Stelian Pop <stelian.pop@leadtechdesign.com>   * Lead Tech Design <www.leadtechdesign.com>   * - * Configuation settings for the AT91SAM9260EK board. + * Configuation settings for the AT91SAM9260EK & AT91SAM9G20EK boards.   *   * See file CREDITS for list of people who contributed to this   * project. @@ -28,18 +28,26 @@  #define __CONFIG_H  /* ARM asynchronous clock */ -#define AT91_CPU_NAME		"AT91SAM9260"  #define AT91_MAIN_CLOCK		18432000	/* 18.432 MHz crystal */ -#define AT91_MASTER_CLOCK	100000000	/* peripheral */ -#define AT91_CPU_CLOCK		200000000	/* cpu */  #define CONFIG_SYS_AT91_PLLB	0x107c3e18	/* PLLB settings for USB */  #define CONFIG_SYS_HZ		1000000		/* 1us resolution */  #define AT91_SLOW_CLOCK		32768	/* slow clock */  #define CONFIG_ARM926EJS	1	/* This is an ARM926EJS Core	*/ + +#ifdef CONFIG_AT91SAM9G20EK +#define AT91_CPU_NAME		"AT91SAM9G20" +#define AT91_MASTER_CLOCK	132000000	/* peripheral */ +#define AT91_CPU_CLOCK		396000000	/* cpu */ +#define CONFIG_AT91SAM9G20	1	/* It's an Atmel AT91SAM9G20 SoC*/ +#else +#define AT91_CPU_NAME		"AT91SAM9260" +#define AT91_MASTER_CLOCK	100000000	/* peripheral */ +#define AT91_CPU_CLOCK		200000000	/* cpu */  #define CONFIG_AT91SAM9260	1	/* It's an Atmel AT91SAM9260 SoC*/ -#define CONFIG_AT91SAM9260EK	1	/* on an AT91SAM9260EK Board	*/ +#endif +  #undef CONFIG_USE_IRQ			/* we don't need IRQ/FIQ stuff	*/  #define CONFIG_CMDLINE_TAG	1	/* enable passing of ATAGs	*/ @@ -101,7 +109,12 @@  #define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000	/* CS0 */  #define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1	0xD0000000	/* CS1 */  #define AT91_SPI_CLK			15000000 + +#ifdef CONFIG_AT91SAM9G20EK +#define DATAFLASH_TCSS			(0x22 << 16) +#else  #define DATAFLASH_TCSS			(0x1a << 16) +#endif  #define DATAFLASH_TCHS			(0x1 << 24)  /* NAND flash */ |