xref: /rk3399_rockchip-uboot/include/configs/ve8313.h (revision 1f20fc53b382ece8da7440f354b219deb7ed19df)
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  *
7*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
84e43b2e8SHeiko Schocher  */
94e43b2e8SHeiko Schocher /*
104e43b2e8SHeiko Schocher  * ve8313 board configuration file
114e43b2e8SHeiko Schocher  */
124e43b2e8SHeiko Schocher 
134e43b2e8SHeiko Schocher #ifndef __CONFIG_H
144e43b2e8SHeiko Schocher #define __CONFIG_H
154e43b2e8SHeiko Schocher 
164e43b2e8SHeiko Schocher /*
174e43b2e8SHeiko Schocher  * High Level Configuration Options
184e43b2e8SHeiko Schocher  */
194e43b2e8SHeiko Schocher #define CONFIG_E300		1
204e43b2e8SHeiko Schocher #define CONFIG_MPC831x		1
214e43b2e8SHeiko Schocher #define CONFIG_MPC8313		1
224e43b2e8SHeiko Schocher #define CONFIG_VE8313		1
234e43b2e8SHeiko Schocher 
242ae18241SWolfgang Denk #ifndef CONFIG_SYS_TEXT_BASE
252ae18241SWolfgang Denk #define CONFIG_SYS_TEXT_BASE	0xfe000000
262ae18241SWolfgang Denk #endif
272ae18241SWolfgang Denk 
28842033e6SGabor Juhos #define CONFIG_PCI_INDIRECT_BRIDGE 1
29a2243b84SKumar Gala #define CONFIG_FSL_ELBC		1
304e43b2e8SHeiko Schocher 
314e43b2e8SHeiko Schocher /*
324e43b2e8SHeiko Schocher  * On-board devices
334e43b2e8SHeiko Schocher  *
344e43b2e8SHeiko Schocher  */
354e43b2e8SHeiko Schocher #define CONFIG_83XX_CLKIN	32000000	/* in Hz */
364e43b2e8SHeiko Schocher 
374e43b2e8SHeiko Schocher #define CONFIG_SYS_CLK_FREQ	CONFIG_83XX_CLKIN
384e43b2e8SHeiko Schocher 
394e43b2e8SHeiko Schocher #define CONFIG_SYS_IMMR		0xE0000000
404e43b2e8SHeiko Schocher 
414e43b2e8SHeiko Schocher #define CONFIG_SYS_MEMTEST_START	0x00001000
424e43b2e8SHeiko Schocher #define CONFIG_SYS_MEMTEST_END		0x07000000
434e43b2e8SHeiko Schocher 
444e43b2e8SHeiko Schocher #define CONFIG_SYS_ACR_PIPE_DEP		3	/* Arbiter pipeline depth */
454e43b2e8SHeiko Schocher #define CONFIG_SYS_ACR_RPTCNT		3	/* Arbiter repeat count */
464e43b2e8SHeiko Schocher 
474e43b2e8SHeiko Schocher /*
484e43b2e8SHeiko Schocher  * Device configurations
494e43b2e8SHeiko Schocher  */
504e43b2e8SHeiko Schocher 
514e43b2e8SHeiko Schocher /*
524e43b2e8SHeiko Schocher  * DDR Setup
534e43b2e8SHeiko Schocher  */
544e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_BASE		0x00000000 /* DDR is system memory*/
554e43b2e8SHeiko Schocher #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_BASE
564e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_SDRAM_BASE	CONFIG_SYS_DDR_BASE
574e43b2e8SHeiko Schocher 
584e43b2e8SHeiko Schocher /*
594e43b2e8SHeiko Schocher  * Manually set up DDR parameters, as this board does not
604e43b2e8SHeiko Schocher  * have the SPD connected to I2C.
614e43b2e8SHeiko Schocher  */
624e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_SIZE	128	/* MB */
632e651b24SJoe Hershberger #define CONFIG_SYS_DDR_CS0_CONFIG	(CSCONFIG_EN \
644e43b2e8SHeiko Schocher 				| CSCONFIG_AP \
652fef4020SJoe Hershberger 				| CSCONFIG_ODT_RD_NEVER \
662fef4020SJoe Hershberger 				| CSCONFIG_ODT_WR_ALL \
67be29fa71SJoe Hershberger 				| CSCONFIG_ROW_BIT_13 \
68be29fa71SJoe Hershberger 				| CSCONFIG_COL_BIT_10)
694e43b2e8SHeiko Schocher 				/* 0x80840102 */
704e43b2e8SHeiko Schocher 
714e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_3	0x00000000
724e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_0	((0 << TIMING_CFG0_RWT_SHIFT) \
734e43b2e8SHeiko Schocher 				| (0 << TIMING_CFG0_WRT_SHIFT) \
744e43b2e8SHeiko Schocher 				| (3 << TIMING_CFG0_RRT_SHIFT) \
754e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG0_WWT_SHIFT) \
764e43b2e8SHeiko Schocher 				| (7 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) \
774e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) \
784e43b2e8SHeiko Schocher 				| (8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) \
794e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG0_MRS_CYC_SHIFT))
804e43b2e8SHeiko Schocher 				/* 0x0e720802 */
814e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_1	((2 << TIMING_CFG1_PRETOACT_SHIFT) \
824e43b2e8SHeiko Schocher 				| (6 << TIMING_CFG1_ACTTOPRE_SHIFT) \
834e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG1_ACTTORW_SHIFT) \
844e43b2e8SHeiko Schocher 				| (5 << TIMING_CFG1_CASLAT_SHIFT) \
854e43b2e8SHeiko Schocher 				| (6 << TIMING_CFG1_REFREC_SHIFT) \
864e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG1_WRREC_SHIFT) \
874e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG1_ACTTOACT_SHIFT) \
884e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG1_WRTORD_SHIFT))
894e43b2e8SHeiko Schocher 				/* 0x26256222 */
904e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_TIMING_2	((0 << TIMING_CFG2_ADD_LAT_SHIFT) \
914e43b2e8SHeiko Schocher 				| (5 << TIMING_CFG2_CPO_SHIFT) \
924e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) \
934e43b2e8SHeiko Schocher 				| (1 << TIMING_CFG2_RD_TO_PRE_SHIFT) \
944e43b2e8SHeiko Schocher 				| (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) \
954e43b2e8SHeiko Schocher 				| (3 << TIMING_CFG2_CKE_PLS_SHIFT) \
964e43b2e8SHeiko Schocher 				| (7 << TIMING_CFG2_FOUR_ACT_SHIFT))
974e43b2e8SHeiko Schocher 				/* 0x029028c7 */
984e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_INTERVAL	((0x320 << SDRAM_INTERVAL_REFINT_SHIFT) \
994e43b2e8SHeiko Schocher 				| (0x2000 << SDRAM_INTERVAL_BSTOPRE_SHIFT))
1004e43b2e8SHeiko Schocher 				/* 0x03202000 */
1014e43b2e8SHeiko Schocher #define CONFIG_SYS_SDRAM_CFG	(SDRAM_CFG_SREN \
1024e43b2e8SHeiko Schocher 				| SDRAM_CFG_SDRAM_TYPE_DDR2 \
1032fef4020SJoe Hershberger 				| SDRAM_CFG_DBW_32)
1044e43b2e8SHeiko Schocher 				/* 0x43080000 */
1054e43b2e8SHeiko Schocher #define CONFIG_SYS_SDRAM_CFG2	0x00401000
1064e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_MODE	((0x4440 << SDRAM_MODE_ESD_SHIFT) \
1074e43b2e8SHeiko Schocher 				| (0x0232 << SDRAM_MODE_SD_SHIFT))
1084e43b2e8SHeiko Schocher 				/* 0x44400232 */
1094e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_MODE_2	0x8000C000
1104e43b2e8SHeiko Schocher 
1114e43b2e8SHeiko Schocher #define CONFIG_SYS_DDR_CLK_CNTL	DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05
1124e43b2e8SHeiko Schocher 				/*0x02000000*/
1134e43b2e8SHeiko Schocher #define CONFIG_SYS_DDRCDR_VALUE	(DDRCDR_EN \
1144e43b2e8SHeiko Schocher 				| DDRCDR_PZ_NOMZ \
1154e43b2e8SHeiko Schocher 				| DDRCDR_NZ_NOMZ \
1164e43b2e8SHeiko Schocher 				| DDRCDR_M_ODR)
1174e43b2e8SHeiko Schocher 				/* 0x73000002 */
1184e43b2e8SHeiko Schocher 
1194e43b2e8SHeiko Schocher /*
1204e43b2e8SHeiko Schocher  * FLASH on the Local Bus
1214e43b2e8SHeiko Schocher  */
1224e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_CFI		/* use the Common Flash Interface */
1234e43b2e8SHeiko Schocher #define CONFIG_FLASH_CFI_DRIVER		/* use the CFI driver */
1244e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_BASE		0xFE000000
1254e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_SIZE		32	/* size in MB */
1264e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_EMPTY_INFO		/* display empty sectors */
1274e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE	/* buffer up multiple bytes */
1284e43b2e8SHeiko Schocher 
129be29fa71SJoe Hershberger #define CONFIG_SYS_NOR_BR_PRELIM	(CONFIG_SYS_FLASH_BASE \
1307d6a0982SJoe Hershberger 					| BR_PS_16	/* 16 bit */ \
1317d6a0982SJoe Hershberger 					| BR_MS_GPCM	/* MSEL = GPCM */ \
132be29fa71SJoe Hershberger 					| BR_V)		/* valid */
1334e43b2e8SHeiko Schocher #define CONFIG_SYS_NOR_OR_PRELIM	(MEG_TO_AM(CONFIG_SYS_FLASH_SIZE) \
1344e43b2e8SHeiko Schocher 					| OR_GPCM_CSNT \
1354e43b2e8SHeiko Schocher 					| OR_GPCM_ACS_DIV4 \
1364e43b2e8SHeiko Schocher 					| OR_GPCM_SCY_5 \
1377d6a0982SJoe Hershberger 					| OR_GPCM_TRLX_SET \
1384e43b2e8SHeiko Schocher 					| OR_GPCM_EAD)
1394e43b2e8SHeiko Schocher 					/* 0xfe000c55 */
1404e43b2e8SHeiko Schocher 
1414e43b2e8SHeiko Schocher #define CONFIG_SYS_LBLAWBAR0_PRELIM	CONFIG_SYS_FLASH_BASE
1427d6a0982SJoe Hershberger #define CONFIG_SYS_LBLAWAR0_PRELIM	(LBLAWAR_EN | LBLAWAR_32MB)
1434e43b2e8SHeiko Schocher 
1444e43b2e8SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_BANKS	1		/* number of banks */
1454e43b2e8SHeiko Schocher #define CONFIG_SYS_MAX_FLASH_SECT	256		/* sectors per dev */
1464e43b2e8SHeiko Schocher 
1474e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
1484e43b2e8SHeiko Schocher #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
1494e43b2e8SHeiko Schocher 
15014d0a02aSWolfgang Denk #define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_TEXT_BASE	/* start of monitor */
1514e43b2e8SHeiko Schocher 
1524e43b2e8SHeiko Schocher #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
1534e43b2e8SHeiko Schocher #define CONFIG_SYS_RAMBOOT
1544e43b2e8SHeiko Schocher #endif
1554e43b2e8SHeiko Schocher 
1564e43b2e8SHeiko Schocher #define CONFIG_SYS_INIT_RAM_LOCK	1
1574e43b2e8SHeiko Schocher #define CONFIG_SYS_INIT_RAM_ADDR	0xFD000000 /* Initial RAM address */
158553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE	0x1000	/* Size of used area in RAM*/
1594e43b2e8SHeiko Schocher 
160be29fa71SJoe Hershberger #define CONFIG_SYS_GBL_DATA_OFFSET	\
161be29fa71SJoe Hershberger 			(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
1624e43b2e8SHeiko Schocher #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
1634e43b2e8SHeiko Schocher 
1644e43b2e8SHeiko Schocher /* CONFIG_SYS_MONITOR_LEN must be a multiple of CONFIG_ENV_SECT_SIZE */
1654e43b2e8SHeiko Schocher #define CONFIG_SYS_MONITOR_LEN		(384 * 1024)
1664e43b2e8SHeiko Schocher #define CONFIG_SYS_MALLOC_LEN		(512 * 1024)
1674e43b2e8SHeiko Schocher 
1684e43b2e8SHeiko Schocher /*
1694e43b2e8SHeiko Schocher  * Local Bus LCRR and LBCR regs
1704e43b2e8SHeiko Schocher  */
1714e43b2e8SHeiko Schocher #define CONFIG_SYS_LCRR_EADC	LCRR_EADC_3
1724e43b2e8SHeiko Schocher #define CONFIG_SYS_LCRR_CLKDIV	LCRR_CLKDIV_2
1734e43b2e8SHeiko Schocher 
1744e43b2e8SHeiko Schocher #define CONFIG_SYS_LBC_LBCR	0x00040000
1754e43b2e8SHeiko Schocher 
1764e43b2e8SHeiko Schocher #define CONFIG_SYS_LBC_MRTPR	0x20000000
1774e43b2e8SHeiko Schocher 
1784e43b2e8SHeiko Schocher /*
1794e43b2e8SHeiko Schocher  * NAND settings
1804e43b2e8SHeiko Schocher  */
1814e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_BASE		0x61000000
1824e43b2e8SHeiko Schocher #define CONFIG_SYS_MAX_NAND_DEVICE	1
1834e43b2e8SHeiko Schocher #define CONFIG_NAND_FSL_ELBC 1
1844e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_BLOCK_SIZE 16384
1854e43b2e8SHeiko Schocher 
1864e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_BR_PRELIM	(CONFIG_SYS_NAND_BASE \
1874e43b2e8SHeiko Schocher 					| BR_PS_8		\
1884e43b2e8SHeiko Schocher 					| BR_DECC_CHK_GEN	\
1894e43b2e8SHeiko Schocher 					| BR_MS_FCM		\
1904e43b2e8SHeiko Schocher 					| BR_V)	/* valid */
1914e43b2e8SHeiko Schocher 					/* 0x61000c21 */
1927d6a0982SJoe Hershberger #define CONFIG_SYS_NAND_OR_PRELIM	(OR_AM_32KB \
1934e43b2e8SHeiko Schocher 					| OR_FCM_BCTLD \
1944e43b2e8SHeiko Schocher 					| OR_FCM_CHT \
1954e43b2e8SHeiko Schocher 					| OR_FCM_SCY_2 \
1964e43b2e8SHeiko Schocher 					| OR_FCM_RST \
1974e43b2e8SHeiko Schocher 					| OR_FCM_TRLX)
1984e43b2e8SHeiko Schocher 					/* 0xffff90ac */
1994e43b2e8SHeiko Schocher 
2004e43b2e8SHeiko Schocher #define CONFIG_SYS_BR0_PRELIM CONFIG_SYS_NOR_BR_PRELIM
2014e43b2e8SHeiko Schocher #define CONFIG_SYS_OR0_PRELIM CONFIG_SYS_NOR_OR_PRELIM
2024e43b2e8SHeiko Schocher #define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_NAND_BR_PRELIM
2034e43b2e8SHeiko Schocher #define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_NAND_OR_PRELIM
2044e43b2e8SHeiko Schocher 
2054e43b2e8SHeiko Schocher #define CONFIG_SYS_LBLAWBAR1_PRELIM	CONFIG_SYS_NAND_BASE
2067d6a0982SJoe Hershberger #define CONFIG_SYS_LBLAWAR1_PRELIM	(LBLAWAR_EN | LBLAWAR_32KB)
2074e43b2e8SHeiko Schocher 
2084e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_LBLAWBAR_PRELIM CONFIG_SYS_LBLAWBAR1_PRELIM
2094e43b2e8SHeiko Schocher #define CONFIG_SYS_NAND_LBLAWAR_PRELIM CONFIG_SYS_LBLAWAR1_PRELIM
2104e43b2e8SHeiko Schocher 
2114e43b2e8SHeiko Schocher /* CS2 NvRAM */
2124e43b2e8SHeiko Schocher #define CONFIG_SYS_BR2_PRELIM	(0x60000000 \
2134e43b2e8SHeiko Schocher 				| BR_PS_8 \
2144e43b2e8SHeiko Schocher 				| BR_V)
2154e43b2e8SHeiko Schocher 				/* 0x60000801 */
2167d6a0982SJoe Hershberger #define CONFIG_SYS_OR2_PRELIM	(OR_AM_128KB \
2174e43b2e8SHeiko Schocher 				| OR_GPCM_CSNT \
2184e43b2e8SHeiko Schocher 				| OR_GPCM_XACS \
2194e43b2e8SHeiko Schocher 				| OR_GPCM_SCY_3 \
2207d6a0982SJoe Hershberger 				| OR_GPCM_TRLX_SET \
2217d6a0982SJoe Hershberger 				| OR_GPCM_EHTR_SET \
2224e43b2e8SHeiko Schocher 				| OR_GPCM_EAD)
2234e43b2e8SHeiko Schocher 				/* 0xfffe0937 */
2244e43b2e8SHeiko Schocher /* local bus read write buffer mapping SRAM@0x64000000 */
2254e43b2e8SHeiko Schocher #define CONFIG_SYS_BR3_PRELIM	(0x62000000 \
2264e43b2e8SHeiko Schocher 				| BR_PS_16 \
2274e43b2e8SHeiko Schocher 				| BR_V)
2284e43b2e8SHeiko Schocher 				/* 0x62001001 */
2294e43b2e8SHeiko Schocher 
2307d6a0982SJoe Hershberger #define CONFIG_SYS_OR3_PRELIM	(OR_AM_32MB \
2314e43b2e8SHeiko Schocher 				| OR_GPCM_CSNT \
2324e43b2e8SHeiko Schocher 				| OR_GPCM_XACS \
2334e43b2e8SHeiko Schocher 				| OR_GPCM_SCY_15 \
2347d6a0982SJoe Hershberger 				| OR_GPCM_TRLX_SET \
2357d6a0982SJoe Hershberger 				| OR_GPCM_EHTR_SET \
2364e43b2e8SHeiko Schocher 				| OR_GPCM_EAD)
2374e43b2e8SHeiko Schocher 				/* 0xfe0009f7 */
2384e43b2e8SHeiko Schocher 
2394e43b2e8SHeiko Schocher /*
2404e43b2e8SHeiko Schocher  * Serial Port
2414e43b2e8SHeiko Schocher  */
2424e43b2e8SHeiko Schocher #define CONFIG_CONS_INDEX	1
2434e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_SERIAL
2444e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_REG_SIZE	1
2454e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
2464e43b2e8SHeiko Schocher 
2474e43b2e8SHeiko Schocher #define CONFIG_SYS_BAUDRATE_TABLE	\
2484e43b2e8SHeiko Schocher 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
2494e43b2e8SHeiko Schocher 
2504e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_COM1	(CONFIG_SYS_IMMR+0x4500)
2514e43b2e8SHeiko Schocher #define CONFIG_SYS_NS16550_COM2	(CONFIG_SYS_IMMR+0x4600)
2524e43b2e8SHeiko Schocher 
2534e43b2e8SHeiko Schocher #if defined(CONFIG_PCI)
2544e43b2e8SHeiko Schocher /*
2554e43b2e8SHeiko Schocher  * General PCI
2564e43b2e8SHeiko Schocher  * Addresses are mapped 1-1.
2574e43b2e8SHeiko Schocher  */
2584e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MEM_BASE	0x80000000
2594e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MEM_PHYS	CONFIG_SYS_PCI1_MEM_BASE
2604e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MEM_SIZE	0x10000000	/* 256M */
2614e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MMIO_BASE	0x90000000
2624e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MMIO_PHYS	CONFIG_SYS_PCI1_MMIO_BASE
2634e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_MMIO_SIZE	0x10000000	/* 256M */
2644e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_IO_BASE		0x00000000
2654e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_IO_PHYS		0xE2000000
2664e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI1_IO_SIZE		0x00100000	/* 1M */
2674e43b2e8SHeiko Schocher 
2684e43b2e8SHeiko Schocher #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957	/* Freescale */
2694e43b2e8SHeiko Schocher #endif
2704e43b2e8SHeiko Schocher 
2714e43b2e8SHeiko Schocher /*
2724e43b2e8SHeiko Schocher  * TSEC
2734e43b2e8SHeiko Schocher  */
2744e43b2e8SHeiko Schocher #define CONFIG_TSEC_ENET		/* TSEC ethernet support */
2754e43b2e8SHeiko Schocher 
2764e43b2e8SHeiko Schocher #define CONFIG_TSEC1
2774e43b2e8SHeiko Schocher #ifdef CONFIG_TSEC1
2784e43b2e8SHeiko Schocher #define CONFIG_HAS_ETH0
2794e43b2e8SHeiko Schocher #define CONFIG_TSEC1_NAME	"TSEC1"
2804e43b2e8SHeiko Schocher #define CONFIG_SYS_TSEC1_OFFSET	0x24000
2814e43b2e8SHeiko Schocher #define TSEC1_PHY_ADDR		0x01
2824e43b2e8SHeiko Schocher #define TSEC1_FLAGS		0
2834e43b2e8SHeiko Schocher #define TSEC1_PHYIDX		0
2844e43b2e8SHeiko Schocher #endif
2854e43b2e8SHeiko Schocher 
2864e43b2e8SHeiko Schocher /* Options are: TSEC[0-1] */
2874e43b2e8SHeiko Schocher #define CONFIG_ETHPRIME			"TSEC1"
2884e43b2e8SHeiko Schocher 
2894e43b2e8SHeiko Schocher /*
2904e43b2e8SHeiko Schocher  * Environment
2914e43b2e8SHeiko Schocher  */
292be29fa71SJoe Hershberger #define CONFIG_ENV_ADDR		\
293be29fa71SJoe Hershberger 			(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)
2944e43b2e8SHeiko Schocher #define CONFIG_ENV_SECT_SIZE	0x20000	/* 128K(one sector) for env */
2954e43b2e8SHeiko Schocher #define CONFIG_ENV_SIZE		0x4000
2964e43b2e8SHeiko Schocher /* Address and size of Redundant Environment Sector */
297be29fa71SJoe Hershberger #define CONFIG_ENV_OFFSET_REDUND	\
298be29fa71SJoe Hershberger 			(CONFIG_ENV_OFFSET + CONFIG_ENV_SECT_SIZE)
2994e43b2e8SHeiko Schocher #define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE)
3004e43b2e8SHeiko Schocher 
3014e43b2e8SHeiko Schocher #define CONFIG_LOADS_ECHO	1	/* echo on for serial download */
3024e43b2e8SHeiko Schocher #define CONFIG_SYS_LOADS_BAUD_CHANGE	1	/* allow baudrate change */
3034e43b2e8SHeiko Schocher 
3044e43b2e8SHeiko Schocher /*
3054e43b2e8SHeiko Schocher  * BOOTP options
3064e43b2e8SHeiko Schocher  */
3074e43b2e8SHeiko Schocher #define CONFIG_BOOTP_BOOTFILESIZE
3084e43b2e8SHeiko Schocher #define CONFIG_BOOTP_BOOTPATH
3094e43b2e8SHeiko Schocher #define CONFIG_BOOTP_GATEWAY
3104e43b2e8SHeiko Schocher #define CONFIG_BOOTP_HOSTNAME
3114e43b2e8SHeiko Schocher 
3124e43b2e8SHeiko Schocher /*
3134e43b2e8SHeiko Schocher  * Command line configuration.
3144e43b2e8SHeiko Schocher  */
3154e43b2e8SHeiko Schocher 
3164e43b2e8SHeiko Schocher #define CONFIG_CMDLINE_EDITING 1
3174e43b2e8SHeiko Schocher #define CONFIG_AUTO_COMPLETE	/* add autocompletion support   */
3184e43b2e8SHeiko Schocher 
3194e43b2e8SHeiko Schocher /*
3204e43b2e8SHeiko Schocher  * Miscellaneous configurable options
3214e43b2e8SHeiko Schocher  */
3224e43b2e8SHeiko Schocher #define CONFIG_SYS_LONGHELP			/* undef to save memory */
3234e43b2e8SHeiko Schocher #define CONFIG_SYS_LOAD_ADDR	0x100000	/* default load address */
3244e43b2e8SHeiko Schocher #define CONFIG_SYS_CBSIZE	1024		/* Console I/O Buffer Size */
3254e43b2e8SHeiko Schocher 
3264e43b2e8SHeiko Schocher #define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE /* Boot arg Buffer size */
3274e43b2e8SHeiko Schocher 
3284e43b2e8SHeiko Schocher /*
3294e43b2e8SHeiko Schocher  * For booting Linux, the board info and command line data
3309f530d59SIra W. Snyder  * have to be in the first 256 MB of memory, since this is
3314e43b2e8SHeiko Schocher  * the maximum mapped by the Linux kernel during initialization.
3324e43b2e8SHeiko Schocher  */
333be29fa71SJoe Hershberger 				/* Initial Memory map for Linux*/
334be29fa71SJoe Hershberger #define CONFIG_SYS_BOOTMAPSZ	(256 << 20)
3354e43b2e8SHeiko Schocher 
3364e43b2e8SHeiko Schocher /* 0x64050000 */
3374e43b2e8SHeiko Schocher #define CONFIG_SYS_HRCW_LOW (\
3384e43b2e8SHeiko Schocher 	0x20000000 /* reserved, must be set */ |\
3394e43b2e8SHeiko Schocher 	HRCWL_DDRCM |\
3404e43b2e8SHeiko Schocher 	HRCWL_CSB_TO_CLKIN_4X1 | \
3414e43b2e8SHeiko Schocher 	HRCWL_CORE_TO_CSB_2_5X1)
3424e43b2e8SHeiko Schocher 
3434e43b2e8SHeiko Schocher /* 0xa0600004 */
3444e43b2e8SHeiko Schocher #define CONFIG_SYS_HRCW_HIGH (HRCWH_PCI_HOST | \
3454e43b2e8SHeiko Schocher 	HRCWH_PCI_ARBITER_ENABLE | \
3464e43b2e8SHeiko Schocher 	HRCWH_CORE_ENABLE | \
3474e43b2e8SHeiko Schocher 	HRCWH_FROM_0X00000100 | \
3484e43b2e8SHeiko Schocher 	HRCWH_BOOTSEQ_DISABLE |\
3494e43b2e8SHeiko Schocher 	HRCWH_SW_WATCHDOG_DISABLE |\
3504e43b2e8SHeiko Schocher 	HRCWH_ROM_LOC_LOCAL_16BIT | \
3514e43b2e8SHeiko Schocher 	HRCWH_TSEC1M_IN_MII | \
3524e43b2e8SHeiko Schocher 	HRCWH_BIG_ENDIAN | \
3534e43b2e8SHeiko Schocher 	HRCWH_LALE_EARLY)
3544e43b2e8SHeiko Schocher 
3554e43b2e8SHeiko Schocher /* System IO Config */
3564e43b2e8SHeiko Schocher #define CONFIG_SYS_SICRH	(0x01000000 | \
3574e43b2e8SHeiko Schocher 				SICRH_ETSEC2_B | \
3584e43b2e8SHeiko Schocher 				SICRH_ETSEC2_C | \
3594e43b2e8SHeiko Schocher 				SICRH_ETSEC2_D | \
3604e43b2e8SHeiko Schocher 				SICRH_ETSEC2_E | \
3614e43b2e8SHeiko Schocher 				SICRH_ETSEC2_F | \
3624e43b2e8SHeiko Schocher 				SICRH_ETSEC2_G | \
3634e43b2e8SHeiko Schocher 				SICRH_TSOBI1 | \
3644e43b2e8SHeiko Schocher 				SICRH_TSOBI2)
3654e43b2e8SHeiko Schocher 				/* 0x010fff03 */
3664e43b2e8SHeiko Schocher #define CONFIG_SYS_SICRL	(SICRL_LBC | \
3674e43b2e8SHeiko Schocher 				SICRL_SPI_A | \
3684e43b2e8SHeiko Schocher 				SICRL_SPI_B | \
3694e43b2e8SHeiko Schocher 				SICRL_SPI_C | \
3704e43b2e8SHeiko Schocher 				SICRL_SPI_D | \
3714e43b2e8SHeiko Schocher 				SICRL_ETSEC2_A)
3724e43b2e8SHeiko Schocher 				/* 0x33fc0003) */
3734e43b2e8SHeiko Schocher 
3744e43b2e8SHeiko Schocher #define CONFIG_SYS_HID0_INIT	0x000000000
3754e43b2e8SHeiko Schocher #define CONFIG_SYS_HID0_FINAL	(HID0_ENABLE_MACHINE_CHECK | \
3764e43b2e8SHeiko Schocher 				 HID0_ENABLE_INSTRUCTION_CACHE)
3774e43b2e8SHeiko Schocher 
3784e43b2e8SHeiko Schocher #define CONFIG_SYS_HID2 HID2_HBE
3794e43b2e8SHeiko Schocher 
3804e43b2e8SHeiko Schocher #define CONFIG_HIGH_BATS	1	/* High BATs supported */
3814e43b2e8SHeiko Schocher 
3824e43b2e8SHeiko Schocher /* DDR @ 0x00000000 */
38372cd4087SJoe Hershberger #define CONFIG_SYS_IBAT0L	(CONFIG_SYS_SDRAM_BASE | BATL_PP_RW)
384be29fa71SJoe Hershberger #define CONFIG_SYS_IBAT0U	(CONFIG_SYS_SDRAM_BASE \
385be29fa71SJoe Hershberger 				| BATU_BL_256M \
386be29fa71SJoe Hershberger 				| BATU_VS \
387be29fa71SJoe Hershberger 				| BATU_VP)
3884e43b2e8SHeiko Schocher 
3894e43b2e8SHeiko Schocher #if defined(CONFIG_PCI)
3904e43b2e8SHeiko Schocher /* PCI @ 0x80000000 */
39172cd4087SJoe Hershberger #define CONFIG_SYS_IBAT1L	(CONFIG_SYS_PCI1_MEM_BASE | BATL_PP_RW)
392be29fa71SJoe Hershberger #define CONFIG_SYS_IBAT1U	(CONFIG_SYS_PCI1_MEM_BASE \
393be29fa71SJoe Hershberger 				| BATU_BL_256M \
394be29fa71SJoe Hershberger 				| BATU_VS \
395be29fa71SJoe Hershberger 				| BATU_VP)
396be29fa71SJoe Hershberger #define CONFIG_SYS_IBAT2L	(CONFIG_SYS_PCI1_MMIO_BASE \
39772cd4087SJoe Hershberger 				| BATL_PP_RW \
398be29fa71SJoe Hershberger 				| BATL_CACHEINHIBIT \
399be29fa71SJoe Hershberger 				| BATL_GUARDEDSTORAGE)
400be29fa71SJoe Hershberger #define CONFIG_SYS_IBAT2U	(CONFIG_SYS_PCI1_MMIO_BASE \
401be29fa71SJoe Hershberger 				| BATU_BL_256M \
402be29fa71SJoe Hershberger 				| BATU_VS \
403be29fa71SJoe Hershberger 				| BATU_VP)
4044e43b2e8SHeiko Schocher #else
4054e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT1L	(0)
4064e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT1U	(0)
4074e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT2L	(0)
4084e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT2U	(0)
4094e43b2e8SHeiko Schocher #endif
4104e43b2e8SHeiko Schocher 
4114e43b2e8SHeiko Schocher /* PCI2 not supported on 8313 */
4124e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT3L	(0)
4134e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT3U	(0)
4144e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT4L	(0)
4154e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT4U	(0)
4164e43b2e8SHeiko Schocher 
4174e43b2e8SHeiko Schocher /* IMMRBAR @ 0xE0000000, PCI IO @ 0xE2000000 & BCSR @ 0xE2400000 */
418be29fa71SJoe Hershberger #define CONFIG_SYS_IBAT5L	(CONFIG_SYS_IMMR \
41972cd4087SJoe Hershberger 				| BATL_PP_RW \
420be29fa71SJoe Hershberger 				| BATL_CACHEINHIBIT \
421be29fa71SJoe Hershberger 				| BATL_GUARDEDSTORAGE)
422be29fa71SJoe Hershberger #define CONFIG_SYS_IBAT5U	(CONFIG_SYS_IMMR \
423be29fa71SJoe Hershberger 				| BATU_BL_256M \
424be29fa71SJoe Hershberger 				| BATU_VS \
425be29fa71SJoe Hershberger 				| BATU_VP)
4264e43b2e8SHeiko Schocher 
4274e43b2e8SHeiko Schocher /* stack in DCACHE 0xFDF00000 & FLASH @ 0xFE000000 */
42872cd4087SJoe Hershberger #define CONFIG_SYS_IBAT6L	(0xF0000000 | BATL_PP_RW | BATL_GUARDEDSTORAGE)
4294e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT6U	(0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
4304e43b2e8SHeiko Schocher 
4314e43b2e8SHeiko Schocher /*  FPGA, SRAM, NAND @ 0x60000000 */
43272cd4087SJoe Hershberger #define CONFIG_SYS_IBAT7L	(0x60000000 | BATL_PP_RW | BATL_GUARDEDSTORAGE)
4334e43b2e8SHeiko Schocher #define CONFIG_SYS_IBAT7U	(0x60000000 | BATU_BL_256M | BATU_VS | BATU_VP)
4344e43b2e8SHeiko Schocher 
4354e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT0L	CONFIG_SYS_IBAT0L
4364e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT0U	CONFIG_SYS_IBAT0U
4374e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT1L	CONFIG_SYS_IBAT1L
4384e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT1U	CONFIG_SYS_IBAT1U
4394e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT2L	CONFIG_SYS_IBAT2L
4404e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT2U	CONFIG_SYS_IBAT2U
4414e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT3L	CONFIG_SYS_IBAT3L
4424e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT3U	CONFIG_SYS_IBAT3U
4434e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT4L	CONFIG_SYS_IBAT4L
4444e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT4U	CONFIG_SYS_IBAT4U
4454e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT5L	CONFIG_SYS_IBAT5L
4464e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT5U	CONFIG_SYS_IBAT5U
4474e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT6L	CONFIG_SYS_IBAT6L
4484e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT6U	CONFIG_SYS_IBAT6U
4494e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT7L	CONFIG_SYS_IBAT7L
4504e43b2e8SHeiko Schocher #define CONFIG_SYS_DBAT7U	CONFIG_SYS_IBAT7U
4514e43b2e8SHeiko Schocher 
4524e43b2e8SHeiko Schocher #define CONFIG_NETDEV		eth0
4534e43b2e8SHeiko Schocher 
4544e43b2e8SHeiko Schocher #define CONFIG_HOSTNAME		ve8313
4554e43b2e8SHeiko Schocher #define CONFIG_UBOOTPATH	ve8313/u-boot.bin
4564e43b2e8SHeiko Schocher 
4574e43b2e8SHeiko Schocher #define CONFIG_EXTRA_ENV_SETTINGS \
4585368c55dSMarek Vasut 	"netdev=" __stringify(CONFIG_NETDEV) "\0"			\
4595368c55dSMarek Vasut 	"ethprime=" __stringify(CONFIG_TSEC1_NAME) "\0"			\
4605368c55dSMarek Vasut 	"u-boot=" __stringify(CONFIG_UBOOTPATH) "\0"			\
4614e43b2e8SHeiko Schocher 	"u-boot_addr_r=100000\0"					\
4624e43b2e8SHeiko Schocher 	"load=tftp ${u-boot_addr_r} ${u-boot}\0"			\
4635368c55dSMarek Vasut 	"update=protect off " __stringify(CONFIG_SYS_FLASH_BASE)	\
4645368c55dSMarek Vasut 		" +${filesize};"	\
4655368c55dSMarek Vasut 	"erase " __stringify(CONFIG_SYS_FLASH_BASE) " +${filesize};"	\
4665368c55dSMarek Vasut 	"cp.b ${u-boot_addr_r} " __stringify(CONFIG_SYS_FLASH_BASE)	\
4674e43b2e8SHeiko Schocher 	" ${filesize};"							\
4685368c55dSMarek Vasut 	"protect on " __stringify(CONFIG_SYS_FLASH_BASE) " +${filesize}\0" \
4694e43b2e8SHeiko Schocher 
4704e43b2e8SHeiko Schocher #endif	/* __CONFIG_H */
471