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