xref: /rk3399_rockchip-uboot/include/configs/at91sam9rlek.h (revision 111ec4c65208bb13f3957d5a1c84b228eb83bdde)
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  *
81a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
92118ebb4SStelian Pop  */
102118ebb4SStelian Pop 
112118ebb4SStelian Pop #ifndef __CONFIG_H
122118ebb4SStelian Pop #define __CONFIG_H
132118ebb4SStelian Pop 
1421d671d0SXu, Hong #include <asm/hardware.h>
1521d671d0SXu, Hong 
1621d671d0SXu, Hong #define CONFIG_SYS_TEXT_BASE		0x21F00000
17425de62dSJens Scharsig 
182118ebb4SStelian Pop /* ARM asynchronous clock */
1921d671d0SXu, Hong #define CONFIG_SYS_AT91_SLOW_CLOCK	32768		/* slow clock xtal */
2021d671d0SXu, Hong #define CONFIG_SYS_AT91_MAIN_CLOCK	12000000	/* main clock xtal */
212118ebb4SStelian Pop 
2221d671d0SXu, Hong #define CONFIG_AT91SAM9RLEK		1	/* It's an AT91SAM9RLEK Board */
2321d671d0SXu, Hong 
24dc39ae95SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ARCH_CPU_INIT
2521d671d0SXu, Hong #define CONFIG_SKIP_LOWLEVEL_INIT
2621d671d0SXu, Hong #define CONFIG_BOARD_EARLY_INIT_F
272118ebb4SStelian Pop 
282118ebb4SStelian Pop #define CONFIG_CMDLINE_TAG		1	/* enable passing of ATAGs */
292118ebb4SStelian Pop #define CONFIG_SETUP_MEMORY_TAGS	1
302118ebb4SStelian Pop #define CONFIG_INITRD_TAG		1
312118ebb4SStelian Pop 
3221d671d0SXu, Hong #define CONFIG_DISPLAY_CPUINFO
3321d671d0SXu, Hong 
34f9129fe3SNicolas Ferre #define CONFIG_CMD_BOOTZ
3536873e7dSNicolas Ferre #define CONFIG_OF_LIBFDT
3636873e7dSNicolas Ferre 
37015b18c6SWu, Josh #define CONFIG_SYS_GENERIC_BOARD
38015b18c6SWu, Josh 
3921d671d0SXu, Hong #define CONFIG_ATMEL_LEGACY
4021d671d0SXu, Hong #define CONFIG_AT91_GPIO		1
4121d671d0SXu, Hong #define CONFIG_AT91_GPIO_PULLUP		1
422118ebb4SStelian Pop 
432118ebb4SStelian Pop /*
442118ebb4SStelian Pop  * Hardware drivers
452118ebb4SStelian Pop  */
4621d671d0SXu, Hong 
4721d671d0SXu, Hong /* serial console */
4821d671d0SXu, Hong #define CONFIG_ATMEL_USART
4921d671d0SXu, Hong #define CONFIG_USART_BASE		ATMEL_BASE_DBGU
5021d671d0SXu, Hong #define CONFIG_USART_ID			ATMEL_ID_SYS
5121d671d0SXu, Hong #define CONFIG_BAUDRATE			115200
522118ebb4SStelian Pop 
53761c70b8SStelian Pop /* LCD */
54761c70b8SStelian Pop #define CONFIG_LCD			1
55761c70b8SStelian Pop #define LCD_BPP				LCD_COLOR8
56761c70b8SStelian Pop #define CONFIG_LCD_LOGO			1
57761c70b8SStelian Pop #undef LCD_TEST_PATTERN
58761c70b8SStelian Pop #define CONFIG_LCD_INFO			1
59761c70b8SStelian Pop #define CONFIG_LCD_INFO_BELOW_LOGO	1
606d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_WHITE_ON_BLACK	1
61761c70b8SStelian Pop #define CONFIG_ATMEL_LCD		1
62761c70b8SStelian Pop #define CONFIG_ATMEL_LCD_RGB565		1
6321d671d0SXu, Hong /* Let board_init_f handle the framebuffer allocation */
6421d671d0SXu, Hong #undef CONFIG_FB_ADDR
656d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_CONSOLE_IS_IN_ENV	1
66761c70b8SStelian Pop 
6721d671d0SXu, Hong 
68a484b00bSJean-Christophe PLAGNIOL-VILLARD /* LED */
69a484b00bSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_AT91_LED
70a484b00bSJean-Christophe PLAGNIOL-VILLARD #define	CONFIG_RED_LED		AT91_PIN_PD14	/* this is the power led */
71a484b00bSJean-Christophe PLAGNIOL-VILLARD #define	CONFIG_GREEN_LED	AT91_PIN_PD15	/* this is the user1 led */
72a484b00bSJean-Christophe PLAGNIOL-VILLARD #define	CONFIG_YELLOW_LED	AT91_PIN_PD16	/* this is the user2 led */
73a484b00bSJean-Christophe PLAGNIOL-VILLARD 
742118ebb4SStelian Pop #define CONFIG_BOOTDELAY	3
752118ebb4SStelian Pop 
762118ebb4SStelian Pop /*
772118ebb4SStelian Pop  * Command line configuration.
782118ebb4SStelian Pop  */
792118ebb4SStelian Pop #include <config_cmd_default.h>
802118ebb4SStelian Pop #undef CONFIG_CMD_BDI
812118ebb4SStelian Pop #undef CONFIG_CMD_FPGA
8274de7aefSWolfgang Denk #undef CONFIG_CMD_IMI
832118ebb4SStelian Pop #undef CONFIG_CMD_IMLS
8474de7aefSWolfgang Denk #undef CONFIG_CMD_LOADS
852118ebb4SStelian Pop #undef CONFIG_CMD_NET
8621d671d0SXu, Hong #undef CONFIG_CMD_NFS
8774de7aefSWolfgang Denk #undef CONFIG_CMD_SOURCE
882118ebb4SStelian Pop #undef CONFIG_CMD_USB
892118ebb4SStelian Pop 
902118ebb4SStelian Pop #define CONFIG_CMD_NAND			1
912118ebb4SStelian Pop 
922118ebb4SStelian Pop /* SDRAM */
932118ebb4SStelian Pop #define CONFIG_NR_DRAM_BANKS		1
9421d671d0SXu, Hong #define CONFIG_SYS_SDRAM_BASE		ATMEL_BASE_CS1
9521d671d0SXu, Hong #define CONFIG_SYS_SDRAM_SIZE		0x04000000
9621d671d0SXu, Hong 
9721d671d0SXu, Hong #define CONFIG_SYS_INIT_SP_ADDR \
9821d671d0SXu, Hong 	(ATMEL_BASE_SRAM + 0x1000 - GENERATED_GBL_DATA_SIZE)
992118ebb4SStelian Pop 
1002118ebb4SStelian Pop /* DataFlash */
1014758ebddSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ATMEL_DATAFLASH_SPI
1022118ebb4SStelian Pop #define CONFIG_HAS_DATAFLASH			1
1036d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAX_DATAFLASH_BANKS		1
1046d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0	0xC0000000	/* CS0 */
1052118ebb4SStelian Pop #define AT91_SPI_CLK				15000000
1062118ebb4SStelian Pop #define DATAFLASH_TCSS				(0x1a << 16)
1072118ebb4SStelian Pop #define DATAFLASH_TCHS				(0x1 << 24)
1082118ebb4SStelian Pop 
1092118ebb4SStelian Pop /* NOR flash - not present */
1106d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NO_FLASH			1
1112118ebb4SStelian Pop 
1122118ebb4SStelian Pop /* NAND flash */
11374c076d6SJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_CMD_NAND
11474c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_NAND_ATMEL
1156d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MAX_NAND_DEVICE		1
11621d671d0SXu, Hong #define CONFIG_SYS_NAND_BASE			ATMEL_BASE_CS3
1176d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_DBW_8			1
11874c076d6SJean-Christophe PLAGNIOL-VILLARD /* our ALE is AD21 */
11974c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_MASK_ALE		(1 << 21)
12074c076d6SJean-Christophe PLAGNIOL-VILLARD /* our CLE is AD22 */
12174c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_MASK_CLE		(1 << 22)
12274c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_ENABLE_PIN		AT91_PIN_PB6
12374c076d6SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_NAND_READY_PIN		AT91_PIN_PD17
1242eb99ca8SWolfgang Denk 
12574c076d6SJean-Christophe PLAGNIOL-VILLARD #endif
1262118ebb4SStelian Pop 
127*111ec4c6SWu, Josh /* MMC */
128*111ec4c6SWu, Josh #define CONFIG_CMD_MMC
129*111ec4c6SWu, Josh 
130*111ec4c6SWu, Josh #ifdef CONFIG_CMD_MMC
131*111ec4c6SWu, Josh #define CONFIG_MMC
132*111ec4c6SWu, Josh #define CONFIG_GENERIC_MMC
133*111ec4c6SWu, Josh #define CONFIG_GENERIC_ATMEL_MCI
134*111ec4c6SWu, Josh #define CONFIG_CMD_FAT
135*111ec4c6SWu, Josh #define CONFIG_DOS_PARTITION
136*111ec4c6SWu, Josh #endif
137*111ec4c6SWu, Josh 
1382118ebb4SStelian Pop /* Ethernet - not present */
1392118ebb4SStelian Pop 
1402118ebb4SStelian Pop /* USB - not supported */
1412118ebb4SStelian Pop 
1426d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_LOAD_ADDR			0x22000000	/* load address */
1432118ebb4SStelian Pop 
14421d671d0SXu, Hong #define CONFIG_SYS_MEMTEST_START		CONFIG_SYS_SDRAM_BASE
1456d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MEMTEST_END			0x23e00000
1462118ebb4SStelian Pop 
1476d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #ifdef CONFIG_SYS_USE_DATAFLASH
1482118ebb4SStelian Pop 
1492118ebb4SStelian Pop /* bootstrap + u-boot + env + linux in dataflash on CS0 */
150057c849cSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_DATAFLASH	1
1516d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_SYS_MONITOR_BASE	(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
1520e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_OFFSET		0x4200
1536d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_ADDR		(CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
1540e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE		0x4200
155e139cb31SAlexandre Belloni #define CONFIG_BOOTCOMMAND	"cp.b 0xC0084000 0x22000000 0x210000; bootm"
1562118ebb4SStelian Pop #define CONFIG_BOOTARGS		"console=ttyS0,115200 " \
1572118ebb4SStelian Pop 				"root=/dev/mtdblock0 " \
158918319c7SAlbin Tonnerre 				"mtdparts=atmel_nand:-(root) "\
1592118ebb4SStelian Pop 				"rw rootfstype=jffs2"
1602118ebb4SStelian Pop 
1616d0f6bcfSJean-Christophe PLAGNIOL-VILLARD #else /* CONFIG_SYS_USE_NANDFLASH */
1622118ebb4SStelian Pop 
1632118ebb4SStelian Pop /* bootstrap + u-boot + env + linux in nandflash */
16451bfee19SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_IS_IN_NAND		1
16565b553b7SWu, Josh #define CONFIG_ENV_OFFSET		0xc0000
16665b553b7SWu, Josh #define CONFIG_ENV_OFFSET_REDUND	0x100000
1670e8d1586SJean-Christophe PLAGNIOL-VILLARD #define CONFIG_ENV_SIZE		0x20000		/* 1 sector = 128 kB */
16865b553b7SWu, Josh #define CONFIG_BOOTCOMMAND	"nand read 0x22000000 0x200000 0x600000; "	\
16965b553b7SWu, Josh 				"nand read 0x21000000 0x180000 0x80000; "	\
17065b553b7SWu, Josh 				"bootz 0x22000000 - 0x21000000"
17165b553b7SWu, Josh #define CONFIG_BOOTARGS		\
17265b553b7SWu, Josh 				"console=ttyS0,115200 earlyprintk "				\
17365b553b7SWu, Josh 				"mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro,"		\
17465b553b7SWu, Josh 				"256K(env),256k(evn_redundent),256k(spare),"			\
17565b553b7SWu, Josh 				"512k(dtb),6M(kernel)ro,-(rootfs) "				\
17665b553b7SWu, Josh 				"rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs"
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