xref: /rk3399_rockchip-uboot/include/configs/M5282EVB.h (revision 4cb4e654cafabaa1ac180d37b00c8f6095dae9c9)
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 
39f28e1bd9STsiChungLiew #define CONFIG_MCFTMR
404e5ca3ebSwdenk 
41f28e1bd9STsiChungLiew #define CONFIG_MCFUART
42f28e1bd9STsiChungLiew #define CFG_UART_PORT		(0)
43bf9e3b38Swdenk #define CONFIG_BAUDRATE 19200
44bf9e3b38Swdenk #define CFG_BAUDRATE_TABLE { 9600 , 19200 , 38400 , 57600, 115200 }
45bf9e3b38Swdenk 
46f28e1bd9STsiChungLiew #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>
67f28e1bd9STsiChungLiew #define CONFIG_CMD_NET
68f28e1bd9STsiChungLiew #define CONFIG_CMD_PING
69f28e1bd9STsiChungLiew #define CONFIG_CMD_MII
70bf9e3b38Swdenk 
718353e139SJon Loeliger #undef CONFIG_CMD_LOADS
728353e139SJon Loeliger #undef CONFIG_CMD_LOADB
738353e139SJon Loeliger 
74f28e1bd9STsiChungLiew #define CONFIG_MCFFEC
75f28e1bd9STsiChungLiew #ifdef CONFIG_MCFFEC
76f28e1bd9STsiChungLiew #	define CONFIG_NET_MULTI		1
77f28e1bd9STsiChungLiew #	define CONFIG_MII		1
780f3ba7e9STsiChung Liew #	define CONFIG_MII_INIT		1
79f28e1bd9STsiChungLiew #	define CFG_DISCOVER_PHY
80f28e1bd9STsiChungLiew #	define CFG_RX_ETH_BUFFER	8
81f28e1bd9STsiChungLiew #	define CFG_FAULT_ECHO_LINK_DOWN
82f28e1bd9STsiChungLiew 
83f28e1bd9STsiChungLiew #	define CFG_FEC0_PINMUX		0
84f28e1bd9STsiChungLiew #	define CFG_FEC0_MIIBASE		CFG_FEC0_IOBASE
85f28e1bd9STsiChungLiew #	define MCFFEC_TOUT_LOOP		50000
86f28e1bd9STsiChungLiew /* If CFG_DISCOVER_PHY is not defined - hardcoded */
87f28e1bd9STsiChungLiew #	ifndef CFG_DISCOVER_PHY
88f28e1bd9STsiChungLiew #		define FECDUPLEX	FULL
89f28e1bd9STsiChungLiew #		define FECSPEED		_100BASET
90f28e1bd9STsiChungLiew #	else
91f28e1bd9STsiChungLiew #		ifndef CFG_FAULT_ECHO_LINK_DOWN
92f28e1bd9STsiChungLiew #			define CFG_FAULT_ECHO_LINK_DOWN
93f28e1bd9STsiChungLiew #		endif
94f28e1bd9STsiChungLiew #	endif			/* CFG_DISCOVER_PHY */
95f28e1bd9STsiChungLiew #endif
968353e139SJon Loeliger 
97bf9e3b38Swdenk #define CONFIG_BOOTDELAY	5
98f28e1bd9STsiChungLiew #ifdef CONFIG_MCFFEC
99f28e1bd9STsiChungLiew #	define CONFIG_ETHADDR	00:e0:0c:bc:e5:60
100f28e1bd9STsiChungLiew #	define CONFIG_IPADDR	192.162.1.2
101f28e1bd9STsiChungLiew #	define CONFIG_NETMASK	255.255.255.0
102f28e1bd9STsiChungLiew #	define CONFIG_SERVERIP	192.162.1.1
103f28e1bd9STsiChungLiew #	define CONFIG_GATEWAYIP	192.162.1.1
104f28e1bd9STsiChungLiew #	define CONFIG_OVERWRITE_ETHADDR_ONCE
105f28e1bd9STsiChungLiew #endif				/* CONFIG_MCFFEC */
106f28e1bd9STsiChungLiew 
107*4cb4e654STsiChung Liew #define CONFIG_HOSTNAME		M5282EVB
108f28e1bd9STsiChungLiew #define CONFIG_EXTRA_ENV_SETTINGS		\
109f28e1bd9STsiChungLiew 	"netdev=eth0\0"				\
110f28e1bd9STsiChungLiew 	"loadaddr=10000\0"			\
111f28e1bd9STsiChungLiew 	"u-boot=u-boot.bin\0"			\
112f28e1bd9STsiChungLiew 	"load=tftp ${loadaddr) ${u-boot}\0"	\
113f28e1bd9STsiChungLiew 	"upd=run load; run prog\0"		\
114f28e1bd9STsiChungLiew 	"prog=prot off ffe00000 ffe3ffff;"	\
115f28e1bd9STsiChungLiew 	"era ffe00000 ffe3ffff;"		\
116f28e1bd9STsiChungLiew 	"cp.b ${loadaddr} ffe00000 ${filesize};"\
117f28e1bd9STsiChungLiew 	"save\0"				\
118f28e1bd9STsiChungLiew 	""
119bf9e3b38Swdenk 
120bf9e3b38Swdenk #define CFG_PROMPT		"-> "
121bf9e3b38Swdenk #define	CFG_LONGHELP		/* undef to save memory         */
122bf9e3b38Swdenk 
1238353e139SJon Loeliger #if defined(CONFIG_CMD_KGDB)
124bf9e3b38Swdenk #define	CFG_CBSIZE		1024	/* Console I/O Buffer Size      */
125bf9e3b38Swdenk #else
126bf9e3b38Swdenk #define	CFG_CBSIZE		256	/* Console I/O Buffer Size      */
127bf9e3b38Swdenk #endif
128bf9e3b38Swdenk #define	CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)	/* Print Buffer Size */
129bf9e3b38Swdenk #define	CFG_MAXARGS		16	/* max number of command args   */
130bf9e3b38Swdenk #define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size    */
131bf9e3b38Swdenk 
132bf9e3b38Swdenk #define CFG_LOAD_ADDR		0x20000
133bf9e3b38Swdenk 
134bf9e3b38Swdenk #define CFG_MEMTEST_START	0x400
135bf9e3b38Swdenk #define CFG_MEMTEST_END		0x380000
136bf9e3b38Swdenk 
137*4cb4e654STsiChung Liew #define CFG_HZ			1000
138bf9e3b38Swdenk #define	CFG_CLK			64000000
139bf9e3b38Swdenk 
140f28e1bd9STsiChungLiew /* PLL Configuration: Ext Clock * 6 (see table 9-4 of MCF user manual) */
141f28e1bd9STsiChungLiew 
142f28e1bd9STsiChungLiew #define CFG_MFD			0x02	/* PLL Multiplication Factor Devider */
143f28e1bd9STsiChungLiew #define CFG_RFD			0x00	/* PLL Reduce Frecuency Devider */
144bf9e3b38Swdenk 
145bf9e3b38Swdenk /*
146bf9e3b38Swdenk  * Low Level Configuration Settings
147bf9e3b38Swdenk  * (address mappings, register initial values, etc.)
148bf9e3b38Swdenk  * You should know what you are doing if you make changes here.
149bf9e3b38Swdenk  */
150bf9e3b38Swdenk #define	CFG_MBAR		0x40000000
151bf9e3b38Swdenk 
152bf9e3b38Swdenk /*-----------------------------------------------------------------------
153bf9e3b38Swdenk  * Definitions for initial stack pointer and data area (in DPRAM)
154bf9e3b38Swdenk  */
155bf9e3b38Swdenk #define CFG_INIT_RAM_ADDR	0x20000000
156bf9e3b38Swdenk #define CFG_INIT_RAM_END	0x10000	/* End of used area in internal SRAM    */
157bf9e3b38Swdenk #define CFG_GBL_DATA_SIZE	64	/* size in bytes reserved for initial data */
158bf9e3b38Swdenk #define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
159bf9e3b38Swdenk #define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET
160bf9e3b38Swdenk 
161bf9e3b38Swdenk /*-----------------------------------------------------------------------
162bf9e3b38Swdenk  * Start addresses for the final memory configuration
163bf9e3b38Swdenk  * (Set up by the startup code)
164bf9e3b38Swdenk  * Please note that CFG_SDRAM_BASE _must_ start at 0
165bf9e3b38Swdenk  */
166bf9e3b38Swdenk #define CFG_SDRAM_BASE		0x00000000
1672acefa72STsiChungLiew #define	CFG_SDRAM_SIZE		16	/* SDRAM size in MB */
168bf9e3b38Swdenk #define CFG_FLASH_BASE		0xffe00000
169bf9e3b38Swdenk #define	CFG_INT_FLASH_BASE	0xf0000000
170f28e1bd9STsiChungLiew #define CFG_INT_FLASH_ENABLE	0x21
171bf9e3b38Swdenk 
172bf9e3b38Swdenk /* If M5282 port is fully implemented the monitor base will be behind
173bf9e3b38Swdenk  * the vector table. */
174f28e1bd9STsiChungLiew #if (TEXT_BASE != CFG_INT_FLASH_BASE)
175f28e1bd9STsiChungLiew #define CFG_MONITOR_BASE	(CFG_FLASH_BASE + 0x400)
176f28e1bd9STsiChungLiew #else
177f28e1bd9STsiChungLiew #define CFG_MONITOR_BASE	(TEXT_BASE + 0x418)	/* 24 Byte for CFM-Config */
178f28e1bd9STsiChungLiew #endif
179bf9e3b38Swdenk 
180bf9e3b38Swdenk #define CFG_MONITOR_LEN		0x20000
181bf9e3b38Swdenk #define CFG_MALLOC_LEN		(256 << 10)
182bf9e3b38Swdenk #define CFG_BOOTPARAMS_LEN	64*1024
183bf9e3b38Swdenk 
184bf9e3b38Swdenk /*
185bf9e3b38Swdenk  * For booting Linux, the board info and command line data
186bf9e3b38Swdenk  * have to be in the first 8 MB of memory, since this is
187bf9e3b38Swdenk  * the maximum mapped by the Linux kernel during initialization ??
188bf9e3b38Swdenk  */
189f28e1bd9STsiChungLiew #define CFG_BOOTMAPSZ		(CFG_SDRAM_BASE + (CFG_SDRAM_SIZE << 20))
190bf9e3b38Swdenk 
191bf9e3b38Swdenk /*-----------------------------------------------------------------------
192bf9e3b38Swdenk  * FLASH organization
193bf9e3b38Swdenk  */
194f28e1bd9STsiChungLiew #define CFG_FLASH_CFI
195f28e1bd9STsiChungLiew #ifdef CFG_FLASH_CFI
196f28e1bd9STsiChungLiew 
19700b1883aSJean-Christophe PLAGNIOL-VILLARD #	define CONFIG_FLASH_CFI_DRIVER	1
198f28e1bd9STsiChungLiew #	define CFG_FLASH_SIZE		0x1000000	/* Max size that the board might have */
199f28e1bd9STsiChungLiew #	define CFG_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
200f28e1bd9STsiChungLiew #	define CFG_MAX_FLASH_BANKS	1	/* max number of memory banks */
201f28e1bd9STsiChungLiew #	define CFG_MAX_FLASH_SECT	137	/* max number of sectors on one chip */
202f28e1bd9STsiChungLiew #	define CFG_FLASH_PROTECTION	/* "Real" (hardware) sectors protection */
203f28e1bd9STsiChungLiew #	define CFG_FLASH_CHECKSUM
204f28e1bd9STsiChungLiew #	define CFG_FLASH_BANKS_LIST	{ CFG_FLASH_BASE }
205f28e1bd9STsiChungLiew #endif
206bf9e3b38Swdenk 
207bf9e3b38Swdenk /*-----------------------------------------------------------------------
208bf9e3b38Swdenk  * Cache Configuration
209bf9e3b38Swdenk  */
210bf9e3b38Swdenk #define CFG_CACHELINE_SIZE	16
211bf9e3b38Swdenk 
212bf9e3b38Swdenk /*-----------------------------------------------------------------------
213bf9e3b38Swdenk  * Memory bank definitions
214bf9e3b38Swdenk  */
215f28e1bd9STsiChungLiew #define CFG_CS0_BASE		CFG_FLASH_BASE
216f28e1bd9STsiChungLiew #define CFG_CS0_SIZE		2*1024*1024
217f28e1bd9STsiChungLiew #define CFG_CS0_WIDTH		16
218f28e1bd9STsiChungLiew #define CFG_CS0_RO		0
219f28e1bd9STsiChungLiew #define CFG_CS0_WS		6
220f28e1bd9STsiChungLiew /*
221f28e1bd9STsiChungLiew #define CFG_CS3_BASE		0xE0000000
222f28e1bd9STsiChungLiew #define CFG_CS3_SIZE		1*1024*1024
223f28e1bd9STsiChungLiew #define CFG_CS3_WIDTH		16
224f28e1bd9STsiChungLiew #define CFG_CS3_RO		0
225f28e1bd9STsiChungLiew #define CFG_CS3_WS		6
226f28e1bd9STsiChungLiew */
227bf9e3b38Swdenk /*-----------------------------------------------------------------------
228bf9e3b38Swdenk  * Port configuration
229bf9e3b38Swdenk  */
230f28e1bd9STsiChungLiew #define CFG_PACNT		0x0000000	/* Port A D[31:24] */
231f28e1bd9STsiChungLiew #define CFG_PADDR		0x0000000
232f28e1bd9STsiChungLiew #define CFG_PADAT		0x0000000
233bf9e3b38Swdenk 
234f28e1bd9STsiChungLiew #define CFG_PBCNT		0x0000000	/* Port B D[23:16] */
235f28e1bd9STsiChungLiew #define CFG_PBDDR		0x0000000
236f28e1bd9STsiChungLiew #define CFG_PBDAT		0x0000000
237f28e1bd9STsiChungLiew 
238f28e1bd9STsiChungLiew #define CFG_PCCNT		0x0000000	/* Port C D[15:08] */
239f28e1bd9STsiChungLiew #define CFG_PCDDR		0x0000000
240f28e1bd9STsiChungLiew #define CFG_PCDAT		0x0000000
241f28e1bd9STsiChungLiew 
242f28e1bd9STsiChungLiew #define CFG_PDCNT		0x0000000	/* Port D D[07:00] */
243f28e1bd9STsiChungLiew #define CFG_PCDDR		0x0000000
244f28e1bd9STsiChungLiew #define CFG_PCDAT		0x0000000
245f28e1bd9STsiChungLiew 
246f28e1bd9STsiChungLiew #define CFG_PEHLPAR		0xC0
247f28e1bd9STsiChungLiew #define CFG_PUAPAR		0x0F	/* UA0..UA3 = Uart 0 +1 */
248f28e1bd9STsiChungLiew #define CFG_DDRUA		0x05
249f28e1bd9STsiChungLiew #define CFG_PJPAR		0xFF;
2504e5ca3ebSwdenk 
2514e5ca3ebSwdenk #endif				/* _CONFIG_M5282EVB_H */
252