1 /*
2  * Copyright (C) 2007, Guennadi Liakhovetski <lg@denx.de>
3  *
4  * (C) Copyright 2009 Freescale Semiconductor, Inc.
5  *
6  * Configuration settings for the MX51EVK Board
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU General Public License as
10  * published by the Free Software Foundation; either version 2 of
11  * the License, or (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21  * MA 02111-1307 USA
22  */
23 
24 #ifndef __CONFIG_H
25 #define __CONFIG_H
26 
27 
28  /* High Level Configuration Options */
29 
30 #define CONFIG_MX51	/* in a mx51 */
31 #define CONFIG_SKIP_RELOCATE_UBOOT
32 
33 #define CONFIG_MX51_HCLK_FREQ		24000000	/* RedBoot says 26MHz */
34 #define CONFIG_MX51_CLK32		32768
35 #define CONFIG_DISPLAY_CPUINFO
36 #define CONFIG_DISPLAY_BOARDINFO
37 
38 #define CONFIG_L2_OFF
39 
40 /*
41  * Disabled for now due to build problems under Debian and a significant
42  * increase in the final file size: 144260 vs. 109536 Bytes.
43  */
44 
45 #define CONFIG_CMDLINE_TAG		1	/* enable passing of ATAGs */
46 #define CONFIG_REVISION_TAG		1
47 #define CONFIG_SETUP_MEMORY_TAGS	1
48 #define CONFIG_INITRD_TAG		1
49 
50 /*
51  * Size of malloc() pool
52  */
53 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 2 * 1024 * 1024)
54 /* size in bytes reserved for initial data */
55 #define CONFIG_SYS_GBL_DATA_SIZE	128
56 
57 #define BOARD_LATE_INIT
58 
59 /*
60  * Hardware drivers
61  */
62 #define CONFIG_MXC_UART
63 #define CONFIG_SYS_MX51_UART1
64 
65 /*
66  * SPI Configs
67  * */
68 #define CONFIG_CMD_SPI
69 
70 #define CONFIG_MXC_SPI
71 
72 #define CONFIG_FSL_PMIC
73 #define CONFIG_FSL_PMIC_BUS	0
74 #define CONFIG_FSL_PMIC_CS	0
75 #define CONFIG_FSL_PMIC_CLK	2500000
76 #define CONFIG_FSL_PMIC_MODE	(SPI_CPOL | SPI_CS_HIGH)
77 
78 /*
79  * MMC Configs
80  * */
81 #define CONFIG_FSL_ESDHC
82 #define CONFIG_SYS_FSL_ESDHC_ADDR	0
83 #define CONFIG_SYS_FSL_ESDHC_NUM	2
84 
85 #define CONFIG_MMC
86 
87 #define CONFIG_CMD_MMC
88 #define CONFIG_GENERIC_MMC
89 #define CONFIG_CMD_FAT
90 #define CONFIG_DOS_PARTITION
91 
92 /*
93  * Eth Configs
94  */
95 #define CONFIG_HAS_ETH1
96 #define CONFIG_NET_MULTI
97 #define CONFIG_MII
98 #define CONFIG_DISCOVER_PHY
99 
100 #define CONFIG_FEC_MXC
101 #define IMX_FEC_BASE	FEC_BASE_ADDR
102 #define CONFIG_FEC_MXC_PHYADDR	0x1F
103 
104 #define CONFIG_CMD_PING
105 #define CONFIG_CMD_DHCP
106 #define CONFIG_CMD_MII
107 #define CONFIG_CMD_NET
108 
109 /* allow to overwrite serial and ethaddr */
110 #define CONFIG_ENV_OVERWRITE
111 #define CONFIG_CONS_INDEX		1
112 #define CONFIG_BAUDRATE			115200
113 #define CONFIG_SYS_BAUDRATE_TABLE	{9600, 19200, 38400, 57600, 115200}
114 
115 /***********************************************************
116  * Command definition
117  ***********************************************************/
118 
119 #include <config_cmd_default.h>
120 
121 #undef CONFIG_CMD_IMLS
122 
123 #define CONFIG_BOOTDELAY	3
124 
125 #define CONFIG_PRIME	"FEC0"
126 
127 #define CONFIG_LOADADDR		0x90800000	/* loadaddr env var */
128 
129 #define	CONFIG_EXTRA_ENV_SETTINGS					\
130 		"netdev=eth0\0"						\
131 		"uboot_addr=0xa0000000\0"				\
132 		"uboot=u-boot.bin\0"			\
133 		"loadaddr=0x90800000\0"			\
134 		"bootargs_base=setenv bootargs console=tty "\
135 			"console=ttymxc0,${baudrate}\0"\
136 		"bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs "\
137 			"ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0"\
138 		"bootcmd=run bootcmd_net\0"				\
139 		"bootcmd_net=run bootargs_base bootargs_nfs; "		\
140 			"tftpboot ${loadaddr} ${kernel}; bootm\0"
141 
142 #define CONFIG_ARP_TIMEOUT	200UL
143 
144 /*
145  * Miscellaneous configurable options
146  */
147 #define CONFIG_SYS_LONGHELP		/* undef to save memory */
148 #define CONFIG_SYS_PROMPT		"MX51EVK U-Boot > "
149 #define CONFIG_AUTO_COMPLETE
150 #define CONFIG_SYS_CBSIZE		256	/* Console I/O Buffer Size */
151 /* Print Buffer Size */
152 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
153 #define CONFIG_SYS_MAXARGS	16	/* max number of command args */
154 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
155 
156 #define CONFIG_SYS_MEMTEST_START       0x90000000
157 #define CONFIG_SYS_MEMTEST_END         0x10000
158 
159 #define CONFIG_SYS_LOAD_ADDR		CONFIG_LOADADDR
160 
161 #define CONFIG_SYS_HZ		1000
162 #define CONFIG_CMDLINE_EDITING
163 
164 /*-----------------------------------------------------------------------
165  * Stack sizes
166  *
167  * The stack sizes are set up in start.S using the settings below
168  */
169 #define CONFIG_STACKSIZE	(128 * 1024)	/* regular stack */
170 
171 /*-----------------------------------------------------------------------
172  * Physical Memory Map
173  */
174 #define CONFIG_NR_DRAM_BANKS	1
175 #define PHYS_SDRAM_1		CSD0_BASE_ADDR
176 #define PHYS_SDRAM_1_SIZE	(512 * 1024 * 1024)
177 
178 #define CONFIG_SYS_DDR_CLKSEL	0
179 #define CONFIG_SYS_CLKTL_CBCDR	0x59E35100
180 
181 /*-----------------------------------------------------------------------
182  * FLASH and environment organization
183  */
184 #define CONFIG_SYS_NO_FLASH
185 
186 #define CONFIG_ENV_SECT_SIZE    (128 * 1024)
187 #define CONFIG_ENV_SIZE		CONFIG_ENV_SECT_SIZE
188 #define CONFIG_ENV_IS_NOWHERE
189 
190 #endif
191