xref: /rk3399_rockchip-uboot/include/configs/am335x_igep003x.h (revision 577968e5669858e1d5bcb651ab28d60d20166252)
1a96c08f5SLadislav Michl /*
2a96c08f5SLadislav Michl  * Copyright (C) 2013, ISEE 2007 SL - http://www.isee.biz/
3a96c08f5SLadislav Michl  *
4a96c08f5SLadislav Michl  * This program is free software; you can redistribute it and/or
5a96c08f5SLadislav Michl  * modify it under the terms of the GNU General Public License as
6a96c08f5SLadislav Michl  * published by the Free Software Foundation version 2.
7a96c08f5SLadislav Michl  *
8a96c08f5SLadislav Michl  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9a96c08f5SLadislav Michl  * kind, whether express or implied; without even the implied warranty
10a96c08f5SLadislav Michl  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11a96c08f5SLadislav Michl  * GNU General Public License for more details.
12a96c08f5SLadislav Michl  */
13a96c08f5SLadislav Michl 
14a96c08f5SLadislav Michl #ifndef __CONFIG_IGEP003X_H
15a96c08f5SLadislav Michl #define __CONFIG_IGEP003X_H
16a96c08f5SLadislav Michl 
17a96c08f5SLadislav Michl #include <configs/ti_am335x_common.h>
18a96c08f5SLadislav Michl 
19a96c08f5SLadislav Michl /* Clock defines */
20a96c08f5SLadislav Michl #define V_OSCK				24000000  /* Clock output from T2 */
21a96c08f5SLadislav Michl #define V_SCLK				(V_OSCK)
22a96c08f5SLadislav Michl 
233607e0f8SLadislav Michl #define CONFIG_ENV_SIZE			(96 << 10)	/*  96 KiB */
24a96c08f5SLadislav Michl 
25a96c08f5SLadislav Michl #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
26a96c08f5SLadislav Michl 
27a96c08f5SLadislav Michl #ifndef CONFIG_SPL_BUILD
28a96c08f5SLadislav Michl #define CONFIG_EXTRA_ENV_SETTINGS \
29a96c08f5SLadislav Michl 	DEFAULT_LINUX_BOOT_ENV \
30a96c08f5SLadislav Michl 	"bootdir=/boot\0" \
31a96c08f5SLadislav Michl 	"bootfile=zImage\0" \
32a96c08f5SLadislav Michl 	"console=ttyO0,115200n8\0" \
33a96c08f5SLadislav Michl 	"mmcdev=0\0" \
34a96c08f5SLadislav Michl 	"mmcroot=/dev/mmcblk0p2 rw\0" \
35a96c08f5SLadislav Michl 	"mmcrootfstype=ext4 rootwait\0" \
36a96c08f5SLadislav Michl 	"mmcargs=setenv bootargs console=${console} " \
37a96c08f5SLadislav Michl 		"${optargs} " \
38a96c08f5SLadislav Michl 		"root=${mmcroot} " \
39a96c08f5SLadislav Michl 		"rootfstype=${mmcrootfstype}\0" \
40a96c08f5SLadislav Michl 		"bootenv=uEnv.txt\0" \
41a96c08f5SLadislav Michl 	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
42a96c08f5SLadislav Michl 	"importbootenv=echo Importing environment from mmc ...; " \
43a96c08f5SLadislav Michl 		"env import -t ${loadaddr} ${filesize}\0" \
44a96c08f5SLadislav Michl 	"mmcload=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}; " \
4509533e5dSPau Pajuelo 		"load mmc ${mmcdev}:2 ${fdtaddr} ${bootdir}/${fdtfile}\0" \
46a96c08f5SLadislav Michl 	"mmcboot=mmc dev ${mmcdev}; " \
47a96c08f5SLadislav Michl 		"if mmc rescan; then " \
48a96c08f5SLadislav Michl 			"echo SD/MMC found on device ${mmcdev};" \
49a96c08f5SLadislav Michl 			"if run loadbootenv; then " \
50a96c08f5SLadislav Michl 				"echo Loaded environment from ${bootenv};" \
51a96c08f5SLadislav Michl 				"run importbootenv;" \
52a96c08f5SLadislav Michl 			"fi;" \
53a96c08f5SLadislav Michl 			"if test -n $uenvcmd; then " \
54a96c08f5SLadislav Michl 				"echo Running uenvcmd ...;" \
55a96c08f5SLadislav Michl 				"run uenvcmd;" \
56a96c08f5SLadislav Michl 			"fi;" \
57a96c08f5SLadislav Michl 			"if run mmcload; then " \
58a96c08f5SLadislav Michl 				"run mmcargs; " \
59a96c08f5SLadislav Michl 				"bootz ${loadaddr} - ${fdtaddr};" \
60a96c08f5SLadislav Michl 			"fi;" \
61a96c08f5SLadislav Michl 		"fi;\0" \
62a96c08f5SLadislav Michl 	"mtdids=" MTDIDS_DEFAULT "\0" \
63a96c08f5SLadislav Michl 	"mtdparts=" MTDPARTS_DEFAULT "\0" \
643607e0f8SLadislav Michl 	"nandroot=ubi0:rootfs rw ubi.mtd=1\0" \
65a96c08f5SLadislav Michl 	"nandrootfstype=ubifs rootwait\0" \
663607e0f8SLadislav Michl 	"nandload=ubi part UBI; " \
673607e0f8SLadislav Michl 		"ubi read ${loadaddr} kernel; " \
683607e0f8SLadislav Michl 		"ubi read ${fdtaddr} dtb \0" \
69a96c08f5SLadislav Michl 	"nandargs=setenv bootargs console=${console} " \
70a96c08f5SLadislav Michl 		"${optargs} " \
71a96c08f5SLadislav Michl 		"root=${nandroot} " \
72a96c08f5SLadislav Michl 		"rootfstype=${nandrootfstype} \0" \
73a96c08f5SLadislav Michl 	"nandboot=echo Booting from nand ...; " \
74a96c08f5SLadislav Michl 		"run nandargs; " \
75a96c08f5SLadislav Michl 		"run nandload; " \
7609533e5dSPau Pajuelo 		"bootz ${loadaddr} - ${fdtaddr} \0" \
77*2e0c6f38SPau Pajuelo 	"netload=tftpboot ${loadaddr} ${bootfile}; " \
78*2e0c6f38SPau Pajuelo 		"tftpboot ${fdtaddr} ${fdtfile} \0" \
79*2e0c6f38SPau Pajuelo 	"netargs=setenv bootargs console=${console} " \
80*2e0c6f38SPau Pajuelo 		"${optargs} " \
81*2e0c6f38SPau Pajuelo 		"root=/dev/nfs " \
82*2e0c6f38SPau Pajuelo 		"ip=${ipaddr} nfsroot=${serverip}:${rootnfs},v3,tcp \0" \
83*2e0c6f38SPau Pajuelo 	"netboot=echo Booting from net ...; " \
84*2e0c6f38SPau Pajuelo 		"run netargs; " \
85*2e0c6f38SPau Pajuelo 		"run netload; " \
86*2e0c6f38SPau Pajuelo 		"bootz ${loadaddr} - ${fdtaddr} \0" \
8709533e5dSPau Pajuelo 	"findfdt="\
8809533e5dSPau Pajuelo 		"if test ${board_name} = igep0033; then " \
8909533e5dSPau Pajuelo 			"setenv fdtfile am335x-igep-base0033.dtb; fi; " \
9009533e5dSPau Pajuelo 		"if test ${board_name} = igep0034; then " \
9109533e5dSPau Pajuelo 			"setenv fdtfile am335x-igep-base0040.dtb; fi; " \
9209533e5dSPau Pajuelo 		"if test ${board_name} = igep0034-lite; then " \
9309533e5dSPau Pajuelo 			"setenv fdtfile am335x-igep-base0040-lite.dtb; fi; " \
9409533e5dSPau Pajuelo 		"if test ${fdtfile} = ''; then " \
9509533e5dSPau Pajuelo 			"echo WARNING: Could not determine device tree to use; fi; \0"
96a96c08f5SLadislav Michl #endif
97a96c08f5SLadislav Michl 
98a96c08f5SLadislav Michl #define CONFIG_BOOTCOMMAND \
9909533e5dSPau Pajuelo 	"run findfdt;" \
100a96c08f5SLadislav Michl 	"run mmcboot;" \
101*2e0c6f38SPau Pajuelo 	"run nandboot;" \
102*2e0c6f38SPau Pajuelo 	"run netboot;"
103a96c08f5SLadislav Michl 
104a96c08f5SLadislav Michl /* NS16550 Configuration */
105a96c08f5SLadislav Michl #define CONFIG_SYS_NS16550_COM1		0x44e09000	/* UART0 */
106a96c08f5SLadislav Michl #define CONFIG_CONS_INDEX		1
107a96c08f5SLadislav Michl 
108a96c08f5SLadislav Michl /* Ethernet support */
109a96c08f5SLadislav Michl #define CONFIG_PHY_SMSC
110a96c08f5SLadislav Michl 
111a96c08f5SLadislav Michl /* NAND support */
112a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_ONFI_DETECTION	1
113a96c08f5SLadislav Michl 
114a96c08f5SLadislav Michl /* SPL */
115a96c08f5SLadislav Michl 
1163607e0f8SLadislav Michl /* UBI configuration */
1173607e0f8SLadislav Michl #define CONFIG_SPL_UBI			1
1183607e0f8SLadislav Michl #define CONFIG_SPL_UBI_MAX_VOL_LEBS	256
1193607e0f8SLadislav Michl #define CONFIG_SPL_UBI_MAX_PEB_SIZE	(256*1024)
1203607e0f8SLadislav Michl #define CONFIG_SPL_UBI_MAX_PEBS		4096
1213607e0f8SLadislav Michl #define CONFIG_SPL_UBI_VOL_IDS		8
1223607e0f8SLadislav Michl #define CONFIG_SPL_UBI_LOAD_MONITOR_ID	0
1233607e0f8SLadislav Michl #define CONFIG_SPL_UBI_LOAD_KERNEL_ID	3
1243607e0f8SLadislav Michl #define CONFIG_SPL_UBI_LOAD_ARGS_ID	4
1253607e0f8SLadislav Michl #define CONFIG_SPL_UBI_PEB_OFFSET	4
1263607e0f8SLadislav Michl #define CONFIG_SPL_UBI_VID_OFFSET	512
1273607e0f8SLadislav Michl #define CONFIG_SPL_UBI_LEB_START	2048
1283607e0f8SLadislav Michl #define CONFIG_SPL_UBI_INFO_ADDR	0x88080000
1293607e0f8SLadislav Michl 
1303607e0f8SLadislav Michl /* environment organization */
1313607e0f8SLadislav Michl #define CONFIG_ENV_UBI_PART		"UBI"
1323607e0f8SLadislav Michl #define CONFIG_ENV_UBI_VOLUME		"config"
1333607e0f8SLadislav Michl #define CONFIG_ENV_UBI_VOLUME_REDUND	"config_r"
1343607e0f8SLadislav Michl 
1353607e0f8SLadislav Michl /* NAND config */
136a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_5_ADDR_CYCLE
137a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_PAGE_COUNT	(CONFIG_SYS_NAND_BLOCK_SIZE / \
138a96c08f5SLadislav Michl 					 CONFIG_SYS_NAND_PAGE_SIZE)
139a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_PAGE_SIZE	2048
140a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_OOBSIZE		64
141a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_BLOCK_SIZE	(128*1024)
142a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_BAD_BLOCK_POS	NAND_LARGE_BADBLOCK_POS
143a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_ECCPOS		{ 2, 3, 4, 5, 6, 7, 8, 9, \
144a96c08f5SLadislav Michl 					 10, 11, 12, 13, 14, 15, 16, 17, \
145a96c08f5SLadislav Michl 					 18, 19, 20, 21, 22, 23, 24, 25, \
146a96c08f5SLadislav Michl 					 26, 27, 28, 29, 30, 31, 32, 33, \
147a96c08f5SLadislav Michl 					 34, 35, 36, 37, 38, 39, 40, 41, \
148a96c08f5SLadislav Michl 					 42, 43, 44, 45, 46, 47, 48, 49, \
149a96c08f5SLadislav Michl 					 50, 51, 52, 53, 54, 55, 56, 57, }
150a96c08f5SLadislav Michl 
151a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_ECCSIZE		512
152a96c08f5SLadislav Michl #define CONFIG_SYS_NAND_ECCBYTES	14
153a96c08f5SLadislav Michl #define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH8_CODE_HW
154a96c08f5SLadislav Michl 
155a96c08f5SLadislav Michl #endif	/* ! __CONFIG_IGEP003X_H */
156