xref: /rk3399_rockchip-uboot/include/configs/M5282EVB.h (revision f28e1bd9daa6de5eb33ae4822bda6b008ccb4e9e)
1bf9e3b38Swdenk /*
2bf9e3b38Swdenk  * Configuation settings for the Motorola MC5282EVB board.
3bf9e3b38Swdenk  *
4bf9e3b38Swdenk  * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.de>
5bf9e3b38Swdenk  *
6bf9e3b38Swdenk  * See file CREDITS for list of people who contributed to this
7bf9e3b38Swdenk  * project.
8bf9e3b38Swdenk  *
9bf9e3b38Swdenk  * This program is free software; you can redistribute it and/or
10bf9e3b38Swdenk  * modify it under the terms of the GNU General Public License as
11bf9e3b38Swdenk  * published by the Free Software Foundation; either version 2 of
12bf9e3b38Swdenk  * the License, or (at your option) any later version.
13bf9e3b38Swdenk  *
14bf9e3b38Swdenk  * This program is distributed in the hope that it will be useful,
15bf9e3b38Swdenk  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16bf9e3b38Swdenk  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17bf9e3b38Swdenk  * GNU General Public License for more details.
18bf9e3b38Swdenk  *
19bf9e3b38Swdenk  * You should have received a copy of the GNU General Public License
20bf9e3b38Swdenk  * along with this program; if not, write to the Free Software
21bf9e3b38Swdenk  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
22bf9e3b38Swdenk  * MA 02111-1307 USA
23bf9e3b38Swdenk  */
24bf9e3b38Swdenk 
25bf9e3b38Swdenk /*
26bf9e3b38Swdenk  * board/config.h - configuration options, board specific
27bf9e3b38Swdenk  */
28bf9e3b38Swdenk 
294e5ca3ebSwdenk #ifndef _CONFIG_M5282EVB_H
304e5ca3ebSwdenk #define _CONFIG_M5282EVB_H
314e5ca3ebSwdenk 
32bf9e3b38Swdenk /*
33bf9e3b38Swdenk  * High Level Configuration Options
34bf9e3b38Swdenk  * (easy to change)
35bf9e3b38Swdenk  */
36bf9e3b38Swdenk #define	CONFIG_MCF52x2		/* define processor family */
37bf9e3b38Swdenk #define CONFIG_M5282		/* define processor type */
384e5ca3ebSwdenk 
39*f28e1bd9STsiChungLiew #define CONFIG_MCFTMR
404e5ca3ebSwdenk 
41*f28e1bd9STsiChungLiew #define CONFIG_MCFUART
42*f28e1bd9STsiChungLiew #define CFG_UART_PORT		(0)
43bf9e3b38Swdenk #define CONFIG_BAUDRATE 19200
44bf9e3b38Swdenk #define CFG_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 }
45bf9e3b38Swdenk 
46*f28e1bd9STsiChungLiew #undef	CONFIG_MONITOR_IS_IN_RAM	/* define if monitor is started from a pre-loader */
47bf9e3b38Swdenk 
48bf9e3b38Swdenk /* Configuration for environment
49bf9e3b38Swdenk  * Environment is embedded in u-boot in the second sector of the flash
50bf9e3b38Swdenk  */
51bf9e3b38Swdenk #define CFG_ENV_ADDR		0xffe04000
52bf9e3b38Swdenk #define CFG_ENV_SIZE		0x2000
53bf9e3b38Swdenk #define CFG_ENV_IS_IN_FLASH	1
54bf9e3b38Swdenk 
558353e139SJon Loeliger /*
56659e2f67SJon Loeliger  * BOOTP options
57659e2f67SJon Loeliger  */
58659e2f67SJon Loeliger #define CONFIG_BOOTP_BOOTFILESIZE
59659e2f67SJon Loeliger #define CONFIG_BOOTP_BOOTPATH
60659e2f67SJon Loeliger #define CONFIG_BOOTP_GATEWAY
61659e2f67SJon Loeliger #define CONFIG_BOOTP_HOSTNAME
62659e2f67SJon Loeliger 
63659e2f67SJon Loeliger /*
648353e139SJon Loeliger  * Command line configuration.
658353e139SJon Loeliger  */
668353e139SJon Loeliger #include <config_cmd_default.h>
67*f28e1bd9STsiChungLiew #define CONFIG_CMD_NET
68*f28e1bd9STsiChungLiew #define CONFIG_CMD_PING
69*f28e1bd9STsiChungLiew #define CONFIG_CMD_MII
70bf9e3b38Swdenk 
718353e139SJon Loeliger #undef CONFIG_CMD_LOADS
728353e139SJon Loeliger #undef CONFIG_CMD_LOADB
738353e139SJon Loeliger 
74*f28e1bd9STsiChungLiew #define CONFIG_MCFFEC
75*f28e1bd9STsiChungLiew #ifdef CONFIG_MCFFEC
76*f28e1bd9STsiChungLiew #	define CONFIG_NET_MULTI		1
77*f28e1bd9STsiChungLiew #	define CONFIG_MII		1
78*f28e1bd9STsiChungLiew #	define CFG_DISCOVER_PHY
79*f28e1bd9STsiChungLiew #	define CFG_RX_ETH_BUFFER	8
80*f28e1bd9STsiChungLiew #	define CFG_FAULT_ECHO_LINK_DOWN
81*f28e1bd9STsiChungLiew 
82*f28e1bd9STsiChungLiew #	define CFG_FEC0_PINMUX		0
83*f28e1bd9STsiChungLiew #	define CFG_FEC0_MIIBASE		CFG_FEC0_IOBASE
84*f28e1bd9STsiChungLiew #	define MCFFEC_TOUT_LOOP 	50000
85*f28e1bd9STsiChungLiew /* If CFG_DISCOVER_PHY is not defined - hardcoded */
86*f28e1bd9STsiChungLiew #	ifndef CFG_DISCOVER_PHY
87*f28e1bd9STsiChungLiew #		define FECDUPLEX	FULL
88*f28e1bd9STsiChungLiew #		define FECSPEED		_100BASET
89*f28e1bd9STsiChungLiew #	else
90*f28e1bd9STsiChungLiew #		ifndef CFG_FAULT_ECHO_LINK_DOWN
91*f28e1bd9STsiChungLiew #			define CFG_FAULT_ECHO_LINK_DOWN
92*f28e1bd9STsiChungLiew #		endif
93*f28e1bd9STsiChungLiew #	endif			/* CFG_DISCOVER_PHY */
94*f28e1bd9STsiChungLiew #endif
958353e139SJon Loeliger 
96bf9e3b38Swdenk #define CONFIG_BOOTDELAY	5
97*f28e1bd9STsiChungLiew #ifdef CONFIG_MCFFEC
98*f28e1bd9STsiChungLiew #	define CONFIG_ETHADDR	00:e0:0c:bc:e5:60
99*f28e1bd9STsiChungLiew #	define CONFIG_IPADDR	192.162.1.2
100*f28e1bd9STsiChungLiew #	define CONFIG_NETMASK	255.255.255.0
101*f28e1bd9STsiChungLiew #	define CONFIG_SERVERIP	192.162.1.1
102*f28e1bd9STsiChungLiew #	define CONFIG_GATEWAYIP	192.162.1.1
103*f28e1bd9STsiChungLiew #	define CONFIG_OVERWRITE_ETHADDR_ONCE
104*f28e1bd9STsiChungLiew #endif				/* CONFIG_MCFFEC */
105*f28e1bd9STsiChungLiew 
106*f28e1bd9STsiChungLiew #define CONFIG_HOSTNAME		M5272C3
107*f28e1bd9STsiChungLiew #define CONFIG_EXTRA_ENV_SETTINGS		\
108*f28e1bd9STsiChungLiew 	"netdev=eth0\0"				\
109*f28e1bd9STsiChungLiew 	"loadaddr=10000\0"			\
110*f28e1bd9STsiChungLiew 	"u-boot=u-boot.bin\0"			\
111*f28e1bd9STsiChungLiew 	"load=tftp ${loadaddr) ${u-boot}\0"	\
112*f28e1bd9STsiChungLiew 	"upd=run load; run prog\0"		\
113*f28e1bd9STsiChungLiew 	"prog=prot off ffe00000 ffe3ffff;"	\
114*f28e1bd9STsiChungLiew 	"era ffe00000 ffe3ffff;"		\
115*f28e1bd9STsiChungLiew 	"cp.b ${loadaddr} ffe00000 ${filesize};"\
116*f28e1bd9STsiChungLiew 	"save\0"				\
117*f28e1bd9STsiChungLiew 	""
118bf9e3b38Swdenk 
119bf9e3b38Swdenk #define CFG_PROMPT		"-> "
120bf9e3b38Swdenk #define	CFG_LONGHELP		/* undef to save memory         */
121bf9e3b38Swdenk 
1228353e139SJon Loeliger #if defined(CONFIG_CMD_KGDB)
123bf9e3b38Swdenk #define	CFG_CBSIZE		1024	/* Console I/O Buffer Size      */
124bf9e3b38Swdenk #else
125bf9e3b38Swdenk #define	CFG_CBSIZE		256	/* Console I/O Buffer Size      */
126bf9e3b38Swdenk #endif
127bf9e3b38Swdenk #define	CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)	/* Print Buffer Size */
128bf9e3b38Swdenk #define	CFG_MAXARGS		16	/* max number of command args   */
129bf9e3b38Swdenk #define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size    */
130bf9e3b38Swdenk 
131bf9e3b38Swdenk #define CFG_LOAD_ADDR		0x20000
132bf9e3b38Swdenk 
133bf9e3b38Swdenk #define CFG_MEMTEST_START	0x400
134bf9e3b38Swdenk #define CFG_MEMTEST_END		0x380000
135bf9e3b38Swdenk 
136bf9e3b38Swdenk #define CFG_HZ			1000000
137bf9e3b38Swdenk #define	CFG_CLK			64000000
138bf9e3b38Swdenk 
139*f28e1bd9STsiChungLiew /* PLL Configuration: Ext Clock * 6 (see table 9-4 of MCF user manual) */
140*f28e1bd9STsiChungLiew 
141*f28e1bd9STsiChungLiew #define CFG_MFD			0x02	/* PLL Multiplication Factor Devider */
142*f28e1bd9STsiChungLiew #define CFG_RFD			0x00	/* PLL Reduce Frecuency Devider */
143bf9e3b38Swdenk 
144bf9e3b38Swdenk /*
145bf9e3b38Swdenk  * Low Level Configuration Settings
146bf9e3b38Swdenk  * (address mappings, register initial values, etc.)
147bf9e3b38Swdenk  * You should know what you are doing if you make changes here.
148bf9e3b38Swdenk  */
149bf9e3b38Swdenk #define	CFG_MBAR		0x40000000
150bf9e3b38Swdenk 
151bf9e3b38Swdenk /*-----------------------------------------------------------------------
152bf9e3b38Swdenk  * Definitions for initial stack pointer and data area (in DPRAM)
153bf9e3b38Swdenk  */
154bf9e3b38Swdenk #define CFG_INIT_RAM_ADDR	0x20000000
155bf9e3b38Swdenk #define CFG_INIT_RAM_END	0x10000	/* End of used area in internal SRAM    */
156bf9e3b38Swdenk #define CFG_GBL_DATA_SIZE	64	/* size in bytes reserved for initial data */
157bf9e3b38Swdenk #define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
158bf9e3b38Swdenk #define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET
159bf9e3b38Swdenk 
160bf9e3b38Swdenk /*-----------------------------------------------------------------------
161bf9e3b38Swdenk  * Start addresses for the final memory configuration
162bf9e3b38Swdenk  * (Set up by the startup code)
163bf9e3b38Swdenk  * Please note that CFG_SDRAM_BASE _must_ start at 0
164bf9e3b38Swdenk  */
165bf9e3b38Swdenk #define CFG_SDRAM_BASE		0x00000000
166*f28e1bd9STsiChungLiew #define	CFG_SDRAM_SIZE		8	/* SDRAM size in MB */
167bf9e3b38Swdenk #define CFG_FLASH_BASE		0xffe00000
168bf9e3b38Swdenk #define	CFG_INT_FLASH_BASE	0xf0000000
169*f28e1bd9STsiChungLiew #define CFG_INT_FLASH_ENABLE	0x21
170bf9e3b38Swdenk 
171bf9e3b38Swdenk /* If M5282 port is fully implemented the monitor base will be behind
172bf9e3b38Swdenk  * the vector table. */
173*f28e1bd9STsiChungLiew #if (TEXT_BASE != CFG_INT_FLASH_BASE)
174*f28e1bd9STsiChungLiew #define CFG_MONITOR_BASE	(CFG_FLASH_BASE + 0x400)
175*f28e1bd9STsiChungLiew #else
176*f28e1bd9STsiChungLiew #define CFG_MONITOR_BASE	(TEXT_BASE + 0x418)	/* 24 Byte for CFM-Config */
177*f28e1bd9STsiChungLiew #endif
178bf9e3b38Swdenk 
179bf9e3b38Swdenk #define CFG_MONITOR_LEN		0x20000
180bf9e3b38Swdenk #define CFG_MALLOC_LEN		(256 << 10)
181bf9e3b38Swdenk #define CFG_BOOTPARAMS_LEN	64*1024
182bf9e3b38Swdenk 
183bf9e3b38Swdenk /*
184bf9e3b38Swdenk  * For booting Linux, the board info and command line data
185bf9e3b38Swdenk  * have to be in the first 8 MB of memory, since this is
186bf9e3b38Swdenk  * the maximum mapped by the Linux kernel during initialization ??
187bf9e3b38Swdenk  */
188*f28e1bd9STsiChungLiew #define CFG_BOOTMAPSZ		(CFG_SDRAM_BASE + (CFG_SDRAM_SIZE << 20))
189bf9e3b38Swdenk 
190bf9e3b38Swdenk /*-----------------------------------------------------------------------
191bf9e3b38Swdenk  * FLASH organization
192bf9e3b38Swdenk  */
193*f28e1bd9STsiChungLiew #define CFG_FLASH_CFI
194*f28e1bd9STsiChungLiew #ifdef CFG_FLASH_CFI
195*f28e1bd9STsiChungLiew 
196*f28e1bd9STsiChungLiew #	define CFG_FLASH_CFI_DRIVER	1
197*f28e1bd9STsiChungLiew #	define CFG_FLASH_SIZE		0x1000000	/* Max size that the board might have */
198*f28e1bd9STsiChungLiew #	define CFG_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
199*f28e1bd9STsiChungLiew #	define CFG_MAX_FLASH_BANKS	1	/* max number of memory banks */
200*f28e1bd9STsiChungLiew #	define CFG_MAX_FLASH_SECT	137	/* max number of sectors on one chip */
201*f28e1bd9STsiChungLiew #	define CFG_FLASH_PROTECTION	/* "Real" (hardware) sectors protection */
202*f28e1bd9STsiChungLiew #	define CFG_FLASH_CHECKSUM
203*f28e1bd9STsiChungLiew #	define CFG_FLASH_BANKS_LIST	{ CFG_FLASH_BASE }
204*f28e1bd9STsiChungLiew #endif
205bf9e3b38Swdenk 
206bf9e3b38Swdenk /*-----------------------------------------------------------------------
207bf9e3b38Swdenk  * Cache Configuration
208bf9e3b38Swdenk  */
209bf9e3b38Swdenk #define CFG_CACHELINE_SIZE	16
210bf9e3b38Swdenk 
211bf9e3b38Swdenk /*-----------------------------------------------------------------------
212bf9e3b38Swdenk  * Memory bank definitions
213bf9e3b38Swdenk  */
214*f28e1bd9STsiChungLiew #define CFG_CS0_BASE		CFG_FLASH_BASE
215*f28e1bd9STsiChungLiew #define CFG_CS0_SIZE		2*1024*1024
216*f28e1bd9STsiChungLiew #define CFG_CS0_WIDTH		16
217*f28e1bd9STsiChungLiew #define CFG_CS0_RO 		0
218*f28e1bd9STsiChungLiew #define CFG_CS0_WS		6
219*f28e1bd9STsiChungLiew /*
220*f28e1bd9STsiChungLiew #define CFG_CS3_BASE		0xE0000000
221*f28e1bd9STsiChungLiew #define CFG_CS3_SIZE		1*1024*1024
222*f28e1bd9STsiChungLiew #define CFG_CS3_WIDTH		16
223*f28e1bd9STsiChungLiew #define CFG_CS3_RO 		0
224*f28e1bd9STsiChungLiew #define CFG_CS3_WS		6
225*f28e1bd9STsiChungLiew */
226bf9e3b38Swdenk /*-----------------------------------------------------------------------
227bf9e3b38Swdenk  * Port configuration
228bf9e3b38Swdenk  */
229*f28e1bd9STsiChungLiew #define CFG_PACNT		0x0000000	/* Port A D[31:24] */
230*f28e1bd9STsiChungLiew #define CFG_PADDR		0x0000000
231*f28e1bd9STsiChungLiew #define CFG_PADAT		0x0000000
232bf9e3b38Swdenk 
233*f28e1bd9STsiChungLiew #define CFG_PBCNT		0x0000000	/* Port B D[23:16] */
234*f28e1bd9STsiChungLiew #define CFG_PBDDR		0x0000000
235*f28e1bd9STsiChungLiew #define CFG_PBDAT		0x0000000
236*f28e1bd9STsiChungLiew 
237*f28e1bd9STsiChungLiew #define CFG_PCCNT		0x0000000	/* Port C D[15:08] */
238*f28e1bd9STsiChungLiew #define CFG_PCDDR		0x0000000
239*f28e1bd9STsiChungLiew #define CFG_PCDAT		0x0000000
240*f28e1bd9STsiChungLiew 
241*f28e1bd9STsiChungLiew #define CFG_PDCNT		0x0000000	/* Port D D[07:00] */
242*f28e1bd9STsiChungLiew #define CFG_PCDDR		0x0000000
243*f28e1bd9STsiChungLiew #define CFG_PCDAT		0x0000000
244*f28e1bd9STsiChungLiew 
245*f28e1bd9STsiChungLiew #define CFG_PEHLPAR		0xC0
246*f28e1bd9STsiChungLiew #define CFG_PUAPAR		0x0F	/* UA0..UA3 = Uart 0 +1 */
247*f28e1bd9STsiChungLiew #define CFG_DDRUA		0x05
248*f28e1bd9STsiChungLiew #define CFG_PJPAR 		0xFF;
2494e5ca3ebSwdenk 
2504e5ca3ebSwdenk #endif				/* _CONFIG_M5282EVB_H */
251