xref: /rk3399_rockchip-uboot/include/configs/mcx.h (revision 4ab779cba6bd4c22385aa1c5f00e75ab8c02ce76)
1*4ab779cbSIlya Yanok /*
2*4ab779cbSIlya Yanok  * Copyright (C) 2011 Ilya Yanok, Emcraft Systems
3*4ab779cbSIlya Yanok  *
4*4ab779cbSIlya Yanok  * Based on omap3_evm_config.h
5*4ab779cbSIlya Yanok  *
6*4ab779cbSIlya Yanok  * This program is free software; you can redistribute it and/or modify
7*4ab779cbSIlya Yanok  * it under the terms of the GNU General Public License as published by
8*4ab779cbSIlya Yanok  * the Free Software Foundation; either version 2 of the License, or
9*4ab779cbSIlya Yanok  * (at your option) any later version.
10*4ab779cbSIlya Yanok  *
11*4ab779cbSIlya Yanok  * This program is distributed in the hope that it will be useful,
12*4ab779cbSIlya Yanok  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13*4ab779cbSIlya Yanok  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*4ab779cbSIlya Yanok  * GNU General Public License for more details.
15*4ab779cbSIlya Yanok  *
16*4ab779cbSIlya Yanok  * You should have received a copy of the GNU General Public License
17*4ab779cbSIlya Yanok  * along with this program; if not, write to the Free Software
18*4ab779cbSIlya Yanok  * Foundation, Inc.
19*4ab779cbSIlya Yanok  */
20*4ab779cbSIlya Yanok 
21*4ab779cbSIlya Yanok #ifndef __CONFIG_H
22*4ab779cbSIlya Yanok #define __CONFIG_H
23*4ab779cbSIlya Yanok 
24*4ab779cbSIlya Yanok /*
25*4ab779cbSIlya Yanok  * High Level Configuration Options
26*4ab779cbSIlya Yanok  */
27*4ab779cbSIlya Yanok #define CONFIG_OMAP			/* in a TI OMAP core */
28*4ab779cbSIlya Yanok #define CONFIG_OMAP34XX			/* which is a 34XX */
29*4ab779cbSIlya Yanok #define CONFIG_OMAP3_MCX		/* working with mcx */
30*4ab779cbSIlya Yanok 
31*4ab779cbSIlya Yanok #define MACH_TYPE_MCX			3656
32*4ab779cbSIlya Yanok #define CONFIG_MACH_TYPE	MACH_TYPE_MCX
33*4ab779cbSIlya Yanok 
34*4ab779cbSIlya Yanok #define CONFIG_SYS_CACHELINE_SIZE	64
35*4ab779cbSIlya Yanok 
36*4ab779cbSIlya Yanok #define CONFIG_EMIF4	/* The chip has EMIF4 controller */
37*4ab779cbSIlya Yanok 
38*4ab779cbSIlya Yanok #include <asm/arch/cpu.h>		/* get chip and board defs */
39*4ab779cbSIlya Yanok #include <asm/arch/omap3.h>
40*4ab779cbSIlya Yanok 
41*4ab779cbSIlya Yanok #define CONFIG_OF_LIBFDT
42*4ab779cbSIlya Yanok #define CONFIG_FIT
43*4ab779cbSIlya Yanok 
44*4ab779cbSIlya Yanok /*
45*4ab779cbSIlya Yanok  * Leave it at 0x80008000 to allow booting new u-boot.bin with X-loader
46*4ab779cbSIlya Yanok  * and older u-boot.bin with the new U-Boot SPL.
47*4ab779cbSIlya Yanok  */
48*4ab779cbSIlya Yanok #define CONFIG_SYS_TEXT_BASE		0x80008000
49*4ab779cbSIlya Yanok 
50*4ab779cbSIlya Yanok /*
51*4ab779cbSIlya Yanok  * Display CPU and Board information
52*4ab779cbSIlya Yanok  */
53*4ab779cbSIlya Yanok #define CONFIG_DISPLAY_CPUINFO
54*4ab779cbSIlya Yanok #define CONFIG_DISPLAY_BOARDINFO
55*4ab779cbSIlya Yanok 
56*4ab779cbSIlya Yanok /* Clock Defines */
57*4ab779cbSIlya Yanok #define V_OSCK			26000000	/* Clock output from T2 */
58*4ab779cbSIlya Yanok #define V_SCLK			(V_OSCK >> 1)
59*4ab779cbSIlya Yanok 
60*4ab779cbSIlya Yanok #define CONFIG_MISC_INIT_R
61*4ab779cbSIlya Yanok 
62*4ab779cbSIlya Yanok #define CONFIG_CMDLINE_TAG			/* enable passing of ATAGs */
63*4ab779cbSIlya Yanok #define CONFIG_SETUP_MEMORY_TAGS
64*4ab779cbSIlya Yanok #define CONFIG_INITRD_TAG
65*4ab779cbSIlya Yanok #define CONFIG_REVISION_TAG
66*4ab779cbSIlya Yanok 
67*4ab779cbSIlya Yanok /*
68*4ab779cbSIlya Yanok  * Size of malloc() pool
69*4ab779cbSIlya Yanok  */
70*4ab779cbSIlya Yanok #define CONFIG_ENV_SIZE			(128 << 10)	/* 128 KiB sector */
71*4ab779cbSIlya Yanok #define CONFIG_SYS_MALLOC_LEN		(1024 << 10)
72*4ab779cbSIlya Yanok /*
73*4ab779cbSIlya Yanok  * DDR related
74*4ab779cbSIlya Yanok  */
75*4ab779cbSIlya Yanok #define CONFIG_SYS_CS0_SIZE		(256 * 1024 * 1024)
76*4ab779cbSIlya Yanok 
77*4ab779cbSIlya Yanok /*
78*4ab779cbSIlya Yanok  * Hardware drivers
79*4ab779cbSIlya Yanok  */
80*4ab779cbSIlya Yanok 
81*4ab779cbSIlya Yanok /*
82*4ab779cbSIlya Yanok  * NS16550 Configuration
83*4ab779cbSIlya Yanok  */
84*4ab779cbSIlya Yanok #define V_NS16550_CLK			48000000	/* 48MHz (APLL96/2) */
85*4ab779cbSIlya Yanok 
86*4ab779cbSIlya Yanok #define CONFIG_SYS_NS16550
87*4ab779cbSIlya Yanok #define CONFIG_SYS_NS16550_SERIAL
88*4ab779cbSIlya Yanok #define CONFIG_SYS_NS16550_REG_SIZE	(-4)
89*4ab779cbSIlya Yanok #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK
90*4ab779cbSIlya Yanok 
91*4ab779cbSIlya Yanok /*
92*4ab779cbSIlya Yanok  * select serial console configuration
93*4ab779cbSIlya Yanok  */
94*4ab779cbSIlya Yanok #define CONFIG_CONS_INDEX		3
95*4ab779cbSIlya Yanok #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3
96*4ab779cbSIlya Yanok #define CONFIG_SERIAL3			3	/* UART3 */
97*4ab779cbSIlya Yanok 
98*4ab779cbSIlya Yanok /* allow to overwrite serial and ethaddr */
99*4ab779cbSIlya Yanok #define CONFIG_ENV_OVERWRITE
100*4ab779cbSIlya Yanok #define CONFIG_BAUDRATE			115200
101*4ab779cbSIlya Yanok #define CONFIG_SYS_BAUDRATE_TABLE	{4800, 9600, 19200, 38400, 57600,\
102*4ab779cbSIlya Yanok 					115200}
103*4ab779cbSIlya Yanok #define CONFIG_MMC
104*4ab779cbSIlya Yanok #define CONFIG_OMAP_HSMMC
105*4ab779cbSIlya Yanok #define CONFIG_GENERIC_MMC
106*4ab779cbSIlya Yanok #define CONFIG_DOS_PARTITION
107*4ab779cbSIlya Yanok 
108*4ab779cbSIlya Yanok /* EHCI */
109*4ab779cbSIlya Yanok #define CONFIG_USB_STORAGE
110*4ab779cbSIlya Yanok #define CONFIG_OMAP3_GPIO_5
111*4ab779cbSIlya Yanok #define CONFIG_USB_EHCI
112*4ab779cbSIlya Yanok #define CONFIG_USB_EHCI_OMAP
113*4ab779cbSIlya Yanok #define CONFIG_USB_ULPI
114*4ab779cbSIlya Yanok #define CONFIG_USB_ULPI_VIEWPORT_OMAP
115*4ab779cbSIlya Yanok /*#define CONFIG_EHCI_DCACHE*/ /* leave it disabled for now */
116*4ab779cbSIlya Yanok #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO	154
117*4ab779cbSIlya Yanok #define CONFIG_OMAP_EHCI_PHY2_RESET_GPIO	152
118*4ab779cbSIlya Yanok #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
119*4ab779cbSIlya Yanok 
120*4ab779cbSIlya Yanok /* commands to include */
121*4ab779cbSIlya Yanok #include <config_cmd_default.h>
122*4ab779cbSIlya Yanok 
123*4ab779cbSIlya Yanok #define CONFIG_CMD_EXT2		/* EXT2 Support			*/
124*4ab779cbSIlya Yanok #define CONFIG_CMD_FAT		/* FAT support			*/
125*4ab779cbSIlya Yanok #define CONFIG_CMD_JFFS2	/* JFFS2 Support		*/
126*4ab779cbSIlya Yanok 
127*4ab779cbSIlya Yanok #define CONFIG_CMD_DATE
128*4ab779cbSIlya Yanok #define CONFIG_CMD_I2C		/* I2C serial bus support	*/
129*4ab779cbSIlya Yanok #define CONFIG_CMD_MMC		/* MMC support			*/
130*4ab779cbSIlya Yanok #define CONFIG_CMD_FAT		/* FAT support			*/
131*4ab779cbSIlya Yanok #define CONFIG_CMD_USB
132*4ab779cbSIlya Yanok #define CONFIG_CMD_NAND		/* NAND support			*/
133*4ab779cbSIlya Yanok #define CONFIG_CMD_DHCP
134*4ab779cbSIlya Yanok #define CONFIG_CMD_PING
135*4ab779cbSIlya Yanok #define CONFIG_CMD_CACHE
136*4ab779cbSIlya Yanok #define CONFIG_CMD_UBI
137*4ab779cbSIlya Yanok #define CONFIG_CMD_UBIFS
138*4ab779cbSIlya Yanok #define CONFIG_RBTREE
139*4ab779cbSIlya Yanok #define CONFIG_LZO
140*4ab779cbSIlya Yanok #define CONFIG_MTD_PARTITIONS
141*4ab779cbSIlya Yanok #define CONFIG_MTD_DEVICE
142*4ab779cbSIlya Yanok #define CONFIG_CMD_MTDPARTS
143*4ab779cbSIlya Yanok 
144*4ab779cbSIlya Yanok #undef CONFIG_CMD_FLASH		/* flinfo, erase, protect	*/
145*4ab779cbSIlya Yanok #undef CONFIG_CMD_FPGA		/* FPGA configuration Support	*/
146*4ab779cbSIlya Yanok #undef CONFIG_CMD_IMI		/* iminfo			*/
147*4ab779cbSIlya Yanok #undef CONFIG_CMD_IMLS		/* List all found images	*/
148*4ab779cbSIlya Yanok 
149*4ab779cbSIlya Yanok #define CONFIG_SYS_NO_FLASH
150*4ab779cbSIlya Yanok #define CONFIG_HARD_I2C
151*4ab779cbSIlya Yanok #define CONFIG_SYS_I2C_SPEED		100000
152*4ab779cbSIlya Yanok #define CONFIG_SYS_I2C_SLAVE		1
153*4ab779cbSIlya Yanok #define CONFIG_SYS_I2C_BUS		0
154*4ab779cbSIlya Yanok #define CONFIG_DRIVER_OMAP34XX_I2C
155*4ab779cbSIlya Yanok 
156*4ab779cbSIlya Yanok /* RTC */
157*4ab779cbSIlya Yanok #define CONFIG_RTC_DS1337
158*4ab779cbSIlya Yanok #define CONFIG_SYS_I2C_RTC_ADDR		0x68
159*4ab779cbSIlya Yanok 
160*4ab779cbSIlya Yanok #define CONFIG_CMD_NET
161*4ab779cbSIlya Yanok #define CONFIG_CMD_MII
162*4ab779cbSIlya Yanok #define CONFIG_CMD_NFS
163*4ab779cbSIlya Yanok /*
164*4ab779cbSIlya Yanok  * Board NAND Info.
165*4ab779cbSIlya Yanok  */
166*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_ADDR		NAND_BASE	/* physical address */
167*4ab779cbSIlya Yanok 							/* to access nand */
168*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_BASE		NAND_BASE	/* physical address */
169*4ab779cbSIlya Yanok 							/* to access */
170*4ab779cbSIlya Yanok 							/* nand at CS0 */
171*4ab779cbSIlya Yanok 
172*4ab779cbSIlya Yanok #define CONFIG_SYS_MAX_NAND_DEVICE	1		/* Max number of */
173*4ab779cbSIlya Yanok 							/* NAND devices */
174*4ab779cbSIlya Yanok #define CONFIG_SYS_64BIT_VSPRINTF		/* needed for nand_util.c */
175*4ab779cbSIlya Yanok 
176*4ab779cbSIlya Yanok #define CONFIG_JFFS2_NAND
177*4ab779cbSIlya Yanok /* nand device jffs2 lives on */
178*4ab779cbSIlya Yanok #define CONFIG_JFFS2_DEV		"nand0"
179*4ab779cbSIlya Yanok /* start of jffs2 partition */
180*4ab779cbSIlya Yanok #define CONFIG_JFFS2_PART_OFFSET	0x680000
181*4ab779cbSIlya Yanok #define CONFIG_JFFS2_PART_SIZE		0xf980000	/* sz of jffs2 part */
182*4ab779cbSIlya Yanok 
183*4ab779cbSIlya Yanok /* Environment information */
184*4ab779cbSIlya Yanok #define CONFIG_BOOTDELAY	10
185*4ab779cbSIlya Yanok 
186*4ab779cbSIlya Yanok #define CONFIG_BOOTFILE		"uImage"
187*4ab779cbSIlya Yanok 
188*4ab779cbSIlya Yanok #define CONFIG_EXTRA_ENV_SETTINGS \
189*4ab779cbSIlya Yanok 	"loadaddr=0x82000000\0" \
190*4ab779cbSIlya Yanok 	"console=ttyO2,115200n8\0" \
191*4ab779cbSIlya Yanok 	"mmcargs=setenv bootargs console=${console} " \
192*4ab779cbSIlya Yanok 		"root=/dev/mmcblk0p2 rw " \
193*4ab779cbSIlya Yanok 		"rootfstype=ext3 rootwait\0" \
194*4ab779cbSIlya Yanok 	"nandargs=setenv bootargs console=${console} " \
195*4ab779cbSIlya Yanok 		"root=/dev/mtdblock4 rw " \
196*4ab779cbSIlya Yanok 		"rootfstype=jffs2\0" \
197*4ab779cbSIlya Yanok 	"loadbootscript=fatload mmc 0 ${loadaddr} boot.scr\0" \
198*4ab779cbSIlya Yanok 	"bootscript=echo Running bootscript from mmc ...; " \
199*4ab779cbSIlya Yanok 		"source ${loadaddr}\0" \
200*4ab779cbSIlya Yanok 	"loaduimage=fatload mmc 0 ${loadaddr} uImage\0" \
201*4ab779cbSIlya Yanok 	"mmcboot=echo Booting from mmc ...; " \
202*4ab779cbSIlya Yanok 		"run mmcargs; " \
203*4ab779cbSIlya Yanok 		"bootm ${loadaddr}\0" \
204*4ab779cbSIlya Yanok 	"nandboot=echo Booting from nand ...; " \
205*4ab779cbSIlya Yanok 		"run nandargs; " \
206*4ab779cbSIlya Yanok 		"nand read ${loadaddr} 280000 400000; " \
207*4ab779cbSIlya Yanok 		"bootm ${loadaddr}\0" \
208*4ab779cbSIlya Yanok 
209*4ab779cbSIlya Yanok #define CONFIG_BOOTCOMMAND \
210*4ab779cbSIlya Yanok 	"if mmc init; then " \
211*4ab779cbSIlya Yanok 		"if run loadbootscript; then " \
212*4ab779cbSIlya Yanok 			"run bootscript; " \
213*4ab779cbSIlya Yanok 		"else " \
214*4ab779cbSIlya Yanok 			"if run loaduimage; then " \
215*4ab779cbSIlya Yanok 				"run mmcboot; " \
216*4ab779cbSIlya Yanok 			"else run nandboot; " \
217*4ab779cbSIlya Yanok 			"fi; " \
218*4ab779cbSIlya Yanok 		"fi; " \
219*4ab779cbSIlya Yanok 	"else run nandboot; fi"
220*4ab779cbSIlya Yanok 
221*4ab779cbSIlya Yanok #define CONFIG_AUTO_COMPLETE
222*4ab779cbSIlya Yanok /*
223*4ab779cbSIlya Yanok  * Miscellaneous configurable options
224*4ab779cbSIlya Yanok  */
225*4ab779cbSIlya Yanok #define V_PROMPT			"mcx # "
226*4ab779cbSIlya Yanok 
227*4ab779cbSIlya Yanok #define CONFIG_SYS_LONGHELP		/* undef to save memory */
228*4ab779cbSIlya Yanok #define CONFIG_SYS_HUSH_PARSER		/* use "hush" command parser */
229*4ab779cbSIlya Yanok #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
230*4ab779cbSIlya Yanok #define CONFIG_SYS_PROMPT		V_PROMPT
231*4ab779cbSIlya Yanok #define CONFIG_SYS_CBSIZE		512	/* Console I/O Buffer Size */
232*4ab779cbSIlya Yanok /* Print Buffer Size */
233*4ab779cbSIlya Yanok #define CONFIG_SYS_PBSIZE		(CONFIG_SYS_CBSIZE + \
234*4ab779cbSIlya Yanok 					sizeof(CONFIG_SYS_PROMPT) + 16)
235*4ab779cbSIlya Yanok #define CONFIG_SYS_MAXARGS		16	/* max number of command */
236*4ab779cbSIlya Yanok 						/* args */
237*4ab779cbSIlya Yanok /* Boot Argument Buffer Size */
238*4ab779cbSIlya Yanok #define CONFIG_SYS_BARGSIZE		(CONFIG_SYS_CBSIZE)
239*4ab779cbSIlya Yanok /* memtest works on */
240*4ab779cbSIlya Yanok #define CONFIG_SYS_MEMTEST_START	(OMAP34XX_SDRC_CS0)
241*4ab779cbSIlya Yanok #define CONFIG_SYS_MEMTEST_END		(OMAP34XX_SDRC_CS0 + \
242*4ab779cbSIlya Yanok 					0x01F00000) /* 31MB */
243*4ab779cbSIlya Yanok 
244*4ab779cbSIlya Yanok #define CONFIG_SYS_LOAD_ADDR		(OMAP34XX_SDRC_CS0) /* default load */
245*4ab779cbSIlya Yanok 								/* address */
246*4ab779cbSIlya Yanok 
247*4ab779cbSIlya Yanok /*
248*4ab779cbSIlya Yanok  * AM3517 has 12 GP timers, they can be driven by the system clock
249*4ab779cbSIlya Yanok  * (12/13/16.8/19.2/38.4MHz) or by 32KHz clock. We use 13MHz (V_SCLK).
250*4ab779cbSIlya Yanok  * This rate is divided by a local divisor.
251*4ab779cbSIlya Yanok  */
252*4ab779cbSIlya Yanok #define CONFIG_SYS_TIMERBASE		OMAP34XX_GPT2
253*4ab779cbSIlya Yanok #define CONFIG_SYS_PTV			2	/* Divisor: 2^(PTV+1) => 8 */
254*4ab779cbSIlya Yanok #define CONFIG_SYS_HZ			1000
255*4ab779cbSIlya Yanok 
256*4ab779cbSIlya Yanok /*
257*4ab779cbSIlya Yanok  * Stack sizes
258*4ab779cbSIlya Yanok  *
259*4ab779cbSIlya Yanok  * The stack sizes are set up in start.S using the settings below
260*4ab779cbSIlya Yanok  */
261*4ab779cbSIlya Yanok #define CONFIG_STACKSIZE	(128 << 10)	/* regular stack 128 KiB */
262*4ab779cbSIlya Yanok 
263*4ab779cbSIlya Yanok /*
264*4ab779cbSIlya Yanok  * Physical Memory Map
265*4ab779cbSIlya Yanok  */
266*4ab779cbSIlya Yanok #define CONFIG_NR_DRAM_BANKS	2	/* CS1 may or may not be populated */
267*4ab779cbSIlya Yanok #define PHYS_SDRAM_1		OMAP34XX_SDRC_CS0
268*4ab779cbSIlya Yanok #define PHYS_SDRAM_1_SIZE	(32 << 20)	/* at least 32 MiB */
269*4ab779cbSIlya Yanok #define PHYS_SDRAM_2		OMAP34XX_SDRC_CS1
270*4ab779cbSIlya Yanok 
271*4ab779cbSIlya Yanok /*
272*4ab779cbSIlya Yanok  * FLASH and environment organization
273*4ab779cbSIlya Yanok  */
274*4ab779cbSIlya Yanok 
275*4ab779cbSIlya Yanok /* **** PISMO SUPPORT *** */
276*4ab779cbSIlya Yanok 
277*4ab779cbSIlya Yanok /* Configure the PISMO */
278*4ab779cbSIlya Yanok #define PISMO1_NAND_SIZE		GPMC_SIZE_128M
279*4ab779cbSIlya Yanok 
280*4ab779cbSIlya Yanok #define CONFIG_NAND_OMAP_GPMC
281*4ab779cbSIlya Yanok #define GPMC_NAND_ECC_LP_x16_LAYOUT
282*4ab779cbSIlya Yanok #define CONFIG_ENV_IS_IN_NAND
283*4ab779cbSIlya Yanok #define SMNAND_ENV_OFFSET		0x260000 /* environment starts here */
284*4ab779cbSIlya Yanok 
285*4ab779cbSIlya Yanok #define CONFIG_SYS_ENV_SECT_SIZE	(128 << 10)	/* 128 KiB */
286*4ab779cbSIlya Yanok #define CONFIG_ENV_OFFSET		SMNAND_ENV_OFFSET
287*4ab779cbSIlya Yanok #define CONFIG_ENV_ADDR			SMNAND_ENV_OFFSET
288*4ab779cbSIlya Yanok 
289*4ab779cbSIlya Yanok /*
290*4ab779cbSIlya Yanok  * CFI FLASH driver setup
291*4ab779cbSIlya Yanok  */
292*4ab779cbSIlya Yanok /* timeout values are in ticks */
293*4ab779cbSIlya Yanok #define CONFIG_SYS_FLASH_ERASE_TOUT	(100 * CONFIG_SYS_HZ)
294*4ab779cbSIlya Yanok #define CONFIG_SYS_FLASH_WRITE_TOUT	(100 * CONFIG_SYS_HZ)
295*4ab779cbSIlya Yanok 
296*4ab779cbSIlya Yanok /* Flash banks JFFS2 should use */
297*4ab779cbSIlya Yanok #define CONFIG_SYS_MAX_MTD_BANKS	(CONFIG_SYS_MAX_FLASH_BANKS + \
298*4ab779cbSIlya Yanok 					CONFIG_SYS_MAX_NAND_DEVICE)
299*4ab779cbSIlya Yanok #define CONFIG_SYS_JFFS2_MEM_NAND
300*4ab779cbSIlya Yanok /* use flash_info[2] */
301*4ab779cbSIlya Yanok #define CONFIG_SYS_JFFS2_FIRST_BANK	CONFIG_SYS_MAX_FLASH_BANKS
302*4ab779cbSIlya Yanok #define CONFIG_SYS_JFFS2_NUM_BANKS	1
303*4ab779cbSIlya Yanok 
304*4ab779cbSIlya Yanok #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
305*4ab779cbSIlya Yanok #define CONFIG_SYS_INIT_RAM_ADDR	0x4020f800
306*4ab779cbSIlya Yanok #define CONFIG_SYS_INIT_RAM_SIZE	0x800
307*4ab779cbSIlya Yanok #define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_INIT_RAM_ADDR + \
308*4ab779cbSIlya Yanok 					 CONFIG_SYS_INIT_RAM_SIZE - \
309*4ab779cbSIlya Yanok 					 GENERATED_GBL_DATA_SIZE)
310*4ab779cbSIlya Yanok 
311*4ab779cbSIlya Yanok /* Defines for SPL */
312*4ab779cbSIlya Yanok #define CONFIG_SPL
313*4ab779cbSIlya Yanok #define CONFIG_SPL_NAND_SIMPLE
314*4ab779cbSIlya Yanok #define CONFIG_SPL_NAND_SOFTECC
315*4ab779cbSIlya Yanok 
316*4ab779cbSIlya Yanok #define CONFIG_SPL_LIBCOMMON_SUPPORT
317*4ab779cbSIlya Yanok #define CONFIG_SPL_LIBDISK_SUPPORT
318*4ab779cbSIlya Yanok #define CONFIG_SPL_I2C_SUPPORT
319*4ab779cbSIlya Yanok #define CONFIG_SPL_MMC_SUPPORT
320*4ab779cbSIlya Yanok #define CONFIG_SPL_FAT_SUPPORT
321*4ab779cbSIlya Yanok #define CONFIG_SPL_LIBGENERIC_SUPPORT
322*4ab779cbSIlya Yanok #define CONFIG_SPL_SERIAL_SUPPORT
323*4ab779cbSIlya Yanok #define CONFIG_SPL_POWER_SUPPORT
324*4ab779cbSIlya Yanok #define CONFIG_SPL_NAND_SUPPORT
325*4ab779cbSIlya Yanok #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
326*4ab779cbSIlya Yanok 
327*4ab779cbSIlya Yanok #define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
328*4ab779cbSIlya Yanok #define CONFIG_SPL_MAX_SIZE		(45 << 10)
329*4ab779cbSIlya Yanok #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
330*4ab779cbSIlya Yanok 
331*4ab779cbSIlya Yanok /* move malloc and bss high to prevent clashing with the main image */
332*4ab779cbSIlya Yanok #define CONFIG_SYS_SPL_MALLOC_START	0x8f000000
333*4ab779cbSIlya Yanok #define CONFIG_SYS_SPL_MALLOC_SIZE	0x80000
334*4ab779cbSIlya Yanok #define CONFIG_SPL_BSS_START_ADDR	0x8f080000 /* end of RAM */
335*4ab779cbSIlya Yanok #define CONFIG_SPL_BSS_MAX_SIZE		0x80000
336*4ab779cbSIlya Yanok 
337*4ab779cbSIlya Yanok #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR	0x300 /* address 0x60000 */
338*4ab779cbSIlya Yanok #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION	1
339*4ab779cbSIlya Yanok #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME	"u-boot.img"
340*4ab779cbSIlya Yanok 
341*4ab779cbSIlya Yanok /* NAND boot config */
342*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_PAGE_COUNT	64
343*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_PAGE_SIZE	2048
344*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_OOBSIZE		64
345*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_BLOCK_SIZE	(128*1024)
346*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_5_ADDR_CYCLE
347*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_BAD_BLOCK_POS	0
348*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_ECCPOS		{40, 41, 42, 43, 44, 45, 46, 47,\
349*4ab779cbSIlya Yanok 					 48, 49, 50, 51, 52, 53, 54, 55,\
350*4ab779cbSIlya Yanok 					 56, 57, 58, 59, 60, 61, 62, 63}
351*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_ECCSIZE		256
352*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_ECCBYTES	3
353*4ab779cbSIlya Yanok 
354*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_ECCSTEPS	(CONFIG_SYS_NAND_PAGE_SIZE / \
355*4ab779cbSIlya Yanok 						CONFIG_SYS_NAND_ECCSIZE)
356*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_ECCTOTAL       (CONFIG_SYS_NAND_ECCBYTES * \
357*4ab779cbSIlya Yanok 						CONFIG_SYS_NAND_ECCSTEPS)
358*4ab779cbSIlya Yanok 
359*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_U_BOOT_START   CONFIG_SYS_TEXT_BASE
360*4ab779cbSIlya Yanok 
361*4ab779cbSIlya Yanok #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000
362*4ab779cbSIlya Yanok 
363*4ab779cbSIlya Yanok /*
364*4ab779cbSIlya Yanok  * ethernet support
365*4ab779cbSIlya Yanok  *
366*4ab779cbSIlya Yanok  */
367*4ab779cbSIlya Yanok #if defined(CONFIG_CMD_NET)
368*4ab779cbSIlya Yanok #define CONFIG_DRIVER_TI_EMAC
369*4ab779cbSIlya Yanok #define CONFIG_DRIVER_TI_EMAC_USE_RMII
370*4ab779cbSIlya Yanok #define CONFIG_MII
371*4ab779cbSIlya Yanok #define CONFIG_BOOTP_DEFAULT
372*4ab779cbSIlya Yanok #define CONFIG_BOOTP_DNS
373*4ab779cbSIlya Yanok #define CONFIG_BOOTP_DNS2
374*4ab779cbSIlya Yanok #define CONFIG_BOOTP_SEND_HOSTNAME
375*4ab779cbSIlya Yanok #define CONFIG_NET_RETRY_COUNT 10
376*4ab779cbSIlya Yanok #endif
377*4ab779cbSIlya Yanok 
378*4ab779cbSIlya Yanok #endif /* __CONFIG_H */
379