xref: /rk3399_rockchip-uboot/include/configs/at91sam9rlek.h (revision 36873e7d96f05ba53ff1d21e2fabf45e131856a7)
12118ebb4SStelian Pop /*
22118ebb4SStelian Pop  * (C) Copyright 2007-2008
3c9e798d3SStelian Pop  * Stelian Pop <stelian@popies.net>
42118ebb4SStelian Pop  * Lead Tech Design <www.leadtechdesign.com>
52118ebb4SStelian Pop  *
62118ebb4SStelian Pop  * Configuation settings for the AT91SAM9RLEK board.
72118ebb4SStelian Pop  *
82118ebb4SStelian Pop  * See file CREDITS for list of people who contributed to this
92118ebb4SStelian Pop  * project.
102118ebb4SStelian Pop  *
112118ebb4SStelian Pop  * This program is free software; you can redistribute it and/or
122118ebb4SStelian Pop  * modify it under the terms of the GNU General Public License as
132118ebb4SStelian Pop  * published by the Free Software Foundation; either version 2 of
142118ebb4SStelian Pop  * the License, or (at your option) any later version.
152118ebb4SStelian Pop  *
162118ebb4SStelian Pop  * This program is distributed in the hope that it will be useful,
172118ebb4SStelian Pop  * but WITHOUT ANY WARRANTY; without even the implied warranty of
182118ebb4SStelian Pop  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
192118ebb4SStelian Pop  * GNU General Public License for more details.
202118ebb4SStelian Pop  *
212118ebb4SStelian Pop  * You should have received a copy of the GNU General Public License
222118ebb4SStelian Pop  * along with this program; if not, write to the Free Software
232118ebb4SStelian Pop  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
242118ebb4SStelian Pop  * MA 02111-1307 USA
252118ebb4SStelian Pop  */
262118ebb4SStelian Pop 
272118ebb4SStelian Pop #ifndef __CONFIG_H
282118ebb4SStelian Pop #define __CONFIG_H
292118ebb4SStelian Pop 
3021d671d0SXu, Hong #include <asm/hardware.h>
3121d671d0SXu, Hong 
3221d671d0SXu, Hong #define CONFIG_SYS_TEXT_BASE		0x21F00000
33425de62dSJens Scharsig 
342118ebb4SStelian Pop /* ARM asynchronous clock */
3521d671d0SXu, Hong #define CONFIG_SYS_AT91_SLOW_CLOCK	32768		/* slow clock xtal */
3621d671d0SXu, Hong #define CONFIG_SYS_AT91_MAIN_CLOCK	12000000	/* main clock xtal */
376ebff365SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_HZ			1000
382118ebb4SStelian Pop 
3921d671d0SXu, Hong #define CONFIG_AT91SAM9RLEK		1	/* It's an AT91SAM9RLEK Board */
4021d671d0SXu, Hong 
41dc39ae95SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ARCH_CPU_INIT
4221d671d0SXu, Hong #define CONFIG_SKIP_LOWLEVEL_INIT
4321d671d0SXu, Hong #define CONFIG_BOARD_EARLY_INIT_F
442118ebb4SStelian Pop 
452118ebb4SStelian Pop #define CONFIG_CMDLINE_TAG		1	/* enable passing of ATAGs */
462118ebb4SStelian Pop #define CONFIG_SETUP_MEMORY_TAGS	1
472118ebb4SStelian Pop #define CONFIG_INITRD_TAG		1
482118ebb4SStelian Pop 
4921d671d0SXu, Hong #define CONFIG_DISPLAY_CPUINFO
5021d671d0SXu, Hong 
51*36873e7dSNicolas Ferre #define CONFIG_OF_LIBFDT
52*36873e7dSNicolas Ferre 
5321d671d0SXu, Hong #define CONFIG_ATMEL_LEGACY
5421d671d0SXu, Hong #define CONFIG_AT91_GPIO		1
5521d671d0SXu, Hong #define CONFIG_AT91_GPIO_PULLUP		1
562118ebb4SStelian Pop 
572118ebb4SStelian Pop /*
582118ebb4SStelian Pop  * Hardware drivers
592118ebb4SStelian Pop  */
6021d671d0SXu, Hong 
6121d671d0SXu, Hong /* serial console */
6221d671d0SXu, Hong #define CONFIG_ATMEL_USART
6321d671d0SXu, Hong #define CONFIG_USART_BASE		ATMEL_BASE_DBGU
6421d671d0SXu, Hong #define CONFIG_USART_ID			ATMEL_ID_SYS
6521d671d0SXu, Hong #define CONFIG_BAUDRATE			115200
662118ebb4SStelian Pop 
67761c70b8SStelian Pop /* LCD */
68761c70b8SStelian Pop #define CONFIG_LCD			1
69761c70b8SStelian Pop #define LCD_BPP				LCD_COLOR8
70761c70b8SStelian Pop #define CONFIG_LCD_LOGO			1
71761c70b8SStelian Pop #undef LCD_TEST_PATTERN
72761c70b8SStelian Pop #define CONFIG_LCD_INFO			1
73761c70b8SStelian Pop #define CONFIG_LCD_INFO_BELOW_LOGO	1
746d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_WHITE_ON_BLACK	1
75761c70b8SStelian Pop #define CONFIG_ATMEL_LCD		1
76761c70b8SStelian Pop #define CONFIG_ATMEL_LCD_RGB565		1
7721d671d0SXu, Hong /* Let board_init_f handle the framebuffer allocation */
7821d671d0SXu, Hong #undef CONFIG_FB_ADDR
796d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CONSOLE_IS_IN_ENV	1
80761c70b8SStelian Pop 
8121d671d0SXu, Hong 
82a484b00bSJean-Christophe PLAGNIOL-VILLARD /* LED */
83a484b00bSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_AT91_LED
84a484b00bSJean-Christophe PLAGNIOL-VILLARD #define	CONFIG_RED_LED		AT91_PIN_PD14	/* this is the power led */
85a484b00bSJean-Christophe PLAGNIOL-VILLARD #define	CONFIG_GREEN_LED	AT91_PIN_PD15	/* this is the user1 led */
86a484b00bSJean-Christophe PLAGNIOL-VILLARD #define	CONFIG_YELLOW_LED	AT91_PIN_PD16	/* this is the user2 led */
87a484b00bSJean-Christophe PLAGNIOL-VILLARD 
882118ebb4SStelian Pop #define CONFIG_BOOTDELAY	3
892118ebb4SStelian Pop 
902118ebb4SStelian Pop /*
912118ebb4SStelian Pop  * Command line configuration.
922118ebb4SStelian Pop  */
932118ebb4SStelian Pop #include <config_cmd_default.h>
942118ebb4SStelian Pop #undef CONFIG_CMD_BDI
952118ebb4SStelian Pop #undef CONFIG_CMD_FPGA
9674de7aefSWolfgang Denk #undef CONFIG_CMD_IMI
972118ebb4SStelian Pop #undef CONFIG_CMD_IMLS
9874de7aefSWolfgang Denk #undef CONFIG_CMD_LOADS
992118ebb4SStelian Pop #undef CONFIG_CMD_NET
10021d671d0SXu, Hong #undef CONFIG_CMD_NFS
10174de7aefSWolfgang Denk #undef CONFIG_CMD_SOURCE
1022118ebb4SStelian Pop #undef CONFIG_CMD_USB
1032118ebb4SStelian Pop 
1042118ebb4SStelian Pop #define CONFIG_CMD_NAND			1
1052118ebb4SStelian Pop 
1062118ebb4SStelian Pop /* SDRAM */
1072118ebb4SStelian Pop #define CONFIG_NR_DRAM_BANKS		1
10821d671d0SXu, Hong #define CONFIG_SYS_SDRAM_BASE		ATMEL_BASE_CS1
10921d671d0SXu, Hong #define CONFIG_SYS_SDRAM_SIZE		0x04000000
11021d671d0SXu, Hong 
11121d671d0SXu, Hong #define CONFIG_SYS_INIT_SP_ADDR \
11221d671d0SXu, Hong 	(ATMEL_BASE_SRAM + 0x1000 - GENERATED_GBL_DATA_SIZE)
1132118ebb4SStelian Pop 
1142118ebb4SStelian Pop /* DataFlash */
1154758ebddSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ATMEL_DATAFLASH_SPI
1162118ebb4SStelian Pop #define CONFIG_HAS_DATAFLASH			1
1176d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_SPI_WRITE_TOUT		(5*CONFIG_SYS_HZ)
1186d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAX_DATAFLASH_BANKS		1
1196d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000	/* CS0 */
1202118ebb4SStelian Pop #define AT91_SPI_CLK				15000000
1212118ebb4SStelian Pop #define DATAFLASH_TCSS				(0x1a << 16)
1222118ebb4SStelian Pop #define DATAFLASH_TCHS				(0x1 << 24)
1232118ebb4SStelian Pop 
1242118ebb4SStelian Pop /* NOR flash - not present */
1256d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NO_FLASH			1
1262118ebb4SStelian Pop 
1272118ebb4SStelian Pop /* NAND flash */
12874c076d6SJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_CMD_NAND
12974c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_NAND_ATMEL
1306d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAX_NAND_DEVICE		1
13121d671d0SXu, Hong #define CONFIG_SYS_NAND_BASE			ATMEL_BASE_CS3
1326d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_DBW_8			1
13374c076d6SJean-Christophe PLAGNIOL-VILLARD /* our ALE is AD21 */
13474c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_MASK_ALE		(1 << 21)
13574c076d6SJean-Christophe PLAGNIOL-VILLARD /* our CLE is AD22 */
13674c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_MASK_CLE		(1 << 22)
13774c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_ENABLE_PIN		AT91_PIN_PB6
13874c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_READY_PIN		AT91_PIN_PD17
1392eb99ca8SWolfgang Denk 
14074c076d6SJean-Christophe PLAGNIOL-VILLARD #endif
1412118ebb4SStelian Pop 
1422118ebb4SStelian Pop /* Ethernet - not present */
1432118ebb4SStelian Pop 
1442118ebb4SStelian Pop /* USB - not supported */
1452118ebb4SStelian Pop 
1466d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR			0x22000000	/* load address */
1472118ebb4SStelian Pop 
14821d671d0SXu, Hong #define CONFIG_SYS_MEMTEST_START		CONFIG_SYS_SDRAM_BASE
1496d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END			0x23e00000
1502118ebb4SStelian Pop 
1516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_USE_DATAFLASH
1522118ebb4SStelian Pop 
1532118ebb4SStelian Pop /* bootstrap + u-boot + env + linux in dataflash on CS0 */
154057c849cSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_DATAFLASH	1
1556d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
1560e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_OFFSET		0x4200
1576d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_ADDR		(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
1580e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE		0x4200
159e139cb31SAlexandre Belloni #define CONFIG_BOOTCOMMAND	"cp.b 0xC0084000 0x22000000 0x210000; bootm"
1602118ebb4SStelian Pop #define CONFIG_BOOTARGS		"console=ttyS0,115200 " \
1612118ebb4SStelian Pop 				"root=/dev/mtdblock0 " \
162918319c7SAlbin Tonnerre 				"mtdparts=atmel_nand:-(root) "\
1632118ebb4SStelian Pop 				"rw rootfstype=jffs2"
1642118ebb4SStelian Pop 
1656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #else /* CONFIG_SYS_USE_NANDFLASH */
1662118ebb4SStelian Pop 
1672118ebb4SStelian Pop /* bootstrap + u-boot + env + linux in nandflash */
16851bfee19SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_NAND		1
1690e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_OFFSET		0x60000
1700e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_OFFSET_REDUND	0x80000
1710e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE		0x20000		/* 1 sector = 128 kB */
1722118ebb4SStelian Pop #define CONFIG_BOOTCOMMAND	"nand read 0x22000000 0xA0000 0x200000; bootm"
1732118ebb4SStelian Pop #define CONFIG_BOOTARGS		"console=ttyS0,115200 " \
1742118ebb4SStelian Pop 				"root=/dev/mtdblock5 " \
175918319c7SAlbin Tonnerre 				"mtdparts=atmel_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) " \
1762118ebb4SStelian Pop 				"rw rootfstype=jffs2"
1772118ebb4SStelian Pop 
1782118ebb4SStelian Pop #endif
1792118ebb4SStelian Pop 
1806d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PROMPT		"U-Boot> "
1816d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CBSIZE		256
1826d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAXARGS		16
1836d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
1846d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LONGHELP		1
1852118ebb4SStelian Pop #define CONFIG_CMDLINE_EDITING		1
186e139cb31SAlexandre Belloni #define CONFIG_AUTO_COMPLETE
1872118ebb4SStelian Pop 
1882118ebb4SStelian Pop /*
1892118ebb4SStelian Pop  * Size of malloc() pool
1902118ebb4SStelian Pop  */
1916d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MALLOC_LEN	ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
1922118ebb4SStelian Pop 
1932118ebb4SStelian Pop #endif
194