xref: /rk3399_rockchip-uboot/include/configs/am335x_igep003x.h (revision a96c08f509da6c2ba38abe7dd6f8f092df1e0ca5)
1 /*
2  * Copyright (C) 2013, ISEE 2007 SL - http://www.isee.biz/
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License as
6  * published by the Free Software Foundation version 2.
7  *
8  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
9  * kind, whether express or implied; without even the implied warranty
10  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11  * GNU General Public License for more details.
12  */
13 
14 #ifndef __CONFIG_IGEP003X_H
15 #define __CONFIG_IGEP003X_H
16 
17 #define CONFIG_NAND
18 #include <configs/ti_am335x_common.h>
19 
20 /* Clock defines */
21 #define V_OSCK				24000000  /* Clock output from T2 */
22 #define V_SCLK				(V_OSCK)
23 
24 #define CONFIG_ENV_SIZE			(128 << 10)	/* 128 KiB */
25 
26 /* Make the verbose messages from UBI stop printing */
27 #define CONFIG_UBI_SILENCE_MSG
28 #define CONFIG_UBIFS_SILENCE_MSG
29 
30 #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
31 
32 #ifndef CONFIG_SPL_BUILD
33 #define CONFIG_EXTRA_ENV_SETTINGS \
34 	DEFAULT_LINUX_BOOT_ENV \
35 	"bootdir=/boot\0" \
36 	"bootfile=zImage\0" \
37 	"dtbfile=am335x-base0033.dtb\0" \
38 	"console=ttyO0,115200n8\0" \
39 	"mmcdev=0\0" \
40 	"mmcroot=/dev/mmcblk0p2 rw\0" \
41 	"mmcrootfstype=ext4 rootwait\0" \
42 	"mmcargs=setenv bootargs console=${console} " \
43 		"${optargs} " \
44 		"root=${mmcroot} " \
45 		"rootfstype=${mmcrootfstype}\0" \
46 		"bootenv=uEnv.txt\0" \
47 	"loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
48 	"importbootenv=echo Importing environment from mmc ...; " \
49 		"env import -t ${loadaddr} ${filesize}\0" \
50 	"mmcload=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}; " \
51 		"load mmc ${mmcdev}:2 ${fdtaddr} ${bootdir}/${dtbfile}\0" \
52 	"mmcboot=mmc dev ${mmcdev}; " \
53 		"if mmc rescan; then " \
54 			"echo SD/MMC found on device ${mmcdev};" \
55 			"if run loadbootenv; then " \
56 				"echo Loaded environment from ${bootenv};" \
57 				"run importbootenv;" \
58 			"fi;" \
59 			"if test -n $uenvcmd; then " \
60 				"echo Running uenvcmd ...;" \
61 				"run uenvcmd;" \
62 			"fi;" \
63 			"if run mmcload; then " \
64 				"run mmcargs; " \
65 				"bootz ${loadaddr} - ${fdtaddr};" \
66 			"fi;" \
67 		"fi;\0" \
68 	"mtdids=" MTDIDS_DEFAULT "\0" \
69 	"mtdparts=" MTDPARTS_DEFAULT "\0" \
70 	"nandroot=ubi0:filesystem rw ubi.mtd=3,2048\0" \
71 	"nandrootfstype=ubifs rootwait\0" \
72 	"nandload=ubi part filesystem 2048; ubifsmount ubi0; " \
73 		"ubifsload ${loadaddr} ${bootdir}/${bootfile}; " \
74 		"ubifsload ${fdtaddr} ${bootdir}/${dtbfile} \0" \
75 	"nandargs=setenv bootargs console=${console} " \
76 		"${optargs} " \
77 		"root=${nandroot} " \
78 		"rootfstype=${nandrootfstype} \0" \
79 	"nandboot=echo Booting from nand ...; " \
80 		"run nandargs; " \
81 		"run nandload; " \
82 		"bootz ${loadaddr} - ${fdtaddr} \0"
83 #endif
84 
85 #define CONFIG_BOOTCOMMAND \
86 	"run mmcboot;" \
87 	"run nandboot;"
88 
89 /* NS16550 Configuration */
90 #define CONFIG_SYS_NS16550_COM1		0x44e09000	/* UART0 */
91 #define CONFIG_CONS_INDEX		1
92 
93 /* Ethernet support */
94 #define CONFIG_PHYLIB
95 #define CONFIG_PHY_SMSC
96 
97 /* NAND support */
98 #define CONFIG_NAND_OMAP_ELM
99 #define CONFIG_SYS_NAND_ONFI_DETECTION	1
100 #define CONFIG_SYS_ENV_SECT_SIZE	(128 << 10)	/* 128 KiB */
101 #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
102 #define CONFIG_ENV_IS_IN_NAND
103 #define CONFIG_ENV_OFFSET		0x180000 /* environment starts here */
104 #define CONFIG_ENV_ADDR_REDUND		(CONFIG_ENV_OFFSET + CONFIG_SYS_ENV_SECT_SIZE)
105 #define CONFIG_ENV_SIZE_REDUND		(CONFIG_ENV_SIZE)
106 
107 #define CONFIG_MTD_PARTITIONS
108 #define CONFIG_MTD_DEVICE
109 #define CONFIG_RBTREE
110 #define CONFIG_LZO
111 
112 #define MTDIDS_DEFAULT			"nand0=omap2-nand.0"
113 #define MTDPARTS_DEFAULT		"mtdparts=omap2-nand.0:512k(spl),"\
114 					"1m(uboot),256k(environment),"\
115 					"-(filesystem)"
116 
117 /* SPL */
118 #define CONFIG_SPL_LDSCRIPT		"arch/arm/mach-omap2/am33xx/u-boot-spl.lds"
119 
120 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
121 #define CONFIG_SYS_NAND_PAGE_COUNT	(CONFIG_SYS_NAND_BLOCK_SIZE / \
122 					 CONFIG_SYS_NAND_PAGE_SIZE)
123 #define CONFIG_SYS_NAND_PAGE_SIZE	2048
124 #define CONFIG_SYS_NAND_OOBSIZE		64
125 #define CONFIG_SYS_NAND_BLOCK_SIZE	(128*1024)
126 #define CONFIG_SYS_NAND_BAD_BLOCK_POS	NAND_LARGE_BADBLOCK_POS
127 #define CONFIG_SYS_NAND_ECCPOS		{ 2, 3, 4, 5, 6, 7, 8, 9, \
128 					 10, 11, 12, 13, 14, 15, 16, 17, \
129 					 18, 19, 20, 21, 22, 23, 24, 25, \
130 					 26, 27, 28, 29, 30, 31, 32, 33, \
131 					 34, 35, 36, 37, 38, 39, 40, 41, \
132 					 42, 43, 44, 45, 46, 47, 48, 49, \
133 					 50, 51, 52, 53, 54, 55, 56, 57, }
134 
135 #define CONFIG_SYS_NAND_ECCSIZE		512
136 #define CONFIG_SYS_NAND_ECCBYTES	14
137 #define CONFIG_NAND_OMAP_ECCSCHEME	OMAP_ECC_BCH8_CODE_HW
138 
139 #define	CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
140 
141 #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000
142 
143 #endif	/* ! __CONFIG_IGEP003X_H */
144