xref: /rk3399_rockchip-uboot/include/configs/M5329EVB.h (revision 48dbfeabc7afffe30609a4489f10c22cb67ef7dd)
18e585f02STsiChung Liew /*
28e585f02STsiChung Liew  * Configuation settings for the Freescale MCF5329 FireEngine board.
38e585f02STsiChung Liew  *
48e585f02STsiChung Liew  * Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
58e585f02STsiChung Liew  * TsiChung Liew (Tsi-Chung.Liew@freescale.com)
68e585f02STsiChung Liew  *
78e585f02STsiChung Liew  * See file CREDITS for list of people who contributed to this
88e585f02STsiChung Liew  * project.
98e585f02STsiChung Liew  *
108e585f02STsiChung Liew  * This program is free software; you can redistribute it and/or
118e585f02STsiChung Liew  * modify it under the terms of the GNU General Public License as
128e585f02STsiChung Liew  * published by the Free Software Foundation; either version 2 of
138e585f02STsiChung Liew  * the License, or (at your option) any later version.
148e585f02STsiChung Liew  *
158e585f02STsiChung Liew  * This program is distributed in the hope that it will be useful,
168e585f02STsiChung Liew  * but WITHOUT ANY WARRANTY; without even the implied warranty of
178e585f02STsiChung Liew  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
188e585f02STsiChung Liew  * GNU General Public License for more details.
198e585f02STsiChung Liew  *
208e585f02STsiChung Liew  * You should have received a copy of the GNU General Public License
218e585f02STsiChung Liew  * along with this program; if not, write to the Free Software
228e585f02STsiChung Liew  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
238e585f02STsiChung Liew  * MA 02111-1307 USA
248e585f02STsiChung Liew  */
258e585f02STsiChung Liew 
268e585f02STsiChung Liew /*
278e585f02STsiChung Liew  * board/config.h - configuration options, board specific
288e585f02STsiChung Liew  */
298e585f02STsiChung Liew 
308e585f02STsiChung Liew #ifndef _M5329EVB_H
318e585f02STsiChung Liew #define _M5329EVB_H
328e585f02STsiChung Liew 
338e585f02STsiChung Liew /*
348e585f02STsiChung Liew  * High Level Configuration Options
358e585f02STsiChung Liew  * (easy to change)
368e585f02STsiChung Liew  */
378e585f02STsiChung Liew #define CONFIG_MCF532x		/* define processor family */
388e585f02STsiChung Liew #define CONFIG_M5329		/* define processor type */
398e585f02STsiChung Liew 
408e585f02STsiChung Liew #undef DEBUG
418e585f02STsiChung Liew 
428e585f02STsiChung Liew #define CONFIG_MCFSERIAL
438e585f02STsiChung Liew #define CONFIG_BAUDRATE		115200
448e585f02STsiChung Liew #define CFG_BAUDRATE_TABLE	{ 9600 , 19200 , 38400 , 57600, 115200 }
458e585f02STsiChung Liew 
468e585f02STsiChung Liew #undef CONFIG_WATCHDOG
478e585f02STsiChung Liew #define CONFIG_WATCHDOG_TIMEOUT	5000	/* timeout in milliseconds, max timeout is 6.71sec */
488e585f02STsiChung Liew 
498e585f02STsiChung Liew #define CONFIG_COMMANDS		( CONFIG_CMD_DFL | \
508e585f02STsiChung Liew 							  CFG_CMD_CACHE | \
518e585f02STsiChung Liew 							  CFG_CMD_DATE | \
528e585f02STsiChung Liew 							  CFG_CMD_ELF | \
538e585f02STsiChung Liew 							  CFG_CMD_FLASH | \
548e585f02STsiChung Liew 							  (CFG_CMD_LOADB | CFG_CMD_LOADS) | \
558e585f02STsiChung Liew 							  CFG_CMD_MEMORY | \
568e585f02STsiChung Liew 							  CFG_CMD_MISC | \
578e585f02STsiChung Liew 							  CFG_CMD_MII | \
588e585f02STsiChung Liew 							  CFG_CMD_NET | \
598e585f02STsiChung Liew 							  CFG_CMD_PING | \
608e585f02STsiChung Liew 							  CFG_CMD_REGINFO \
618e585f02STsiChung Liew 							)
628e585f02STsiChung Liew 
638e585f02STsiChung Liew #define CONFIG_MCFFEC
648e585f02STsiChung Liew #ifdef CONFIG_MCFFEC
658e585f02STsiChung Liew #	define CONFIG_NET_MULTI	1
668e585f02STsiChung Liew #	define CONFIG_MII		1
678e585f02STsiChung Liew #	define CFG_DISCOVER_PHY
688e585f02STsiChung Liew #	define CFG_RX_ETH_BUFFER	8
698e585f02STsiChung Liew #	define CFG_FAULT_ECHO_LINK_DOWN
708e585f02STsiChung Liew 
718e585f02STsiChung Liew #	define CFG_FEC0_PINMUX	0
728e585f02STsiChung Liew #	define CFG_FEC0_MIIBASE	CFG_FEC0_IOBASE
738e585f02STsiChung Liew #	define MCFFEC_TOUT_LOOP 50000
748e585f02STsiChung Liew /* If CFG_DISCOVER_PHY is not defined - hardcoded */
758e585f02STsiChung Liew #	ifndef CFG_DISCOVER_PHY
768e585f02STsiChung Liew #		define FECDUPLEX	FULL
778e585f02STsiChung Liew #		define FECSPEED		_100BASET
788e585f02STsiChung Liew #	else
798e585f02STsiChung Liew #		ifndef CFG_FAULT_ECHO_LINK_DOWN
808e585f02STsiChung Liew #			define CFG_FAULT_ECHO_LINK_DOWN
818e585f02STsiChung Liew #		endif
828e585f02STsiChung Liew #	endif			/* CFG_DISCOVER_PHY */
838e585f02STsiChung Liew #endif
848e585f02STsiChung Liew 
858e585f02STsiChung Liew #define CONFIG_MCFUART
868e585f02STsiChung Liew #define CFG_UART_PORT		(0)
878e585f02STsiChung Liew 
888e585f02STsiChung Liew #define CONFIG_MCFRTC
898e585f02STsiChung Liew #undef RTC_DEBUG
908e585f02STsiChung Liew 
918e585f02STsiChung Liew /* Timer */
928e585f02STsiChung Liew #define CONFIG_MCFTMR
938e585f02STsiChung Liew #undef CONFIG_MCFPIT
948e585f02STsiChung Liew 
958e585f02STsiChung Liew /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
968e585f02STsiChung Liew #include <cmd_confdefs.h>
978e585f02STsiChung Liew #define CONFIG_BOOTDELAY	1	/* autoboot after 5 seconds */
988e585f02STsiChung Liew #ifdef CONFIG_MCFFEC
998e585f02STsiChung Liew #	define CONFIG_ETHADDR		00:e0:0c:bc:e5:60
1008e585f02STsiChung Liew #	define CONFIG_IPADDR		192.162.1.2
1018e585f02STsiChung Liew #	define CONFIG_NETMASK		255.255.255.0
1028e585f02STsiChung Liew #	define CONFIG_SERVERIP		192.162.1.1
1038e585f02STsiChung Liew #	define CONFIG_GATEWAYIP	192.162.1.1
1048e585f02STsiChung Liew #	define CONFIG_OVERWRITE_ETHADDR_ONCE
1058e585f02STsiChung Liew #endif				/* FEC_ENET */
1068e585f02STsiChung Liew 
1078e585f02STsiChung Liew #define CONFIG_HOSTNAME		M5329EVB
1088e585f02STsiChung Liew #define CONFIG_EXTRA_ENV_SETTINGS					\
1098e585f02STsiChung Liew 	"netdev=eth0\0"			\
1108e585f02STsiChung Liew 	"loadaddr=40010000\0"	\
1118e585f02STsiChung Liew 	"u-boot=u-boot.bin\0"	\
1128e585f02STsiChung Liew 	"load=tftp ${loadaddr) ${u-boot}\0"	\
1138e585f02STsiChung Liew 	"upd=run load; run prog\0"	\
1148e585f02STsiChung Liew 	"prog=prot off 0 2ffff;"	\
1158e585f02STsiChung Liew 	"era 0 2ffff;"	\
1168e585f02STsiChung Liew 	"cp.b ${loadaddr} 0 ${filesize};"	\
1178e585f02STsiChung Liew 	"save\0"	\
1188e585f02STsiChung Liew 	""
1198e585f02STsiChung Liew 
1208e585f02STsiChung Liew #define CONFIG_PRAM			512	/* 512 KB */
1218e585f02STsiChung Liew #define CFG_PROMPT			"-> "
1228e585f02STsiChung Liew #define CFG_LONGHELP		/* undef to save memory */
1238e585f02STsiChung Liew 
1248e585f02STsiChung Liew #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
1258e585f02STsiChung Liew #	define CFG_CBSIZE			1024	/* Console I/O Buffer Size */
1268e585f02STsiChung Liew #else
1278e585f02STsiChung Liew #	define CFG_CBSIZE			256	/* Console I/O Buffer Size */
1288e585f02STsiChung Liew #endif
1298e585f02STsiChung Liew 
1308e585f02STsiChung Liew #define CFG_PBSIZE			(CFG_CBSIZE+sizeof(CFG_PROMPT)+16)	/* Print Buffer Size */
1318e585f02STsiChung Liew #define CFG_MAXARGS			16	/* max number of command args */
1328e585f02STsiChung Liew #define CFG_BARGSIZE		CFG_CBSIZE	/* Boot Argument Buffer Size    */
1338e585f02STsiChung Liew #define CFG_LOAD_ADDR		0x40010000
1348e585f02STsiChung Liew 
1358e585f02STsiChung Liew #define CFG_HZ				1000
1368e585f02STsiChung Liew #define CFG_CLK				80000000
1378e585f02STsiChung Liew #define CFG_CPU_CLK			CFG_CLK * 3
1388e585f02STsiChung Liew 
1398e585f02STsiChung Liew #define CFG_MBAR			0xFC000000
1408e585f02STsiChung Liew 
1418e585f02STsiChung Liew /*
1428e585f02STsiChung Liew  * Low Level Configuration Settings
1438e585f02STsiChung Liew  * (address mappings, register initial values, etc.)
1448e585f02STsiChung Liew  * You should know what you are doing if you make changes here.
1458e585f02STsiChung Liew  */
1468e585f02STsiChung Liew /*-----------------------------------------------------------------------
1478e585f02STsiChung Liew  * Definitions for initial stack pointer and data area (in DPRAM)
1488e585f02STsiChung Liew  */
1498e585f02STsiChung Liew #define CFG_INIT_RAM_ADDR	0x80000000
1508e585f02STsiChung Liew #define CFG_INIT_RAM_END	0x8000	/* End of used area in internal SRAM */
1518e585f02STsiChung Liew #define CFG_INIT_RAM_CTRL	0x221
1528e585f02STsiChung Liew #define CFG_GBL_DATA_SIZE	128	/* size in bytes reserved for initial data */
1538e585f02STsiChung Liew #define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
1548e585f02STsiChung Liew #define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET
1558e585f02STsiChung Liew 
1568e585f02STsiChung Liew /*-----------------------------------------------------------------------
1578e585f02STsiChung Liew  * Start addresses for the final memory configuration
1588e585f02STsiChung Liew  * (Set up by the startup code)
1598e585f02STsiChung Liew  * Please note that CFG_SDRAM_BASE _must_ start at 0
1608e585f02STsiChung Liew  */
1618e585f02STsiChung Liew #define CFG_SDRAM_BASE		0x40000000
1628e585f02STsiChung Liew #define CFG_SDRAM_SIZE		16	/* SDRAM size in MB */
1638e585f02STsiChung Liew #define CFG_SDRAM_CFG1		0x53722730
1648e585f02STsiChung Liew #define CFG_SDRAM_CFG2		0x56670000
1658e585f02STsiChung Liew #define CFG_SDRAM_CTRL		0xE1092000
1668e585f02STsiChung Liew #define CFG_SDRAM_EMOD		0x40010000
1678e585f02STsiChung Liew #define CFG_SDRAM_MODE		0x018D0000
1688e585f02STsiChung Liew 
1698e585f02STsiChung Liew #define CFG_MEMTEST_START	CFG_SDRAM_BASE + 0x400
1708e585f02STsiChung Liew #define CFG_MEMTEST_END		((CFG_SDRAM_SIZE - 3) << 20)
1718e585f02STsiChung Liew 
1728e585f02STsiChung Liew #define CFG_MONITOR_BASE	(CFG_FLASH_BASE + 0x400)
1738e585f02STsiChung Liew #define CFG_MONITOR_LEN		(256 << 10)	/* Reserve 256 kB for Monitor */
1748e585f02STsiChung Liew 
1758e585f02STsiChung Liew #define CFG_BOOTPARAMS_LEN	64*1024
1768e585f02STsiChung Liew #define CFG_MALLOC_LEN		(128 << 10)	/* Reserve 128 kB for malloc() */
1778e585f02STsiChung Liew 
1788e585f02STsiChung Liew /*
1798e585f02STsiChung Liew  * For booting Linux, the board info and command line data
1808e585f02STsiChung Liew  * have to be in the first 8 MB of memory, since this is
1818e585f02STsiChung Liew  * the maximum mapped by the Linux kernel during initialization ??
1828e585f02STsiChung Liew  */
1838e585f02STsiChung Liew #define CFG_BOOTMAPSZ		(8 << 20)	/* Initial Memory map for Linux */
1848e585f02STsiChung Liew 
1858e585f02STsiChung Liew /*-----------------------------------------------------------------------
1868e585f02STsiChung Liew  * FLASH organization
1878e585f02STsiChung Liew  */
188*48dbfeabSTsiChungLiew #define CFG_FLASH_CFI
1898e585f02STsiChung Liew #ifdef CFG_FLASH_CFI
1908e585f02STsiChung Liew #	define CFG_FLASH_CFI_DRIVER	1
1918e585f02STsiChung Liew #	define CFG_FLASH_SIZE		0x800000	/* Max size that the board might have */
1928e585f02STsiChung Liew #	define CFG_FLASH_CFI_WIDTH	FLASH_CFI_16BIT
193*48dbfeabSTsiChungLiew #	define CFG_MAX_FLASH_BANKS		1	/* max number of memory banks */
194*48dbfeabSTsiChungLiew #	define CFG_MAX_FLASH_SECT		137	/* max number of sectors on one chip */
195*48dbfeabSTsiChungLiew #	define CFG_FLASH_PROTECTION	/* "Real" (hardware) sectors protection */
1968e585f02STsiChung Liew #endif
1978e585f02STsiChung Liew 
1988e585f02STsiChung Liew #define CFG_FLASH_BASE			0
1998e585f02STsiChung Liew #define CFG_FLASH0_BASE			(CFG_CS0_BASE << 16)
2008e585f02STsiChung Liew 
2018e585f02STsiChung Liew /* Configuration for environment
2028e585f02STsiChung Liew  * Environment is embedded in u-boot in the second sector of the flash
2038e585f02STsiChung Liew  */
2048e585f02STsiChung Liew #define CFG_ENV_OFFSET		0x4000
2058e585f02STsiChung Liew #define CFG_ENV_SECT_SIZE	0x2000
2068e585f02STsiChung Liew #define CFG_ENV_IS_IN_FLASH	1
2078e585f02STsiChung Liew #define CFG_ENV_IS_EMBEDDED	1
2088e585f02STsiChung Liew 
2098e585f02STsiChung Liew /*-----------------------------------------------------------------------
2108e585f02STsiChung Liew  * Cache Configuration
2118e585f02STsiChung Liew  */
2128e585f02STsiChung Liew #define CFG_CACHELINE_SIZE	16
2138e585f02STsiChung Liew 
2148e585f02STsiChung Liew /*-----------------------------------------------------------------------
2158e585f02STsiChung Liew  * Chipselect bank definitions
2168e585f02STsiChung Liew  */
2178e585f02STsiChung Liew /*
2188e585f02STsiChung Liew  * CS0 - NOR Flash 1, 2, 4, or 8MB
2198e585f02STsiChung Liew  * CS1 - CompactFlash and registers
2208e585f02STsiChung Liew  * CS2 - NAND Flash 16, 32, or 64MB
2218e585f02STsiChung Liew  * CS3 - Available
2228e585f02STsiChung Liew  * CS4 - Available
2238e585f02STsiChung Liew  * CS5 - Available
2248e585f02STsiChung Liew  */
2258e585f02STsiChung Liew #define CFG_CS0_BASE		0
2268e585f02STsiChung Liew #define CFG_CS0_MASK		0x007f0001
2278e585f02STsiChung Liew #define CFG_CS0_CTRL		0x00001fa0
2288e585f02STsiChung Liew 
2298e585f02STsiChung Liew #define CFG_CS1_BASE		0x1000
2308e585f02STsiChung Liew #define CFG_CS1_MASK		0x001f0001
2318e585f02STsiChung Liew #define CFG_CS1_CTRL		0x002A3780
2328e585f02STsiChung Liew 
2338e585f02STsiChung Liew #ifdef NANDFLASH_SIZE
2348e585f02STsiChung Liew #define CFG_CS2_BASE		0x00800000
2358e585f02STsiChung Liew #define CFG_CS2_MASK		0x00ff0001
2368e585f02STsiChung Liew #define CFG_CS2_CTRL		0x00001f60
2378e585f02STsiChung Liew #endif
2388e585f02STsiChung Liew 
2398e585f02STsiChung Liew #define CONFIG_UDP_CHECKSUM
2408e585f02STsiChung Liew 
2418e585f02STsiChung Liew #endif				/* _M5329EVB_H */
242