xref: /rk3399_rockchip-uboot/include/configs/mx28evk.h (revision 29f75a5ce5800cf39d29e7669b27e6deb4038f28)
1*29f75a5cSFabio Estevam /*
2*29f75a5cSFabio Estevam  * (C) Copyright 2011 Freescale Semiconductor, Inc.
3*29f75a5cSFabio Estevam  * Author: Fabio Estevam <fabio.estevam@freescale.com>
4*29f75a5cSFabio Estevam  *
5*29f75a5cSFabio Estevam  * Based on m28evk.h:
6*29f75a5cSFabio Estevam  * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
7*29f75a5cSFabio Estevam  * on behalf of DENX Software Engineering GmbH
8*29f75a5cSFabio Estevam  *
9*29f75a5cSFabio Estevam  * This program is free software; you can redistribute it and/or
10*29f75a5cSFabio Estevam  * modify it under the terms of the GNU General Public License as
11*29f75a5cSFabio Estevam  * published by the Free Software Foundation; either version 2 of
12*29f75a5cSFabio Estevam  * the License, or (at your option) any later version.
13*29f75a5cSFabio Estevam  *
14*29f75a5cSFabio Estevam  * This program is distributed in the hope that it will be useful,
15*29f75a5cSFabio Estevam  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16*29f75a5cSFabio Estevam  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
17*29f75a5cSFabio Estevam  * GNU General Public License for more details.
18*29f75a5cSFabio Estevam  */
19*29f75a5cSFabio Estevam #ifndef __CONFIG_H
20*29f75a5cSFabio Estevam #define __CONFIG_H
21*29f75a5cSFabio Estevam 
22*29f75a5cSFabio Estevam #include <asm/arch/regs-base.h>
23*29f75a5cSFabio Estevam 
24*29f75a5cSFabio Estevam /*
25*29f75a5cSFabio Estevam  * SoC configurations
26*29f75a5cSFabio Estevam  */
27*29f75a5cSFabio Estevam #define CONFIG_MX28				/* i.MX28 SoC */
28*29f75a5cSFabio Estevam #define CONFIG_MXS_GPIO			/* GPIO control */
29*29f75a5cSFabio Estevam #define CONFIG_SYS_HZ		1000		/* Ticks per second */
30*29f75a5cSFabio Estevam 
31*29f75a5cSFabio Estevam #define CONFIG_MACH_TYPE	MACH_TYPE_MX28EVK
32*29f75a5cSFabio Estevam 
33*29f75a5cSFabio Estevam #define CONFIG_SYS_NO_FLASH
34*29f75a5cSFabio Estevam #define CONFIG_SYS_ICACHE_OFF
35*29f75a5cSFabio Estevam #define CONFIG_SYS_DCACHE_OFF
36*29f75a5cSFabio Estevam #define CONFIG_BOARD_EARLY_INIT_F
37*29f75a5cSFabio Estevam #define CONFIG_ARCH_CPU_INIT
38*29f75a5cSFabio Estevam #define CONFIG_ARCH_MISC_INIT
39*29f75a5cSFabio Estevam 
40*29f75a5cSFabio Estevam /*
41*29f75a5cSFabio Estevam  * SPL
42*29f75a5cSFabio Estevam  */
43*29f75a5cSFabio Estevam #define CONFIG_SPL
44*29f75a5cSFabio Estevam #define CONFIG_SPL_NO_CPU_SUPPORT_CODE
45*29f75a5cSFabio Estevam #define CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/mx28"
46*29f75a5cSFabio Estevam #define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/mx28/u-boot-spl.lds"
47*29f75a5cSFabio Estevam #define CONFIG_SPL_LIBCOMMON_SUPPORT
48*29f75a5cSFabio Estevam #define CONFIG_SPL_LIBGENERIC_SUPPORT
49*29f75a5cSFabio Estevam 
50*29f75a5cSFabio Estevam /*
51*29f75a5cSFabio Estevam  * U-Boot Commands
52*29f75a5cSFabio Estevam  */
53*29f75a5cSFabio Estevam #include <config_cmd_default.h>
54*29f75a5cSFabio Estevam #define CONFIG_DISPLAY_CPUINFO
55*29f75a5cSFabio Estevam #define CONFIG_DOS_PARTITION
56*29f75a5cSFabio Estevam #define CONFIG_CMD_FAT
57*29f75a5cSFabio Estevam 
58*29f75a5cSFabio Estevam #define CONFIG_CMD_CACHE
59*29f75a5cSFabio Estevam #define CONFIG_CMD_DHCP
60*29f75a5cSFabio Estevam #define CONFIG_CMD_GPIO
61*29f75a5cSFabio Estevam #define CONFIG_CMD_MII
62*29f75a5cSFabio Estevam #define CONFIG_CMD_MMC
63*29f75a5cSFabio Estevam #define CONFIG_CMD_NET
64*29f75a5cSFabio Estevam #define CONFIG_CMD_NFS
65*29f75a5cSFabio Estevam #define CONFIG_CMD_PING
66*29f75a5cSFabio Estevam 
67*29f75a5cSFabio Estevam /*
68*29f75a5cSFabio Estevam  * Memory configurations
69*29f75a5cSFabio Estevam  */
70*29f75a5cSFabio Estevam #define CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
71*29f75a5cSFabio Estevam #define PHYS_SDRAM_1			0x40000000	/* Base address */
72*29f75a5cSFabio Estevam #define PHYS_SDRAM_1_SIZE		0x40000000	/* Max 1 GB RAM */
73*29f75a5cSFabio Estevam #define CONFIG_STACKSIZE		(128 * 1024)	/* 128 KB stack */
74*29f75a5cSFabio Estevam #define CONFIG_SYS_MALLOC_LEN		0x00400000	/* 4 MB for malloc */
75*29f75a5cSFabio Estevam #define CONFIG_SYS_MEMTEST_START	0x40000000	/* Memtest start adr */
76*29f75a5cSFabio Estevam #define CONFIG_SYS_MEMTEST_END		0x40400000	/* 4 MB RAM test */
77*29f75a5cSFabio Estevam #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
78*29f75a5cSFabio Estevam /* Point initial SP in SRAM so SPL can use it too. */
79*29f75a5cSFabio Estevam 
80*29f75a5cSFabio Estevam #define CONFIG_SYS_INIT_RAM_ADDR	0x00002000
81*29f75a5cSFabio Estevam #define CONFIG_SYS_INIT_RAM_SIZE	(128 * 1024)
82*29f75a5cSFabio Estevam 
83*29f75a5cSFabio Estevam #define CONFIG_SYS_INIT_SP_OFFSET \
84*29f75a5cSFabio Estevam 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
85*29f75a5cSFabio Estevam #define CONFIG_SYS_INIT_SP_ADDR \
86*29f75a5cSFabio Estevam 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
87*29f75a5cSFabio Estevam 
88*29f75a5cSFabio Estevam /*
89*29f75a5cSFabio Estevam  * We need to sacrifice first 4 bytes of RAM here to avoid triggering some
90*29f75a5cSFabio Estevam  * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
91*29f75a5cSFabio Estevam  * binary. In case there was more of this mess, 0x100 bytes are skipped.
92*29f75a5cSFabio Estevam  */
93*29f75a5cSFabio Estevam #define CONFIG_SYS_TEXT_BASE	0x40000100
94*29f75a5cSFabio Estevam 
95*29f75a5cSFabio Estevam #define CONFIG_ENV_OVERWRITE
96*29f75a5cSFabio Estevam /*
97*29f75a5cSFabio Estevam  * U-Boot general configurations
98*29f75a5cSFabio Estevam  */
99*29f75a5cSFabio Estevam #define CONFIG_SYS_LONGHELP
100*29f75a5cSFabio Estevam #define CONFIG_SYS_PROMPT	"MX28EVK U-Boot > "
101*29f75a5cSFabio Estevam #define CONFIG_SYS_CBSIZE	1024		/* Console I/O buffer size */
102*29f75a5cSFabio Estevam #define CONFIG_SYS_PBSIZE	\
103*29f75a5cSFabio Estevam 	(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
104*29f75a5cSFabio Estevam 						/* Print buffer size */
105*29f75a5cSFabio Estevam #define CONFIG_SYS_MAXARGS	32		/* Max number of command args */
106*29f75a5cSFabio Estevam #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE
107*29f75a5cSFabio Estevam 						/* Boot argument buffer size */
108*29f75a5cSFabio Estevam #define CONFIG_VERSION_VARIABLE	/* U-BOOT version */
109*29f75a5cSFabio Estevam #define CONFIG_AUTO_COMPLETE		/* Command auto complete */
110*29f75a5cSFabio Estevam #define CONFIG_CMDLINE_EDITING		/* Command history etc */
111*29f75a5cSFabio Estevam #define CONFIG_SYS_HUSH_PARSER
112*29f75a5cSFabio Estevam #define CONFIG_SYS_PROMPT_HUSH_PS2	"> "
113*29f75a5cSFabio Estevam 
114*29f75a5cSFabio Estevam /*
115*29f75a5cSFabio Estevam  * Serial Driver
116*29f75a5cSFabio Estevam  */
117*29f75a5cSFabio Estevam #define CONFIG_PL011_SERIAL
118*29f75a5cSFabio Estevam #define CONFIG_PL011_CLOCK		24000000
119*29f75a5cSFabio Estevam #define CONFIG_PL01x_PORTS		{ (void *)MXS_UARTDBG_BASE }
120*29f75a5cSFabio Estevam #define CONFIG_CONS_INDEX		0
121*29f75a5cSFabio Estevam #define CONFIG_BAUDRATE			115200	/* Default baud rate */
122*29f75a5cSFabio Estevam #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
123*29f75a5cSFabio Estevam 
124*29f75a5cSFabio Estevam /*
125*29f75a5cSFabio Estevam  * MMC Driver
126*29f75a5cSFabio Estevam  */
127*29f75a5cSFabio Estevam #define CONFIG_ENV_IS_IN_MMC
128*29f75a5cSFabio Estevam #define CONFIG_ENV_OFFSET	(256 * 1024)
129*29f75a5cSFabio Estevam #define CONFIG_ENV_SIZE	(16 * 1024)
130*29f75a5cSFabio Estevam #define CONFIG_SYS_MMC_ENV_DEV 0
131*29f75a5cSFabio Estevam #define CONFIG_CMD_SAVEENV
132*29f75a5cSFabio Estevam #ifdef	CONFIG_CMD_MMC
133*29f75a5cSFabio Estevam #define CONFIG_MMC
134*29f75a5cSFabio Estevam #define CONFIG_GENERIC_MMC
135*29f75a5cSFabio Estevam #define CONFIG_MXS_MMC
136*29f75a5cSFabio Estevam #endif
137*29f75a5cSFabio Estevam 
138*29f75a5cSFabio Estevam /*
139*29f75a5cSFabio Estevam  * Ethernet on SOC (FEC)
140*29f75a5cSFabio Estevam  */
141*29f75a5cSFabio Estevam #ifdef	CONFIG_CMD_NET
142*29f75a5cSFabio Estevam #define CONFIG_NET_MULTI
143*29f75a5cSFabio Estevam #define CONFIG_ETHPRIME	"FEC0"
144*29f75a5cSFabio Estevam #define CONFIG_FEC_MXC
145*29f75a5cSFabio Estevam #define CONFIG_FEC_MXC_MULTI
146*29f75a5cSFabio Estevam #define CONFIG_MII
147*29f75a5cSFabio Estevam #define CONFIG_DISCOVER_PHY
148*29f75a5cSFabio Estevam #define CONFIG_FEC_XCV_TYPE	RMII
149*29f75a5cSFabio Estevam #define CONFIG_MX28_FEC_MAC_IN_OCOTP
150*29f75a5cSFabio Estevam #endif
151*29f75a5cSFabio Estevam 
152*29f75a5cSFabio Estevam /*
153*29f75a5cSFabio Estevam  * Boot Linux
154*29f75a5cSFabio Estevam  */
155*29f75a5cSFabio Estevam #define CONFIG_CMDLINE_TAG
156*29f75a5cSFabio Estevam #define CONFIG_SETUP_MEMORY_TAGS
157*29f75a5cSFabio Estevam #define CONFIG_BOOTDELAY	3
158*29f75a5cSFabio Estevam #define CONFIG_BOOTFILE	"uImage"
159*29f75a5cSFabio Estevam #define CONFIG_BOOTCOMMAND	"run bootcmd_net"
160*29f75a5cSFabio Estevam #define CONFIG_LOADADDR	0x42000000
161*29f75a5cSFabio Estevam #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
162*29f75a5cSFabio Estevam 
163*29f75a5cSFabio Estevam /*
164*29f75a5cSFabio Estevam  * Extra Environments
165*29f75a5cSFabio Estevam  */
166*29f75a5cSFabio Estevam #define CONFIG_EXTRA_ENV_SETTINGS \
167*29f75a5cSFabio Estevam 	"console_fsl=console=ttyAM0" \
168*29f75a5cSFabio Estevam 	"console_mainline=console=ttyAMA0" \
169*29f75a5cSFabio Estevam 	"netargs=setenv bootargs console=${console_mainline}" \
170*29f75a5cSFabio Estevam 		"root=/dev/nfs " \
171*29f75a5cSFabio Estevam 		"ip=dhcp nfsroot=${serverip}:${nfsroot}\0" \
172*29f75a5cSFabio Estevam 	"bootcmd_net=echo Booting from net ...; " \
173*29f75a5cSFabio Estevam 		"run netargs; " \
174*29f75a5cSFabio Estevam 		"dhcp ${uimage}; bootm\0" \
175*29f75a5cSFabio Estevam 
176*29f75a5cSFabio Estevam #endif /* __CONFIG_H */
177