xref: /rk3399_rockchip-uboot/include/configs/ve8313.h (revision 14d0a02a168b36e87665b8d7f42fa3e88263d26d)
14e43b2e8SHeiko Schocher /*
24e43b2e8SHeiko Schocher  * Copyright (C) Freescale Semiconductor, Inc. 2006.
34e43b2e8SHeiko Schocher  *
44e43b2e8SHeiko Schocher  * (C) Copyright 2010
54e43b2e8SHeiko Schocher  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
64e43b2e8SHeiko Schocher  *
74e43b2e8SHeiko Schocher  * See file CREDITS for list of people who contributed to this
84e43b2e8SHeiko Schocher  * project.
94e43b2e8SHeiko Schocher  *
104e43b2e8SHeiko Schocher  * This program is free software; you can redistribute it and/or
114e43b2e8SHeiko Schocher  * modify it under the terms of the GNU General Public License as
124e43b2e8SHeiko Schocher  * published by the Free Software Foundation; either version 2 of
134e43b2e8SHeiko Schocher  * the License, or (at your option) any later version.
144e43b2e8SHeiko Schocher  *
154e43b2e8SHeiko Schocher  * This program is distributed in the hope that it will be useful,
164e43b2e8SHeiko Schocher  * but WITHOUT ANY WARRANTY; without even the implied warranty of
174e43b2e8SHeiko Schocher  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
184e43b2e8SHeiko Schocher  * GNU General Public License for more details.
194e43b2e8SHeiko Schocher  *
204e43b2e8SHeiko Schocher  * You should have received a copy of the GNU General Public License
214e43b2e8SHeiko Schocher  * along with this program; if not, write to the Free Software
224e43b2e8SHeiko Schocher  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
234e43b2e8SHeiko Schocher  * MA 02111-1307 USA
244e43b2e8SHeiko Schocher  */
254e43b2e8SHeiko Schocher /*
264e43b2e8SHeiko Schocher  * ve8313 board configuration file
274e43b2e8SHeiko Schocher  */
284e43b2e8SHeiko Schocher 
294e43b2e8SHeiko Schocher #ifndef __CONFIG_H
304e43b2e8SHeiko Schocher #define __CONFIG_H
314e43b2e8SHeiko Schocher 
324e43b2e8SHeiko Schocher /*
334e43b2e8SHeiko Schocher  * High Level Configuration Options
344e43b2e8SHeiko Schocher  */
354e43b2e8SHeiko Schocher #define CONFIG_E300		1
364e43b2e8SHeiko Schocher #define CONFIG_MPC83xx		1
374e43b2e8SHeiko Schocher #define CONFIG_MPC831x		1
384e43b2e8SHeiko Schocher #define CONFIG_MPC8313		1
394e43b2e8SHeiko Schocher #define CONFIG_VE8313		1
404e43b2e8SHeiko Schocher 
414e43b2e8SHeiko Schocher #define CONFIG_PCI		1
42a2243b84SKumar Gala #define CONFIG_FSL_ELBC		1
434e43b2e8SHeiko Schocher 
444e43b2e8SHeiko Schocher #define CONFIG_BOARD_EARLY_INIT_F	1
454e43b2e8SHeiko Schocher 
464e43b2e8SHeiko Schocher /*
474e43b2e8SHeiko Schocher  * On-board devices
484e43b2e8SHeiko Schocher  *
494e43b2e8SHeiko Schocher  */
504e43b2e8SHeiko Schocher #define CONFIG_83XX_CLKIN	32000000	/* in Hz */
514e43b2e8SHeiko Schocher 
524e43b2e8SHeiko Schocher #define CONFIG_SYS_CLK_FREQ	CONFIG_83XX_CLKIN
534e43b2e8SHeiko Schocher 
544e43b2e8SHeiko Schocher #define CONFIG_SYS_IMMR		0xE0000000
554e43b2e8SHeiko Schocher 
564e43b2e8SHeiko Schocher #define CONFIG_SYS_MEMTEST_START	0x00001000
574e43b2e8SHeiko Schocher #define CONFIG_SYS_MEMTEST_END		0x07000000
584e43b2e8SHeiko Schocher 
594e43b2e8SHeiko Schocher #define CONFIG_SYS_ACR_PIPE_DEP		3	/* Arbiter pipeline depth */
604e43b2e8SHeiko Schocher #define CONFIG_SYS_ACR_RPTCNT		3	/* Arbiter repeat count */
614e43b2e8SHeiko Schocher 
624e43b2e8SHeiko Schocher /*
634e43b2e8SHeiko Schocher  * Device configurations
644e43b2e8SHeiko Schocher  */
654e43b2e8SHeiko Schocher 
664e43b2e8SHeiko Schocher /*
674e43b2e8SHeiko Schocher  * DDR Setup
684e43b2e8SHeiko Schocher  */
694e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_BASE		0x00000000	/* DDR is system memory*/
704e43b2e8SHeiko Schocher #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_BASE
714e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_SDRAM_BASE	CONFIG_SYS_DDR_BASE
724e43b2e8SHeiko Schocher 
734e43b2e8SHeiko Schocher /*
744e43b2e8SHeiko Schocher  * Manually set up DDR parameters, as this board does not
754e43b2e8SHeiko Schocher  * have the SPD connected to I2C.
764e43b2e8SHeiko Schocher  */
774e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_SIZE		128		/* MB */
784e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_CONFIG		( CSCONFIG_EN \
794e43b2e8SHeiko Schocher 				| CSCONFIG_AP \
804e43b2e8SHeiko Schocher 				| 0x00040000 /* TODO */ \
814e43b2e8SHeiko Schocher 				| CSCONFIG_ROW_BIT_13 | CSCONFIG_COL_BIT_10 )
824e43b2e8SHeiko Schocher 				/* 0x80840102 */
834e43b2e8SHeiko Schocher 
844e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_3	0x00000000
854e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_0	( ( 0 << TIMING_CFG0_RWT_SHIFT ) \
864e43b2e8SHeiko Schocher 				| ( 0 << TIMING_CFG0_WRT_SHIFT ) \
874e43b2e8SHeiko Schocher 				| ( 3 << TIMING_CFG0_RRT_SHIFT ) \
884e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG0_WWT_SHIFT ) \
894e43b2e8SHeiko Schocher 				| ( 7 << TIMING_CFG0_ACT_PD_EXIT_SHIFT ) \
904e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT ) \
914e43b2e8SHeiko Schocher 				| ( 8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT ) \
924e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG0_MRS_CYC_SHIFT ) )
934e43b2e8SHeiko Schocher 				/* 0x0e720802 */
944e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_1	( ( 2 << TIMING_CFG1_PRETOACT_SHIFT ) \
954e43b2e8SHeiko Schocher 				| ( 6 << TIMING_CFG1_ACTTOPRE_SHIFT ) \
964e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG1_ACTTORW_SHIFT ) \
974e43b2e8SHeiko Schocher 				| ( 5 << TIMING_CFG1_CASLAT_SHIFT ) \
984e43b2e8SHeiko Schocher 				| ( 6 << TIMING_CFG1_REFREC_SHIFT ) \
994e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG1_WRREC_SHIFT ) \
1004e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG1_ACTTOACT_SHIFT ) \
1014e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG1_WRTORD_SHIFT ) )
1024e43b2e8SHeiko Schocher 				/* 0x26256222 */
1034e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_2	( ( 0 << TIMING_CFG2_ADD_LAT_SHIFT ) \
1044e43b2e8SHeiko Schocher 				| ( 5 << TIMING_CFG2_CPO_SHIFT ) \
1054e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT ) \
1064e43b2e8SHeiko Schocher 				| ( 1 << TIMING_CFG2_RD_TO_PRE_SHIFT ) \
1074e43b2e8SHeiko Schocher 				| ( 2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT ) \
1084e43b2e8SHeiko Schocher 				| ( 3 << TIMING_CFG2_CKE_PLS_SHIFT ) \
1094e43b2e8SHeiko Schocher 				| ( 7 << TIMING_CFG2_FOUR_ACT_SHIFT) )
1104e43b2e8SHeiko Schocher 				/* 0x029028c7 */
1114e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_INTERVAL	( ( 0x320 << SDRAM_INTERVAL_REFINT_SHIFT ) \
1124e43b2e8SHeiko Schocher 				| ( 0x2000 << SDRAM_INTERVAL_BSTOPRE_SHIFT ) )
1134e43b2e8SHeiko Schocher 				/* 0x03202000 */
1144e43b2e8SHeiko Schocher #define CONFIG_SYS_SDRAM_CFG		( SDRAM_CFG_SREN \
1154e43b2e8SHeiko Schocher 				| SDRAM_CFG_SDRAM_TYPE_DDR2 \
1164e43b2e8SHeiko Schocher 				| SDRAM_CFG_32_BE )
1174e43b2e8SHeiko Schocher 				/* 0x43080000 */
1184e43b2e8SHeiko Schocher #define CONFIG_SYS_SDRAM_CFG2		0x00401000
1194e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_MODE		( ( 0x4440 << SDRAM_MODE_ESD_SHIFT ) \
1204e43b2e8SHeiko Schocher 				| ( 0x0232 << SDRAM_MODE_SD_SHIFT ) )
1214e43b2e8SHeiko Schocher 				/* 0x44400232 */
1224e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_MODE_2		0x8000C000
1234e43b2e8SHeiko Schocher 
1244e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_CLK_CNTL	DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05
1254e43b2e8SHeiko Schocher 				/*0x02000000*/
1264e43b2e8SHeiko Schocher #define CONFIG_SYS_DDRCDR_VALUE	( DDRCDR_EN \
1274e43b2e8SHeiko Schocher 				| DDRCDR_PZ_NOMZ \
1284e43b2e8SHeiko Schocher 				| DDRCDR_NZ_NOMZ \
1294e43b2e8SHeiko Schocher 				| DDRCDR_M_ODR )
1304e43b2e8SHeiko Schocher 				/* 0x73000002 */
1314e43b2e8SHeiko Schocher 
1324e43b2e8SHeiko Schocher /*
1334e43b2e8SHeiko Schocher  * FLASH on the Local Bus
1344e43b2e8SHeiko Schocher  */
1354e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_CFI		/* use the Common Flash Interface */
1364e43b2e8SHeiko Schocher #define CONFIG_FLASH_CFI_DRIVER		/* use the CFI driver */
1374e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_BASE		0xFE000000
1384e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_SIZE		32	/* size in MB */
1394e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_EMPTY_INFO		/* display empty sectors */
1404e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	/* buffer up multiple bytes */
1414e43b2e8SHeiko Schocher 
1424e43b2e8SHeiko Schocher #define CONFIG_SYS_NOR_BR_PRELIM	(CONFIG_SYS_FLASH_BASE | \
1434e43b2e8SHeiko Schocher 				(2 << BR_PS_SHIFT) |	/* 16 bit */ \
1444e43b2e8SHeiko Schocher 				BR_V)			/* valid */
1454e43b2e8SHeiko Schocher #define CONFIG_SYS_NOR_OR_PRELIM	(MEG_TO_AM(CONFIG_SYS_FLASH_SIZE) \
1464e43b2e8SHeiko Schocher 				| OR_GPCM_CSNT \
1474e43b2e8SHeiko Schocher 				| OR_GPCM_ACS_DIV4 \
1484e43b2e8SHeiko Schocher 				| OR_GPCM_SCY_5 \
1494e43b2e8SHeiko Schocher 				| OR_GPCM_TRLX \
1504e43b2e8SHeiko Schocher 				| OR_GPCM_EAD)
1514e43b2e8SHeiko Schocher 				/* 0xfe000c55 */
1524e43b2e8SHeiko Schocher 
1534e43b2e8SHeiko Schocher #define CONFIG_SYS_LBLAWBAR0_PRELIM	CONFIG_SYS_FLASH_BASE
1544e43b2e8SHeiko Schocher #define CONFIG_SYS_LBLAWAR0_PRELIM	0x80000018 /* 32 MB window size */
1554e43b2e8SHeiko Schocher 
1564e43b2e8SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_BANKS	1		/* number of banks */
1574e43b2e8SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_SECT	256		/* sectors per dev */
1584e43b2e8SHeiko Schocher 
1594e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
1604e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
1614e43b2e8SHeiko Schocher 
162*14d0a02aSWolfgang Denk #define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_TEXT_BASE	/* start of monitor */
1634e43b2e8SHeiko Schocher 
1644e43b2e8SHeiko Schocher #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
1654e43b2e8SHeiko Schocher #define CONFIG_SYS_RAMBOOT
1664e43b2e8SHeiko Schocher #endif
1674e43b2e8SHeiko Schocher 
1684e43b2e8SHeiko Schocher #define CONFIG_SYS_INIT_RAM_LOCK	1
1694e43b2e8SHeiko Schocher #define CONFIG_SYS_INIT_RAM_ADDR	0xFD000000 /* Initial RAM address */
1704e43b2e8SHeiko Schocher #define CONFIG_SYS_INIT_RAM_END		0x1000	/* End of used area in RAM*/
1714e43b2e8SHeiko Schocher 
1724e43b2e8SHeiko Schocher #define CONFIG_SYS_GBL_DATA_SIZE	0x100	/* num bytes initial data */
1734e43b2e8SHeiko Schocher #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_END - \
1744e43b2e8SHeiko Schocher 					 CONFIG_SYS_GBL_DATA_SIZE)
1754e43b2e8SHeiko Schocher #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
1764e43b2e8SHeiko Schocher 
1774e43b2e8SHeiko Schocher /* CONFIG_SYS_MONITOR_LEN must be a multiple of CONFIG_ENV_SECT_SIZE */
1784e43b2e8SHeiko Schocher #define CONFIG_SYS_MONITOR_LEN		(384 * 1024)
1794e43b2e8SHeiko Schocher #define CONFIG_SYS_MALLOC_LEN		(512 * 1024)
1804e43b2e8SHeiko Schocher 
1814e43b2e8SHeiko Schocher /*
1824e43b2e8SHeiko Schocher  * Local Bus LCRR and LBCR regs
1834e43b2e8SHeiko Schocher  */
1844e43b2e8SHeiko Schocher #define CONFIG_SYS_LCRR_EADC	LCRR_EADC_3
1854e43b2e8SHeiko Schocher #define CONFIG_SYS_LCRR_CLKDIV	LCRR_CLKDIV_2
1864e43b2e8SHeiko Schocher 
1874e43b2e8SHeiko Schocher #define CONFIG_SYS_LBC_LBCR	0x00040000
1884e43b2e8SHeiko Schocher 
1894e43b2e8SHeiko Schocher #define CONFIG_SYS_LBC_MRTPR	0x20000000
1904e43b2e8SHeiko Schocher 
1914e43b2e8SHeiko Schocher /*
1924e43b2e8SHeiko Schocher  * NAND settings
1934e43b2e8SHeiko Schocher  */
1944e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_BASE		0x61000000
1954e43b2e8SHeiko Schocher #define CONFIG_SYS_MAX_NAND_DEVICE	1
1964e43b2e8SHeiko Schocher #define CONFIG_MTD_NAND_VERIFY_WRITE
1974e43b2e8SHeiko Schocher #define CONFIG_CMD_NAND 1
1984e43b2e8SHeiko Schocher #define CONFIG_NAND_FSL_ELBC 1
1994e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_BLOCK_SIZE 16384
2004e43b2e8SHeiko Schocher 
2014e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_BR_PRELIM	( CONFIG_SYS_NAND_BASE \
2024e43b2e8SHeiko Schocher 				| BR_PS_8		\
2034e43b2e8SHeiko Schocher 				| BR_DECC_CHK_GEN	\
2044e43b2e8SHeiko Schocher 				| BR_MS_FCM		\
2054e43b2e8SHeiko Schocher 				| BR_V )	/* valid */
2064e43b2e8SHeiko Schocher 				/* 0x61000c21 */
2074e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_OR_PRELIM	(0xffff8000 \
2084e43b2e8SHeiko Schocher 				| OR_FCM_BCTLD \
2094e43b2e8SHeiko Schocher 				| OR_FCM_CHT \
2104e43b2e8SHeiko Schocher 				| OR_FCM_SCY_2 \
2114e43b2e8SHeiko Schocher 				| OR_FCM_RST \
2124e43b2e8SHeiko Schocher 				| OR_FCM_TRLX)
2134e43b2e8SHeiko Schocher 				/* 0xffff90ac */
2144e43b2e8SHeiko Schocher 
2154e43b2e8SHeiko Schocher #define CONFIG_SYS_BR0_PRELIM CONFIG_SYS_NOR_BR_PRELIM
2164e43b2e8SHeiko Schocher #define CONFIG_SYS_OR0_PRELIM CONFIG_SYS_NOR_OR_PRELIM
2174e43b2e8SHeiko Schocher #define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_NAND_BR_PRELIM
2184e43b2e8SHeiko Schocher #define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_NAND_OR_PRELIM
2194e43b2e8SHeiko Schocher 
2204e43b2e8SHeiko Schocher #define CONFIG_SYS_LBLAWBAR1_PRELIM	CONFIG_SYS_NAND_BASE
2214e43b2e8SHeiko Schocher #define CONFIG_SYS_LBLAWAR1_PRELIM	0x8000000E	/* 32KB  */
2224e43b2e8SHeiko Schocher 
2234e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_LBLAWBAR_PRELIM CONFIG_SYS_LBLAWBAR1_PRELIM
2244e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_LBLAWAR_PRELIM CONFIG_SYS_LBLAWAR1_PRELIM
2254e43b2e8SHeiko Schocher 
2264e43b2e8SHeiko Schocher /* CS2 NvRAM */
2274e43b2e8SHeiko Schocher #define CONFIG_SYS_BR2_PRELIM	(0x60000000	\
2284e43b2e8SHeiko Schocher 				| BR_PS_8	\
2294e43b2e8SHeiko Schocher 				| BR_V)
2304e43b2e8SHeiko Schocher 				/* 0x60000801 */
2314e43b2e8SHeiko Schocher #define CONFIG_SYS_OR2_PRELIM	(0xfffe0000	\
2324e43b2e8SHeiko Schocher 				| OR_GPCM_CSNT	\
2334e43b2e8SHeiko Schocher 				| OR_GPCM_XACS	\
2344e43b2e8SHeiko Schocher 				| OR_GPCM_SCY_3 \
2354e43b2e8SHeiko Schocher 				| OR_GPCM_TRLX \
2364e43b2e8SHeiko Schocher 				| OR_GPCM_EHTR \
2374e43b2e8SHeiko Schocher 				| OR_GPCM_EAD)
2384e43b2e8SHeiko Schocher 				/* 0xfffe0937 */
2394e43b2e8SHeiko Schocher /* local bus read write buffer mapping SRAM@0x64000000 */
2404e43b2e8SHeiko Schocher #define CONFIG_SYS_BR3_PRELIM	(0x62000000	\
2414e43b2e8SHeiko Schocher 				| BR_PS_16	\
2424e43b2e8SHeiko Schocher 				| BR_V)
2434e43b2e8SHeiko Schocher 				/* 0x62001001 */
2444e43b2e8SHeiko Schocher 
2454e43b2e8SHeiko Schocher #define CONFIG_SYS_OR3_PRELIM	(0xfe000000	\
2464e43b2e8SHeiko Schocher 				| OR_GPCM_CSNT	\
2474e43b2e8SHeiko Schocher 				| OR_GPCM_XACS	\
2484e43b2e8SHeiko Schocher 				| OR_GPCM_SCY_15 \
2494e43b2e8SHeiko Schocher 				| OR_GPCM_TRLX \
2504e43b2e8SHeiko Schocher 				| OR_GPCM_EHTR \
2514e43b2e8SHeiko Schocher 				| OR_GPCM_EAD)
2524e43b2e8SHeiko Schocher 				/* 0xfe0009f7 */
2534e43b2e8SHeiko Schocher 
2544e43b2e8SHeiko Schocher /* pass open firmware flat tree */
2554e43b2e8SHeiko Schocher #define CONFIG_OF_LIBFDT	1
2564e43b2e8SHeiko Schocher #define CONFIG_OF_BOARD_SETUP	1
2574e43b2e8SHeiko Schocher #define CONFIG_OF_STDOUT_VIA_ALIAS	1
2584e43b2e8SHeiko Schocher 
2594e43b2e8SHeiko Schocher /*
2604e43b2e8SHeiko Schocher  * Serial Port
2614e43b2e8SHeiko Schocher  */
2624e43b2e8SHeiko Schocher #define CONFIG_CONS_INDEX	1
2634e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550
2644e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_SERIAL
2654e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_REG_SIZE	1
2664e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
2674e43b2e8SHeiko Schocher 
2684e43b2e8SHeiko Schocher #define CONFIG_SYS_BAUDRATE_TABLE	\
2694e43b2e8SHeiko Schocher 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
2704e43b2e8SHeiko Schocher 
2714e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_COM1	(CONFIG_SYS_IMMR+0x4500)
2724e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_COM2	(CONFIG_SYS_IMMR+0x4600)
2734e43b2e8SHeiko Schocher 
2744e43b2e8SHeiko Schocher /* Use the HUSH parser */
2754e43b2e8SHeiko Schocher #define CONFIG_SYS_HUSH_PARSER
2764e43b2e8SHeiko Schocher #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
2774e43b2e8SHeiko Schocher 
2784e43b2e8SHeiko Schocher #if defined(CONFIG_PCI)
2794e43b2e8SHeiko Schocher /*
2804e43b2e8SHeiko Schocher  * General PCI
2814e43b2e8SHeiko Schocher  * Addresses are mapped 1-1.
2824e43b2e8SHeiko Schocher  */
2834e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MEM_BASE	0x80000000
2844e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MEM_PHYS	CONFIG_SYS_PCI1_MEM_BASE
2854e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MEM_SIZE	0x10000000	/* 256M */
2864e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MMIO_BASE	0x90000000
2874e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MMIO_PHYS	CONFIG_SYS_PCI1_MMIO_BASE
2884e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MMIO_SIZE	0x10000000	/* 256M */
2894e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_IO_BASE	0x00000000
2904e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_IO_PHYS	0xE2000000
2914e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_IO_SIZE	0x00100000	/* 1M */
2924e43b2e8SHeiko Schocher 
2934e43b2e8SHeiko Schocher #define CONFIG_PCI_PNP		/* do pci plug-and-play */
2944e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957	/* Freescale */
2954e43b2e8SHeiko Schocher #endif
2964e43b2e8SHeiko Schocher 
2974e43b2e8SHeiko Schocher /*
2984e43b2e8SHeiko Schocher  * TSEC
2994e43b2e8SHeiko Schocher  */
3004e43b2e8SHeiko Schocher #define CONFIG_TSEC_ENET		/* TSEC ethernet support */
3014e43b2e8SHeiko Schocher 
3024e43b2e8SHeiko Schocher #define CONFIG_NET_MULTI
3034e43b2e8SHeiko Schocher 
3044e43b2e8SHeiko Schocher #define CONFIG_TSEC1
3054e43b2e8SHeiko Schocher #ifdef CONFIG_TSEC1
3064e43b2e8SHeiko Schocher #define CONFIG_HAS_ETH0
3074e43b2e8SHeiko Schocher #define CONFIG_TSEC1_NAME	"TSEC1"
3084e43b2e8SHeiko Schocher #define CONFIG_SYS_TSEC1_OFFSET	0x24000
3094e43b2e8SHeiko Schocher #define TSEC1_PHY_ADDR		0x01
3104e43b2e8SHeiko Schocher #define TSEC1_FLAGS		0
3114e43b2e8SHeiko Schocher #define TSEC1_PHYIDX		0
3124e43b2e8SHeiko Schocher #endif
3134e43b2e8SHeiko Schocher 
3144e43b2e8SHeiko Schocher /* Options are: TSEC[0-1] */
3154e43b2e8SHeiko Schocher #define CONFIG_ETHPRIME			"TSEC1"
3164e43b2e8SHeiko Schocher 
3174e43b2e8SHeiko Schocher /*
3184e43b2e8SHeiko Schocher  * Environment
3194e43b2e8SHeiko Schocher  */
3204e43b2e8SHeiko Schocher #define CONFIG_ENV_IS_IN_FLASH	1
3214e43b2e8SHeiko Schocher #define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + \
3224e43b2e8SHeiko Schocher 					CONFIG_SYS_MONITOR_LEN)
3234e43b2e8SHeiko Schocher #define CONFIG_ENV_SECT_SIZE	0x20000	/* 128K(one sector) for env */
3244e43b2e8SHeiko Schocher #define CONFIG_ENV_SIZE		0x4000
3254e43b2e8SHeiko Schocher /* Address and size of Redundant Environment Sector */
3264e43b2e8SHeiko Schocher #define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + \
3274e43b2e8SHeiko Schocher 					CONFIG_ENV_SECT_SIZE)
3284e43b2e8SHeiko Schocher #define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE)
3294e43b2e8SHeiko Schocher 
3304e43b2e8SHeiko Schocher #define CONFIG_LOADS_ECHO	1	/* echo on for serial download */
3314e43b2e8SHeiko Schocher #define CONFIG_SYS_LOADS_BAUD_CHANGE	1	/* allow baudrate change */
3324e43b2e8SHeiko Schocher 
3334e43b2e8SHeiko Schocher /*
3344e43b2e8SHeiko Schocher  * BOOTP options
3354e43b2e8SHeiko Schocher  */
3364e43b2e8SHeiko Schocher #define CONFIG_BOOTP_BOOTFILESIZE
3374e43b2e8SHeiko Schocher #define CONFIG_BOOTP_BOOTPATH
3384e43b2e8SHeiko Schocher #define CONFIG_BOOTP_GATEWAY
3394e43b2e8SHeiko Schocher #define CONFIG_BOOTP_HOSTNAME
3404e43b2e8SHeiko Schocher 
3414e43b2e8SHeiko Schocher /*
3424e43b2e8SHeiko Schocher  * Command line configuration.
3434e43b2e8SHeiko Schocher  */
3444e43b2e8SHeiko Schocher #include <config_cmd_default.h>
3454e43b2e8SHeiko Schocher 
3464e43b2e8SHeiko Schocher #define CONFIG_CMD_DHCP
3474e43b2e8SHeiko Schocher #define CONFIG_CMD_MII
3484e43b2e8SHeiko Schocher #define CONFIG_CMD_PING
3494e43b2e8SHeiko Schocher #define CONFIG_CMD_PCI
3504e43b2e8SHeiko Schocher 
3514e43b2e8SHeiko Schocher #define CONFIG_CMDLINE_EDITING 1
3524e43b2e8SHeiko Schocher #define CONFIG_AUTO_COMPLETE	/* add autocompletion support   */
3534e43b2e8SHeiko Schocher 
3544e43b2e8SHeiko Schocher /*
3554e43b2e8SHeiko Schocher  * Miscellaneous configurable options
3564e43b2e8SHeiko Schocher  */
3574e43b2e8SHeiko Schocher #define CONFIG_SYS_LONGHELP			/* undef to save memory */
3584e43b2e8SHeiko Schocher #define CONFIG_SYS_LOAD_ADDR	0x100000	/* default load address */
3594e43b2e8SHeiko Schocher #define CONFIG_SYS_PROMPT	"=> "		/* Monitor Command Prompt */
3604e43b2e8SHeiko Schocher #define CONFIG_SYS_CBSIZE	1024		/* Console I/O Buffer Size */
3614e43b2e8SHeiko Schocher 
3624e43b2e8SHeiko Schocher #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
3634e43b2e8SHeiko Schocher #define CONFIG_SYS_MAXARGS	16		/* max number of cmd args */
3644e43b2e8SHeiko Schocher #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE /* Boot arg Buffer size */
3654e43b2e8SHeiko Schocher #define CONFIG_SYS_HZ		1000		/* 1ms ticks */
3664e43b2e8SHeiko Schocher 
3674e43b2e8SHeiko Schocher /*
3684e43b2e8SHeiko Schocher  * For booting Linux, the board info and command line data
3699f530d59SIra W. Snyder  * have to be in the first 256 MB of memory, since this is
3704e43b2e8SHeiko Schocher  * the maximum mapped by the Linux kernel during initialization.
3714e43b2e8SHeiko Schocher  */
3729f530d59SIra W. Snyder #define CONFIG_SYS_BOOTMAPSZ	(256 << 20)	/* Initial Memory map for Linux*/
3734e43b2e8SHeiko Schocher 
3744e43b2e8SHeiko Schocher /* 0x64050000 */
3754e43b2e8SHeiko Schocher #define CONFIG_SYS_HRCW_LOW (\
3764e43b2e8SHeiko Schocher 	0x20000000 /* reserved, must be set */ |\
3774e43b2e8SHeiko Schocher 	HRCWL_DDRCM |\
3784e43b2e8SHeiko Schocher 	HRCWL_CSB_TO_CLKIN_4X1 | \
3794e43b2e8SHeiko Schocher 	HRCWL_CORE_TO_CSB_2_5X1)
3804e43b2e8SHeiko Schocher 
3814e43b2e8SHeiko Schocher /* 0xa0600004 */
3824e43b2e8SHeiko Schocher #define CONFIG_SYS_HRCW_HIGH (HRCWH_PCI_HOST | \
3834e43b2e8SHeiko Schocher 	HRCWH_PCI_ARBITER_ENABLE | \
3844e43b2e8SHeiko Schocher 	HRCWH_CORE_ENABLE | \
3854e43b2e8SHeiko Schocher 	HRCWH_FROM_0X00000100 | \
3864e43b2e8SHeiko Schocher 	HRCWH_BOOTSEQ_DISABLE |\
3874e43b2e8SHeiko Schocher 	HRCWH_SW_WATCHDOG_DISABLE |\
3884e43b2e8SHeiko Schocher 	HRCWH_ROM_LOC_LOCAL_16BIT | \
3894e43b2e8SHeiko Schocher 	HRCWH_TSEC1M_IN_MII | \
3904e43b2e8SHeiko Schocher 	HRCWH_BIG_ENDIAN | \
3914e43b2e8SHeiko Schocher 	HRCWH_LALE_EARLY)
3924e43b2e8SHeiko Schocher 
3934e43b2e8SHeiko Schocher /* System IO Config */
3944e43b2e8SHeiko Schocher #define CONFIG_SYS_SICRH	(0x01000000 | \
3954e43b2e8SHeiko Schocher 				SICRH_ETSEC2_B | \
3964e43b2e8SHeiko Schocher 				SICRH_ETSEC2_C | \
3974e43b2e8SHeiko Schocher 				SICRH_ETSEC2_D | \
3984e43b2e8SHeiko Schocher 				SICRH_ETSEC2_E | \
3994e43b2e8SHeiko Schocher 				SICRH_ETSEC2_F | \
4004e43b2e8SHeiko Schocher 				SICRH_ETSEC2_G | \
4014e43b2e8SHeiko Schocher 				SICRH_TSOBI1 | \
4024e43b2e8SHeiko Schocher 				SICRH_TSOBI2)
4034e43b2e8SHeiko Schocher 				/* 0x010fff03 */
4044e43b2e8SHeiko Schocher #define CONFIG_SYS_SICRL	(SICRL_LBC | \
4054e43b2e8SHeiko Schocher 				SICRL_SPI_A | \
4064e43b2e8SHeiko Schocher 				SICRL_SPI_B | \
4074e43b2e8SHeiko Schocher 				SICRL_SPI_C | \
4084e43b2e8SHeiko Schocher 				SICRL_SPI_D | \
4094e43b2e8SHeiko Schocher 				SICRL_ETSEC2_A)
4104e43b2e8SHeiko Schocher 				/* 0x33fc0003) */
4114e43b2e8SHeiko Schocher 
4124e43b2e8SHeiko Schocher #define CONFIG_SYS_HID0_INIT	0x000000000
4134e43b2e8SHeiko Schocher #define CONFIG_SYS_HID0_FINAL	(HID0_ENABLE_MACHINE_CHECK | \
4144e43b2e8SHeiko Schocher 				 HID0_ENABLE_INSTRUCTION_CACHE)
4154e43b2e8SHeiko Schocher 
4164e43b2e8SHeiko Schocher #define CONFIG_SYS_HID2 HID2_HBE
4174e43b2e8SHeiko Schocher 
4184e43b2e8SHeiko Schocher #define CONFIG_HIGH_BATS	1	/* High BATs supported */
4194e43b2e8SHeiko Schocher 
4204e43b2e8SHeiko Schocher /* DDR @ 0x00000000 */
4214e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT0L	(CONFIG_SYS_SDRAM_BASE | BATL_PP_10)
4224e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT0U	(CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | \
4234e43b2e8SHeiko Schocher 				 BATU_VS | BATU_VP)
4244e43b2e8SHeiko Schocher 
4254e43b2e8SHeiko Schocher #if defined(CONFIG_PCI)
4264e43b2e8SHeiko Schocher /* PCI @ 0x80000000 */
4274e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT1L	(CONFIG_SYS_PCI1_MEM_BASE | BATL_PP_10)
4284e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT1U	(CONFIG_SYS_PCI1_MEM_BASE | BATU_BL_256M | \
4294e43b2e8SHeiko Schocher 				BATU_VS | BATU_VP)
4304e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT2L	(CONFIG_SYS_PCI1_MMIO_BASE | BATL_PP_10 | \
4314e43b2e8SHeiko Schocher 				BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
4324e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT2U	(CONFIG_SYS_PCI1_MMIO_BASE | BATU_BL_256M | \
4334e43b2e8SHeiko Schocher 				BATU_VS | BATU_VP)
4344e43b2e8SHeiko Schocher #else
4354e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT1L	(0)
4364e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT1U	(0)
4374e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT2L	(0)
4384e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT2U	(0)
4394e43b2e8SHeiko Schocher #endif
4404e43b2e8SHeiko Schocher 
4414e43b2e8SHeiko Schocher /* PCI2 not supported on 8313 */
4424e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT3L	(0)
4434e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT3U	(0)
4444e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT4L	(0)
4454e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT4U	(0)
4464e43b2e8SHeiko Schocher 
4474e43b2e8SHeiko Schocher /* IMMRBAR @ 0xE0000000, PCI IO @ 0xE2000000 & BCSR @ 0xE2400000 */
4484e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT5L	(CONFIG_SYS_IMMR | BATL_PP_10 | \
4494e43b2e8SHeiko Schocher 				BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
4504e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT5U	(CONFIG_SYS_IMMR | BATU_BL_256M | BATU_VS | \
4514e43b2e8SHeiko Schocher 				BATU_VP)
4524e43b2e8SHeiko Schocher 
4534e43b2e8SHeiko Schocher /* stack in DCACHE 0xFDF00000 & FLASH @ 0xFE000000 */
4544e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT6L	(0xF0000000 | BATL_PP_10 | BATL_GUARDEDSTORAGE)
4554e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT6U	(0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
4564e43b2e8SHeiko Schocher 
4574e43b2e8SHeiko Schocher /*  FPGA, SRAM, NAND @ 0x60000000 */
4584e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT7L	(0x60000000 | BATL_PP_10 | BATL_GUARDEDSTORAGE)
4594e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT7U	(0x60000000 | BATU_BL_256M | BATU_VS | BATU_VP)
4604e43b2e8SHeiko Schocher 
4614e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT0L	CONFIG_SYS_IBAT0L
4624e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT0U	CONFIG_SYS_IBAT0U
4634e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT1L	CONFIG_SYS_IBAT1L
4644e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT1U	CONFIG_SYS_IBAT1U
4654e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT2L	CONFIG_SYS_IBAT2L
4664e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT2U	CONFIG_SYS_IBAT2U
4674e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT3L	CONFIG_SYS_IBAT3L
4684e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT3U	CONFIG_SYS_IBAT3U
4694e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT4L	CONFIG_SYS_IBAT4L
4704e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT4U	CONFIG_SYS_IBAT4U
4714e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT5L	CONFIG_SYS_IBAT5L
4724e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT5U	CONFIG_SYS_IBAT5U
4734e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT6L	CONFIG_SYS_IBAT6L
4744e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT6U	CONFIG_SYS_IBAT6U
4754e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT7L	CONFIG_SYS_IBAT7L
4764e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT7U	CONFIG_SYS_IBAT7U
4774e43b2e8SHeiko Schocher 
4784e43b2e8SHeiko Schocher /*
4794e43b2e8SHeiko Schocher  * Internal Definitions
4804e43b2e8SHeiko Schocher  *
4814e43b2e8SHeiko Schocher  * Boot Flags
4824e43b2e8SHeiko Schocher  */
4834e43b2e8SHeiko Schocher #define BOOTFLAG_COLD	0x01	/* Normal Power-On: Boot from FLASH */
4844e43b2e8SHeiko Schocher #define BOOTFLAG_WARM	0x02	/* Software reboot */
4854e43b2e8SHeiko Schocher 
4864e43b2e8SHeiko Schocher #define CONFIG_NETDEV		eth0
4874e43b2e8SHeiko Schocher 
4884e43b2e8SHeiko Schocher #define CONFIG_HOSTNAME		ve8313
4894e43b2e8SHeiko Schocher #define CONFIG_UBOOTPATH	ve8313/u-boot.bin
4904e43b2e8SHeiko Schocher 
4914e43b2e8SHeiko Schocher #define CONFIG_BOOTDELAY	6	/* -1 disables auto-boot */
4924e43b2e8SHeiko Schocher #define CONFIG_BAUDRATE		115200
4934e43b2e8SHeiko Schocher 
4944e43b2e8SHeiko Schocher #define XMK_STR(x)	#x
4954e43b2e8SHeiko Schocher #define MK_STR(x)	XMK_STR(x)
4964e43b2e8SHeiko Schocher 
4974e43b2e8SHeiko Schocher #define CONFIG_EXTRA_ENV_SETTINGS \
4984e43b2e8SHeiko Schocher 	"netdev=" MK_STR(CONFIG_NETDEV) "\0"				\
4994e43b2e8SHeiko Schocher 	"ethprime=" MK_STR(CONFIG_TSEC1_NAME) "\0"			\
5004e43b2e8SHeiko Schocher 	"u-boot=" MK_STR(CONFIG_UBOOTPATH) "\0"				\
5014e43b2e8SHeiko Schocher 	"u-boot_addr_r=100000\0"					\
5024e43b2e8SHeiko Schocher 	"load=tftp ${u-boot_addr_r} ${u-boot}\0"			\
5034e43b2e8SHeiko Schocher 	"update=protect off " MK_STR(CONFIG_SYS_FLASH_BASE) " +${filesize};" \
5044e43b2e8SHeiko Schocher 	"erase " MK_STR(CONFIG_SYS_FLASH_BASE) " +${filesize};" \
5054e43b2e8SHeiko Schocher 	"cp.b ${u-boot_addr_r} " MK_STR(CONFIG_SYS_FLASH_BASE) \
5064e43b2e8SHeiko Schocher 	" ${filesize};" \
5074e43b2e8SHeiko Schocher 	"protect on " MK_STR(CONFIG_SYS_FLASH_BASE) " +${filesize}\0" \
5084e43b2e8SHeiko Schocher 
5094e43b2e8SHeiko Schocher #undef MK_STR
5104e43b2e8SHeiko Schocher #undef XMK_STR
5114e43b2e8SHeiko Schocher 
5124e43b2e8SHeiko Schocher #endif	/* __CONFIG_H */
513