xref: /rk3399_rockchip-uboot/include/configs/xpedite550x.h (revision 0e13c182e0b4ee5b7e5efee72614cd23f8a5e6fc)
1bfe18815SJohn Schmoller /*
2bfe18815SJohn Schmoller  * Copyright 2010 Extreme Engineering Solutions, Inc.
3bfe18815SJohn Schmoller  * Copyright 2007-2008 Freescale Semiconductor, Inc.
4bfe18815SJohn Schmoller  *
51a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
6bfe18815SJohn Schmoller  */
7bfe18815SJohn Schmoller 
8bfe18815SJohn Schmoller /*
9bfe18815SJohn Schmoller  * xpedite550x board configuration file
10bfe18815SJohn Schmoller  */
11bfe18815SJohn Schmoller #ifndef __CONFIG_H
12bfe18815SJohn Schmoller #define __CONFIG_H
13bfe18815SJohn Schmoller 
14bfe18815SJohn Schmoller /*
15bfe18815SJohn Schmoller  * High Level Configuration Options
16bfe18815SJohn Schmoller  */
17bfe18815SJohn Schmoller #define CONFIG_XPEDITE550X	1
18bfe18815SJohn Schmoller #define CONFIG_SYS_BOARD_NAME	"XPedite5500"
19bfe18815SJohn Schmoller #define CONFIG_SYS_FORM_PMC_XMC	1
20bfe18815SJohn Schmoller #define CONFIG_PRPMC_PCI_ALIAS	"pci0"	/* Processor PMC interface on pci0 */
21bfe18815SJohn Schmoller #define CONFIG_BOARD_EARLY_INIT_R	/* Call board_pre_init */
22bfe18815SJohn Schmoller 
23bfe18815SJohn Schmoller #ifndef CONFIG_SYS_TEXT_BASE
24bfe18815SJohn Schmoller #define CONFIG_SYS_TEXT_BASE	0xfff80000
25bfe18815SJohn Schmoller #endif
26bfe18815SJohn Schmoller 
27bfe18815SJohn Schmoller #define CONFIG_PCI_SCAN_SHOW	1	/* show pci devices on startup */
28b38eaec5SRobert P. J. Day #define CONFIG_PCIE1		1	/* PCIE controller 1 (PEX8112 or XMC) */
29bfe18815SJohn Schmoller #define CONFIG_FSL_PCI_INIT	1	/* Use common FSL init code */
30842033e6SGabor Juhos #define CONFIG_PCI_INDIRECT_BRIDGE 1	/* indirect PCI bridge support */
31bfe18815SJohn Schmoller #define CONFIG_SYS_PCI_64BIT	1	/* enable 64-bit PCI resources */
32bfe18815SJohn Schmoller #define CONFIG_FSL_PCIE_RESET	1	/* need PCIe reset errata */
33bfe18815SJohn Schmoller 
34bfe18815SJohn Schmoller /*
35bfe18815SJohn Schmoller  * Multicore config
36bfe18815SJohn Schmoller  */
37bfe18815SJohn Schmoller #define CONFIG_MP
38bfe18815SJohn Schmoller #define CONFIG_BPTR_VIRT_ADDR	0xee000000	/* virt boot page address */
39bfe18815SJohn Schmoller #define CONFIG_MPC8xxx_DISABLE_BPTR		/* Don't leave BPTR enabled */
40bfe18815SJohn Schmoller 
41bfe18815SJohn Schmoller /*
42bfe18815SJohn Schmoller  * DDR config
43bfe18815SJohn Schmoller  */
44bfe18815SJohn Schmoller #define CONFIG_SPD_EEPROM		/* Use SPD EEPROM for DDR setup */
45bfe18815SJohn Schmoller #define CONFIG_DDR_SPD
46bfe18815SJohn Schmoller #define CONFIG_MEM_INIT_VALUE		0xdeadbeef
47c39f44dcSKumar Gala #define SPD_EEPROM_ADDRESS			0x54
48bfe18815SJohn Schmoller #define SPD_EEPROM_OFFSET		0x200	/* OFFSET of SPD in EEPROM */
49bfe18815SJohn Schmoller #define CONFIG_DIMM_SLOTS_PER_CTLR	1
50bfe18815SJohn Schmoller #define CONFIG_CHIP_SELECTS_PER_CTRL 2
51bfe18815SJohn Schmoller #define CONFIG_DDR_ECC
52bfe18815SJohn Schmoller #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
53bfe18815SJohn Schmoller #define CONFIG_SYS_DDR_SDRAM_BASE	0x00000000 /* DDR is system memory*/
54bfe18815SJohn Schmoller #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE
55bfe18815SJohn Schmoller #define CONFIG_VERY_BIG_RAM
56bfe18815SJohn Schmoller 
57bfe18815SJohn Schmoller #ifndef __ASSEMBLY__
58bfe18815SJohn Schmoller extern unsigned long get_board_sys_clk(unsigned long dummy);
59bfe18815SJohn Schmoller extern unsigned long get_board_ddr_clk(unsigned long dummy);
60bfe18815SJohn Schmoller #endif
61bfe18815SJohn Schmoller 
62bfe18815SJohn Schmoller #define CONFIG_SYS_CLK_FREQ	get_board_sys_clk(0) /* sysclk for MPC85xx */
63bfe18815SJohn Schmoller #define CONFIG_DDR_CLK_FREQ	get_board_ddr_clk(0) /* ddrclk for MPC85xx */
64bfe18815SJohn Schmoller 
65bfe18815SJohn Schmoller /*
66bfe18815SJohn Schmoller  * These can be toggled for performance analysis, otherwise use default.
67bfe18815SJohn Schmoller  */
68bfe18815SJohn Schmoller #define CONFIG_L2_CACHE			/* toggle L2 cache */
69bfe18815SJohn Schmoller #define CONFIG_BTB			/* toggle branch predition */
70bfe18815SJohn Schmoller #define CONFIG_ENABLE_36BIT_PHYS	1
71bfe18815SJohn Schmoller 
72e46fedfeSTimur Tabi #define CONFIG_SYS_CCSRBAR		0xef000000
73e46fedfeSTimur Tabi #define CONFIG_SYS_CCSRBAR_PHYS_LOW	CONFIG_SYS_CCSRBAR
74bfe18815SJohn Schmoller 
75bfe18815SJohn Schmoller /*
76bfe18815SJohn Schmoller  * Diagnostics
77bfe18815SJohn Schmoller  */
78bfe18815SJohn Schmoller #define CONFIG_SYS_ALT_MEMTEST
79bfe18815SJohn Schmoller #define CONFIG_SYS_MEMTEST_START	0x10000000
80bfe18815SJohn Schmoller #define CONFIG_SYS_MEMTEST_END		0x20000000
81bfe18815SJohn Schmoller #define CONFIG_POST			(CONFIG_SYS_POST_MEMORY | \
82bfe18815SJohn Schmoller 					 CONFIG_SYS_POST_I2C)
83bfe18815SJohn Schmoller #define I2C_ADDR_LIST			{CONFIG_SYS_I2C_EEPROM_ADDR,	\
84bfe18815SJohn Schmoller 					 CONFIG_SYS_I2C_LM75_ADDR,	\
85bfe18815SJohn Schmoller 					 CONFIG_SYS_I2C_LM90_ADDR,	\
86bfe18815SJohn Schmoller 					 CONFIG_SYS_I2C_PCA953X_ADDR0,	\
87bfe18815SJohn Schmoller 					 CONFIG_SYS_I2C_PCA953X_ADDR2,	\
88bfe18815SJohn Schmoller 					 CONFIG_SYS_I2C_PCA953X_ADDR3,	\
89bfe18815SJohn Schmoller 					 CONFIG_SYS_I2C_RTC_ADDR}
90bfe18815SJohn Schmoller 
91bfe18815SJohn Schmoller /*
92bfe18815SJohn Schmoller  * Memory map
93bfe18815SJohn Schmoller  * 0x0000_0000 0x7fff_ffff	DDR			2G Cacheable
94bfe18815SJohn Schmoller  * 0x8000_0000 0xbfff_ffff	PCIe1 Mem		1G non-cacheable
95bfe18815SJohn Schmoller  * 0xe000_0000 0xe7ff_ffff	SRAM/SSRAM/L1 Cache	128M non-cacheable
96bfe18815SJohn Schmoller  * 0xe800_0000 0xe87f_ffff	PCIe1 IO		8M non-cacheable
97bfe18815SJohn Schmoller  * 0xee00_0000 0xee00_ffff	Boot page translation	4K non-cacheable
98bfe18815SJohn Schmoller  * 0xef00_0000 0xef0f_ffff	CCSR/IMMR		1M non-cacheable
99bfe18815SJohn Schmoller  * 0xef80_0000 0xef8f_ffff	NAND Flash		1M non-cacheable
100bfe18815SJohn Schmoller  * 0xf000_0000 0xf7ff_ffff	NOR Flash 2		128M non-cacheable
101bfe18815SJohn Schmoller  * 0xf800_0000 0xffff_ffff	NOR Flash 1		128M non-cacheable
102bfe18815SJohn Schmoller  */
103bfe18815SJohn Schmoller 
104bfe18815SJohn Schmoller #define CONFIG_SYS_LBC_LCRR	(LCRR_CLKDIV_8 | LCRR_EADC_3)
105bfe18815SJohn Schmoller 
106bfe18815SJohn Schmoller /*
107bfe18815SJohn Schmoller  * NAND flash configuration
108bfe18815SJohn Schmoller  */
109bfe18815SJohn Schmoller #define CONFIG_SYS_NAND_BASE		0xef800000
110bfe18815SJohn Schmoller #define CONFIG_SYS_NAND_BASE2		0xef840000 /* Unused at this time */
111bfe18815SJohn Schmoller #define CONFIG_SYS_NAND_BASE_LIST	{CONFIG_SYS_NAND_BASE, \
112bfe18815SJohn Schmoller 					 CONFIG_SYS_NAND_BASE2}
113bfe18815SJohn Schmoller #define CONFIG_SYS_MAX_NAND_DEVICE	2
114bfe18815SJohn Schmoller #define CONFIG_NAND_FSL_ELBC
115bfe18815SJohn Schmoller 
116bfe18815SJohn Schmoller /*
117bfe18815SJohn Schmoller  * NOR flash configuration
118bfe18815SJohn Schmoller  */
119bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_BASE		0xf8000000
120bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_BASE2		0xf0000000
121bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_BANKS_LIST	{CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLASH_BASE2}
122bfe18815SJohn Schmoller #define CONFIG_SYS_MAX_FLASH_BANKS	2		/* number of banks */
123bfe18815SJohn Schmoller #define CONFIG_SYS_MAX_FLASH_SECT	1024		/* sectors per device */
124bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_ERASE_TOUT	60000		/* Flash Erase Timeout (ms) */
125bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_WRITE_TOUT	500		/* Flash Write Timeout (ms) */
126bfe18815SJohn Schmoller #define CONFIG_FLASH_CFI_DRIVER
127bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_CFI
128bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
129bfe18815SJohn Schmoller #define CONFIG_SYS_FLASH_AUTOPROTECT_LIST	{ {0xfff40000, 0xc0000}, \
130bfe18815SJohn Schmoller 						  {0xf7f40000, 0xc0000} }
131bfe18815SJohn Schmoller #define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_TEXT_BASE	/* start of monitor */
132bfe18815SJohn Schmoller 
133bfe18815SJohn Schmoller /*
134bfe18815SJohn Schmoller  * Chip select configuration
135bfe18815SJohn Schmoller  */
136bfe18815SJohn Schmoller /* NOR Flash 0 on CS0 */
137bfe18815SJohn Schmoller #define CONFIG_SYS_BR0_PRELIM	(CONFIG_SYS_FLASH_BASE	| \
138bfe18815SJohn Schmoller 				 BR_PS_16		| \
139bfe18815SJohn Schmoller 				 BR_V)
140bfe18815SJohn Schmoller #define CONFIG_SYS_OR0_PRELIM	(OR_AM_128MB		| \
141bfe18815SJohn Schmoller 				 OR_GPCM_CSNT		| \
142bfe18815SJohn Schmoller 				 OR_GPCM_XACS		| \
143bfe18815SJohn Schmoller 				 OR_GPCM_ACS_DIV2	| \
144bfe18815SJohn Schmoller 				 OR_GPCM_SCY_8		| \
145bfe18815SJohn Schmoller 				 OR_GPCM_TRLX		| \
146bfe18815SJohn Schmoller 				 OR_GPCM_EHTR		| \
147bfe18815SJohn Schmoller 				 OR_GPCM_EAD)
148bfe18815SJohn Schmoller 
149bfe18815SJohn Schmoller /* NOR Flash 1 on CS1 */
150bfe18815SJohn Schmoller #define CONFIG_SYS_BR1_PRELIM	(CONFIG_SYS_FLASH_BASE2	| \
151bfe18815SJohn Schmoller 				 BR_PS_16		| \
152bfe18815SJohn Schmoller 				 BR_V)
153bfe18815SJohn Schmoller #define CONFIG_SYS_OR1_PRELIM	CONFIG_SYS_OR0_PRELIM
154bfe18815SJohn Schmoller 
155bfe18815SJohn Schmoller /* NAND flash on CS2 */
156bfe18815SJohn Schmoller #define CONFIG_SYS_BR2_PRELIM	(CONFIG_SYS_NAND_BASE	| \
157bfe18815SJohn Schmoller 				 (2<<BR_DECC_SHIFT)	| \
158bfe18815SJohn Schmoller 				 BR_PS_8		| \
159bfe18815SJohn Schmoller 				 BR_MS_FCM		| \
160bfe18815SJohn Schmoller 				 BR_V)
161bfe18815SJohn Schmoller 
162bfe18815SJohn Schmoller /* NAND flash on CS2 */
163bfe18815SJohn Schmoller #define CONFIG_SYS_OR2_PRELIM	(OR_AM_256KB	| \
164bfe18815SJohn Schmoller 				 OR_FCM_PGS	| \
165bfe18815SJohn Schmoller 				 OR_FCM_CSCT	| \
166bfe18815SJohn Schmoller 				 OR_FCM_CST	| \
167bfe18815SJohn Schmoller 				 OR_FCM_CHT	| \
168bfe18815SJohn Schmoller 				 OR_FCM_SCY_1	| \
169bfe18815SJohn Schmoller 				 OR_FCM_TRLX	| \
170bfe18815SJohn Schmoller 				 OR_FCM_EHTR)
171bfe18815SJohn Schmoller 
172bfe18815SJohn Schmoller /* NAND flash on CS3 */
173bfe18815SJohn Schmoller #define CONFIG_SYS_BR3_PRELIM	(CONFIG_SYS_NAND_BASE2	| \
174bfe18815SJohn Schmoller 				 (2<<BR_DECC_SHIFT)	| \
175bfe18815SJohn Schmoller 				 BR_PS_8		| \
176bfe18815SJohn Schmoller 				 BR_MS_FCM		| \
177bfe18815SJohn Schmoller 				 BR_V)
178bfe18815SJohn Schmoller #define CONFIG_SYS_OR3_PRELIM	CONFIG_SYS_OR2_PRELIM
179bfe18815SJohn Schmoller 
180bfe18815SJohn Schmoller /*
181bfe18815SJohn Schmoller  * Use L1 as initial stack
182bfe18815SJohn Schmoller  */
183bfe18815SJohn Schmoller #define CONFIG_SYS_INIT_RAM_LOCK	1
184bfe18815SJohn Schmoller #define CONFIG_SYS_INIT_RAM_ADDR	0xe0000000
185553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE		0x00004000
186bfe18815SJohn Schmoller 
18725ddd1fbSWolfgang Denk #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
188bfe18815SJohn Schmoller #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
189bfe18815SJohn Schmoller 
190bfe18815SJohn Schmoller #define CONFIG_SYS_MONITOR_LEN		(512 * 1024)	/* Reserve 512 KB for Mon */
191bfe18815SJohn Schmoller #define CONFIG_SYS_MALLOC_LEN		(1024 * 1024)	/* Reserved for malloc */
192bfe18815SJohn Schmoller 
193bfe18815SJohn Schmoller /*
194bfe18815SJohn Schmoller  * Serial Port
195bfe18815SJohn Schmoller  */
196bfe18815SJohn Schmoller #define CONFIG_CONS_INDEX		1
197bfe18815SJohn Schmoller #define CONFIG_SYS_NS16550_SERIAL
198bfe18815SJohn Schmoller #define CONFIG_SYS_NS16550_REG_SIZE	1
199bfe18815SJohn Schmoller #define CONFIG_SYS_NS16550_CLK		get_bus_freq(0)
200bfe18815SJohn Schmoller #define CONFIG_SYS_NS16550_COM1	(CONFIG_SYS_CCSRBAR+0x4500)
201bfe18815SJohn Schmoller #define CONFIG_SYS_NS16550_COM2	(CONFIG_SYS_CCSRBAR+0x4600)
202bfe18815SJohn Schmoller #define CONFIG_SYS_BAUDRATE_TABLE	\
203bfe18815SJohn Schmoller 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
204bfe18815SJohn Schmoller #define CONFIG_LOADS_ECHO		1	/* echo on for serial download */
205bfe18815SJohn Schmoller #define CONFIG_SYS_LOADS_BAUD_CHANGE	1	/* allow baudrate change */
206bfe18815SJohn Schmoller 
207bfe18815SJohn Schmoller #define CONFIG_FDT_FIXUP_PCI_IRQ	1
208bfe18815SJohn Schmoller 
209bfe18815SJohn Schmoller /*
210bfe18815SJohn Schmoller  * I2C
211bfe18815SJohn Schmoller  */
21200f792e0SHeiko Schocher #define CONFIG_SYS_I2C
21300f792e0SHeiko Schocher #define CONFIG_SYS_I2C_FSL
21400f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SPEED	400000
21500f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE	0x7F
21600f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET	0x3000
21700f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_SPEED	400000
21800f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_SLAVE	0x7F
21900f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_OFFSET	0x3100
220bfe18815SJohn Schmoller 
221bfe18815SJohn Schmoller /* I2C DS7505 temperature sensor */
222bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_LM75_ADDR	0x48
223bfe18815SJohn Schmoller 
224bfe18815SJohn Schmoller /* I2C ADT7461 temperature sensor */
225bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_LM90_ADDR	0x4C
226bfe18815SJohn Schmoller 
227bfe18815SJohn Schmoller /* I2C EEPROM - AT24C128B */
228bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_EEPROM_ADDR		0x54
229bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		2
230bfe18815SJohn Schmoller #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	6	/* 64 byte pages */
231bfe18815SJohn Schmoller #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	10	/* take up to 10 msec */
232bfe18815SJohn Schmoller 
233bfe18815SJohn Schmoller /* I2C RTC */
234bfe18815SJohn Schmoller #define CONFIG_RTC_M41T11		1
235bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_RTC_ADDR		0x68
236bfe18815SJohn Schmoller #define CONFIG_SYS_M41T11_BASE_YEAR	2000
237bfe18815SJohn Schmoller 
238bfe18815SJohn Schmoller /* GPIO */
239bfe18815SJohn Schmoller #define CONFIG_PCA953X
240bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_PCA953X_ADDR0	0x18
241bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_PCA953X_ADDR1	0x1c
242bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_PCA953X_ADDR2	0x1e
243bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_PCA953X_ADDR3	0x1f
244bfe18815SJohn Schmoller #define CONFIG_SYS_I2C_PCA953X_ADDR	CONFIG_SYS_I2C_PCA953X_ADDR0
245bfe18815SJohn Schmoller 
246bfe18815SJohn Schmoller /*
247bfe18815SJohn Schmoller  * GPIO pin definitions, PU = pulled high, PD = pulled low
248bfe18815SJohn Schmoller  */
249bfe18815SJohn Schmoller /* PCA9557 @ 0x18*/
250bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_C0_SER0_EN		0x01 /* PU; UART0 enable (1: enabled) */
251bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_C0_SER0_MODE		0x02 /* PU; UART0 serial mode select (1: RS-485, 0: RS-232) */
252bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_C0_SER1_EN		0x04 /* PU; UART1 enable (1: enabled) */
253bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_C0_SER1_MODE		0x08 /* PU; UART1 serial mode select (1: RS-485, 0: RS-232) */
254bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_C0_FLASH_PASS_CS	0x10 /* PU; Boot flash CS select */
255bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_NVM_WP		0x20 /* PU; Write protection (0: disabled, 1: enabled) */
256bfe18815SJohn Schmoller 
257bfe18815SJohn Schmoller /* PCA9557 @ 0x1e*/
258bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_XMC_GA0		0x01 /* PU; */
259bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_XMC_GA1		0x02 /* PU; */
260bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_XMC_GA2		0x04 /* PU; */
261bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_XMC_WAKE		0x10 /* PU; */
262bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_XMC_BIST		0x20 /* Enable XMC BIST */
263bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_PMC_EREADY		0x40 /* PU; PMC PCI eready */
264bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_PMC_MONARCH		0x80 /* PMC monarch mode enable */
265bfe18815SJohn Schmoller 
266bfe18815SJohn Schmoller /* PCA9557 @ 0x1f */
267bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO0		0x01 /* PU; */
268bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO1		0x02 /* PU; */
269bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO2		0x04 /* PU; */
270bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO3		0x08 /* PU; */
271bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO4		0x10 /* PU; */
272bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO5		0x20 /* PU; */
273bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO6		0x40 /* PU; */
274bfe18815SJohn Schmoller #define CONFIG_SYS_PCA953X_MC_GPIO7		0x80 /* PU; */
275bfe18815SJohn Schmoller 
276bfe18815SJohn Schmoller /*
277bfe18815SJohn Schmoller  * General PCI
278bfe18815SJohn Schmoller  * Memory space is mapped 1-1, but I/O space must start from 0.
279bfe18815SJohn Schmoller  */
280bfe18815SJohn Schmoller 
281bfe18815SJohn Schmoller /* controller 1 - PEX8112 or XMC, depending on build option */
282bfe18815SJohn Schmoller #define CONFIG_SYS_PCIE1_MEM_BUS	0x80000000
283bfe18815SJohn Schmoller #define CONFIG_SYS_PCIE1_MEM_PHYS	CONFIG_SYS_PCIE1_MEM_BUS
284bfe18815SJohn Schmoller #define CONFIG_SYS_PCIE1_MEM_SIZE	0x40000000	/* 1G */
285bfe18815SJohn Schmoller #define CONFIG_SYS_PCIE1_IO_BUS		0x00000000
286bfe18815SJohn Schmoller #define CONFIG_SYS_PCIE1_IO_PHYS	0xe8000000
287bfe18815SJohn Schmoller #define CONFIG_SYS_PCIE1_IO_SIZE	0x00800000	/* 8M */
288bfe18815SJohn Schmoller 
289bfe18815SJohn Schmoller /*
290bfe18815SJohn Schmoller  * Networking options
291bfe18815SJohn Schmoller  */
292bfe18815SJohn Schmoller #define CONFIG_TSEC_ENET		/* tsec ethernet support */
293bfe18815SJohn Schmoller #define CONFIG_TSEC_TBI
294bfe18815SJohn Schmoller #define CONFIG_MII		1	/* MII PHY management */
295bfe18815SJohn Schmoller #define CONFIG_MII_DEFAULT_TSEC	1	/* Allow unregistered phys */
296bfe18815SJohn Schmoller #define CONFIG_ETHPRIME		"eTSEC2"
297bfe18815SJohn Schmoller 
29872c96a68SKumar Gala /*
29972c96a68SKumar Gala  * In-band SGMII auto-negotiation between TBI and BCM5482S PHY fails, force
30072c96a68SKumar Gala  * 1000mbps SGMII link
30172c96a68SKumar Gala  */
30272c96a68SKumar Gala #define CONFIG_TSEC_TBICR_SETTINGS ( \
30372c96a68SKumar Gala 		TBICR_PHY_RESET \
30472c96a68SKumar Gala 		| TBICR_FULL_DUPLEX \
30572c96a68SKumar Gala 		| TBICR_SPEED1_SET \
30672c96a68SKumar Gala 		)
30772c96a68SKumar Gala 
308bfe18815SJohn Schmoller #define CONFIG_TSEC1		1
309bfe18815SJohn Schmoller #define CONFIG_TSEC1_NAME	"eTSEC1"
310bfe18815SJohn Schmoller #define TSEC1_FLAGS		(TSEC_GIGABIT | TSEC_REDUCED)
311bfe18815SJohn Schmoller #define TSEC1_PHY_ADDR		1
312bfe18815SJohn Schmoller #define TSEC1_PHYIDX		0
313bfe18815SJohn Schmoller #define CONFIG_HAS_ETH0
314bfe18815SJohn Schmoller 
315bfe18815SJohn Schmoller #define CONFIG_TSEC2		1
316bfe18815SJohn Schmoller #define CONFIG_TSEC2_NAME	"eTSEC2"
317bfe18815SJohn Schmoller #define TSEC2_FLAGS		(TSEC_GIGABIT | TSEC_REDUCED)
318bfe18815SJohn Schmoller #define TSEC2_PHY_ADDR		2
319bfe18815SJohn Schmoller #define TSEC2_PHYIDX		0
320bfe18815SJohn Schmoller #define CONFIG_HAS_ETH1
321bfe18815SJohn Schmoller 
322bfe18815SJohn Schmoller #define CONFIG_TSEC3		1
323bfe18815SJohn Schmoller #define CONFIG_TSEC3_NAME	"eTSEC3"
324bfe18815SJohn Schmoller #define TSEC3_FLAGS		(TSEC_GIGABIT | TSEC_REDUCED)
325bfe18815SJohn Schmoller #define TSEC3_PHY_ADDR		3
326bfe18815SJohn Schmoller #define TSEC3_PHYIDX		0
327bfe18815SJohn Schmoller #define CONFIG_HAS_ETH2
328bfe18815SJohn Schmoller 
329bfe18815SJohn Schmoller /*
330bfe18815SJohn Schmoller  * USB
331bfe18815SJohn Schmoller  */
332bfe18815SJohn Schmoller #define CONFIG_USB_EHCI_FSL
333bfe18815SJohn Schmoller #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
334bfe18815SJohn Schmoller 
335bfe18815SJohn Schmoller /*
336bfe18815SJohn Schmoller  * Miscellaneous configurable options
337bfe18815SJohn Schmoller  */
338bfe18815SJohn Schmoller #define CONFIG_SYS_LONGHELP			/* undef to save memory	*/
339bfe18815SJohn Schmoller #define CONFIG_SYS_LOAD_ADDR	0x2000000	/* default load address */
340bfe18815SJohn Schmoller #define CONFIG_CMDLINE_EDITING	1		/* add command line history	*/
341bfe18815SJohn Schmoller #define CONFIG_AUTO_COMPLETE	1		/* add autocompletion support */
342bfe18815SJohn Schmoller #define CONFIG_LOADADDR		0x1000000	/* default location for tftp and bootm */
343bfe18815SJohn Schmoller #define CONFIG_PREBOOT				/* enable preboot variable */
344bfe18815SJohn Schmoller #define CONFIG_INTEGRITY			/* support booting INTEGRITY OS */
345bfe18815SJohn Schmoller 
346bfe18815SJohn Schmoller /*
347bfe18815SJohn Schmoller  * For booting Linux, the board info and command line data
348bfe18815SJohn Schmoller  * have to be in the first 16 MB of memory, since this is
349bfe18815SJohn Schmoller  * the maximum mapped by the Linux kernel during initialization.
350bfe18815SJohn Schmoller  */
351bfe18815SJohn Schmoller #define CONFIG_SYS_BOOTMAPSZ	(16 << 20)	/* Initial Memory map for Linux*/
352bfe18815SJohn Schmoller #define CONFIG_SYS_BOOTM_LEN	(16 << 20)	/* Increase max gunzip size */
353bfe18815SJohn Schmoller 
354bfe18815SJohn Schmoller /*
355bfe18815SJohn Schmoller  * Environment Configuration
356bfe18815SJohn Schmoller  */
357bfe18815SJohn Schmoller #define CONFIG_ENV_SECT_SIZE	0x20000		/* 128k (one sector) for env */
358bfe18815SJohn Schmoller #define CONFIG_ENV_SIZE		0x8000
359bfe18815SJohn Schmoller #define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE - (256 * 1024))
360bfe18815SJohn Schmoller 
361bfe18815SJohn Schmoller /*
362bfe18815SJohn Schmoller  * Flash memory map:
363bfe18815SJohn Schmoller  * fff80000 - ffffffff     Pri U-Boot (512 KB)
364bfe18815SJohn Schmoller  * fff40000 - fff7ffff     Pri U-Boot Environment (256 KB)
365bfe18815SJohn Schmoller  * fff00000 - fff3ffff     Pri FDT (256KB)
366bfe18815SJohn Schmoller  * fef00000 - ffefffff     Pri OS image (16MB)
367bfe18815SJohn Schmoller  * f8000000 - feefffff     Pri OS Use/Filesystem (111MB)
368bfe18815SJohn Schmoller  *
369bfe18815SJohn Schmoller  * f7f80000 - f7ffffff     Sec U-Boot (512 KB)
370bfe18815SJohn Schmoller  * f7f40000 - f7f7ffff     Sec U-Boot Environment (256 KB)
371bfe18815SJohn Schmoller  * f7f00000 - f7f3ffff     Sec FDT (256KB)
372bfe18815SJohn Schmoller  * f6f00000 - f7efffff     Sec OS image (16MB)
373bfe18815SJohn Schmoller  * f0000000 - f6efffff     Sec OS Use/Filesystem (111MB)
374bfe18815SJohn Schmoller  */
3755368c55dSMarek Vasut #define CONFIG_UBOOT1_ENV_ADDR	__stringify(0xfff80000)
3765368c55dSMarek Vasut #define CONFIG_UBOOT2_ENV_ADDR	__stringify(0xf7f80000)
3775368c55dSMarek Vasut #define CONFIG_FDT1_ENV_ADDR	__stringify(0xfff00000)
3785368c55dSMarek Vasut #define CONFIG_FDT2_ENV_ADDR	__stringify(0xf7f00000)
3795368c55dSMarek Vasut #define CONFIG_OS1_ENV_ADDR	__stringify(0xfef00000)
3805368c55dSMarek Vasut #define CONFIG_OS2_ENV_ADDR	__stringify(0xf6f00000)
381bfe18815SJohn Schmoller 
382bfe18815SJohn Schmoller #define CONFIG_PROG_UBOOT1						\
383bfe18815SJohn Schmoller 	"$download_cmd $loadaddr $ubootfile; "				\
384bfe18815SJohn Schmoller 	"if test $? -eq 0; then "					\
385bfe18815SJohn Schmoller 		"protect off "CONFIG_UBOOT1_ENV_ADDR" +80000; "		\
386bfe18815SJohn Schmoller 		"erase "CONFIG_UBOOT1_ENV_ADDR" +80000; "		\
387bfe18815SJohn Schmoller 		"cp.w $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 40000; "	\
388bfe18815SJohn Schmoller 		"protect on "CONFIG_UBOOT1_ENV_ADDR" +80000; "		\
389bfe18815SJohn Schmoller 		"cmp.b $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 80000; "	\
390bfe18815SJohn Schmoller 		"if test $? -ne 0; then "				\
391bfe18815SJohn Schmoller 			"echo PROGRAM FAILED; "				\
392bfe18815SJohn Schmoller 		"else; "						\
393bfe18815SJohn Schmoller 			"echo PROGRAM SUCCEEDED; "			\
394bfe18815SJohn Schmoller 		"fi; "							\
395bfe18815SJohn Schmoller 	"else; "							\
396bfe18815SJohn Schmoller 		"echo DOWNLOAD FAILED; "				\
397bfe18815SJohn Schmoller 	"fi;"
398bfe18815SJohn Schmoller 
399bfe18815SJohn Schmoller #define CONFIG_PROG_UBOOT2						\
400bfe18815SJohn Schmoller 	"$download_cmd $loadaddr $ubootfile; "				\
401bfe18815SJohn Schmoller 	"if test $? -eq 0; then "					\
402bfe18815SJohn Schmoller 		"protect off "CONFIG_UBOOT2_ENV_ADDR" +80000; "		\
403bfe18815SJohn Schmoller 		"erase "CONFIG_UBOOT2_ENV_ADDR" +80000; "		\
404bfe18815SJohn Schmoller 		"cp.w $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 40000; "	\
405bfe18815SJohn Schmoller 		"protect on "CONFIG_UBOOT2_ENV_ADDR" +80000; "		\
406bfe18815SJohn Schmoller 		"cmp.b $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 80000; "	\
407bfe18815SJohn Schmoller 		"if test $? -ne 0; then "				\
408bfe18815SJohn Schmoller 			"echo PROGRAM FAILED; "				\
409bfe18815SJohn Schmoller 		"else; "						\
410bfe18815SJohn Schmoller 			"echo PROGRAM SUCCEEDED; "			\
411bfe18815SJohn Schmoller 		"fi; "							\
412bfe18815SJohn Schmoller 	"else; "							\
413bfe18815SJohn Schmoller 		"echo DOWNLOAD FAILED; "				\
414bfe18815SJohn Schmoller 	"fi;"
415bfe18815SJohn Schmoller 
416bfe18815SJohn Schmoller #define CONFIG_BOOT_OS_NET						\
417bfe18815SJohn Schmoller 	"$download_cmd $osaddr $osfile; "				\
418bfe18815SJohn Schmoller 	"if test $? -eq 0; then "					\
419bfe18815SJohn Schmoller 		"if test -n $fdtaddr; then "				\
420bfe18815SJohn Schmoller 			"$download_cmd $fdtaddr $fdtfile; "		\
421bfe18815SJohn Schmoller 			"if test $? -eq 0; then "			\
422bfe18815SJohn Schmoller 				"bootm $osaddr - $fdtaddr; "		\
423bfe18815SJohn Schmoller 			"else; "					\
424bfe18815SJohn Schmoller 				"echo FDT DOWNLOAD FAILED; "		\
425bfe18815SJohn Schmoller 			"fi; "						\
426bfe18815SJohn Schmoller 		"else; "						\
427bfe18815SJohn Schmoller 			"bootm $osaddr; "				\
428bfe18815SJohn Schmoller 		"fi; "							\
429bfe18815SJohn Schmoller 	"else; "							\
430bfe18815SJohn Schmoller 		"echo OS DOWNLOAD FAILED; "				\
431bfe18815SJohn Schmoller 	"fi;"
432bfe18815SJohn Schmoller 
433bfe18815SJohn Schmoller #define CONFIG_PROG_OS1							\
434bfe18815SJohn Schmoller 	"$download_cmd $osaddr $osfile; "				\
435bfe18815SJohn Schmoller 	"if test $? -eq 0; then "					\
436bfe18815SJohn Schmoller 		"erase "CONFIG_OS1_ENV_ADDR" +$filesize; "		\
437bfe18815SJohn Schmoller 		"cp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; "	\
438bfe18815SJohn Schmoller 		"cmp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; "	\
439bfe18815SJohn Schmoller 		"if test $? -ne 0; then "				\
440bfe18815SJohn Schmoller 			"echo OS PROGRAM FAILED; "			\
441bfe18815SJohn Schmoller 		"else; "						\
442bfe18815SJohn Schmoller 			"echo OS PROGRAM SUCCEEDED; "			\
443bfe18815SJohn Schmoller 		"fi; "							\
444bfe18815SJohn Schmoller 	"else; "							\
445bfe18815SJohn Schmoller 		"echo OS DOWNLOAD FAILED; "				\
446bfe18815SJohn Schmoller 	"fi;"
447bfe18815SJohn Schmoller 
448bfe18815SJohn Schmoller #define CONFIG_PROG_OS2							\
449bfe18815SJohn Schmoller 	"$download_cmd $osaddr $osfile; "				\
450bfe18815SJohn Schmoller 	"if test $? -eq 0; then "					\
451bfe18815SJohn Schmoller 		"erase "CONFIG_OS2_ENV_ADDR" +$filesize; "		\
452bfe18815SJohn Schmoller 		"cp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; "	\
453bfe18815SJohn Schmoller 		"cmp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; "	\
454bfe18815SJohn Schmoller 		"if test $? -ne 0; then "				\
455bfe18815SJohn Schmoller 			"echo OS PROGRAM FAILED; "			\
456bfe18815SJohn Schmoller 		"else; "						\
457bfe18815SJohn Schmoller 			"echo OS PROGRAM SUCCEEDED; "			\
458bfe18815SJohn Schmoller 		"fi; "							\
459bfe18815SJohn Schmoller 	"else; "							\
460bfe18815SJohn Schmoller 		"echo OS DOWNLOAD FAILED; "				\
461bfe18815SJohn Schmoller 	"fi;"
462bfe18815SJohn Schmoller 
463bfe18815SJohn Schmoller #define CONFIG_PROG_FDT1						\
464bfe18815SJohn Schmoller 	"$download_cmd $fdtaddr $fdtfile; "				\
465bfe18815SJohn Schmoller 	"if test $? -eq 0; then "					\
466bfe18815SJohn Schmoller 		"erase "CONFIG_FDT1_ENV_ADDR" +$filesize;"		\
467bfe18815SJohn Schmoller 		"cp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; "	\
468bfe18815SJohn Schmoller 		"cmp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; "	\
469bfe18815SJohn Schmoller 		"if test $? -ne 0; then "				\
470bfe18815SJohn Schmoller 			"echo FDT PROGRAM FAILED; "			\
471bfe18815SJohn Schmoller 		"else; "						\
472bfe18815SJohn Schmoller 			"echo FDT PROGRAM SUCCEEDED; "			\
473bfe18815SJohn Schmoller 		"fi; "							\
474bfe18815SJohn Schmoller 	"else; "							\
475bfe18815SJohn Schmoller 		"echo FDT DOWNLOAD FAILED; "				\
476bfe18815SJohn Schmoller 	"fi;"
477bfe18815SJohn Schmoller 
478bfe18815SJohn Schmoller #define CONFIG_PROG_FDT2						\
479bfe18815SJohn Schmoller 	"$download_cmd $fdtaddr $fdtfile; "				\
480bfe18815SJohn Schmoller 	"if test $? -eq 0; then "					\
481bfe18815SJohn Schmoller 		"erase "CONFIG_FDT2_ENV_ADDR" +$filesize;"		\
482bfe18815SJohn Schmoller 		"cp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; "	\
483bfe18815SJohn Schmoller 		"cmp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; "	\
484bfe18815SJohn Schmoller 		"if test $? -ne 0; then "				\
485bfe18815SJohn Schmoller 			"echo FDT PROGRAM FAILED; "			\
486bfe18815SJohn Schmoller 		"else; "						\
487bfe18815SJohn Schmoller 			"echo FDT PROGRAM SUCCEEDED; "			\
488bfe18815SJohn Schmoller 		"fi; "							\
489bfe18815SJohn Schmoller 	"else; "							\
490bfe18815SJohn Schmoller 		"echo FDT DOWNLOAD FAILED; "				\
491bfe18815SJohn Schmoller 	"fi;"
492bfe18815SJohn Schmoller 
493bfe18815SJohn Schmoller #define CONFIG_EXTRA_ENV_SETTINGS					\
494bfe18815SJohn Schmoller 	"autoload=yes\0"						\
495bfe18815SJohn Schmoller 	"download_cmd=tftp\0"						\
496bfe18815SJohn Schmoller 	"console_args=console=ttyS0,115200\0"				\
497bfe18815SJohn Schmoller 	"root_args=root=/dev/nfs rw\0"					\
498bfe18815SJohn Schmoller 	"misc_args=ip=on\0"						\
499bfe18815SJohn Schmoller 	"set_bootargs=setenv bootargs ${console_args} ${root_args} ${misc_args}\0" \
500bfe18815SJohn Schmoller 	"bootfile=/home/user/file\0"					\
501bfe18815SJohn Schmoller 	"osfile=/home/user/board.uImage\0"				\
502bfe18815SJohn Schmoller 	"fdtfile=/home/user/board.dtb\0"				\
503bfe18815SJohn Schmoller 	"ubootfile=/home/user/u-boot.bin\0"				\
504*b24a4f62SScott Wood 	"fdtaddr=0x1e00000\0"						\
505bfe18815SJohn Schmoller 	"osaddr=0x1000000\0"						\
506bfe18815SJohn Schmoller 	"loadaddr=0x1000000\0"						\
507bfe18815SJohn Schmoller 	"prog_uboot1="CONFIG_PROG_UBOOT1"\0"				\
508bfe18815SJohn Schmoller 	"prog_uboot2="CONFIG_PROG_UBOOT2"\0"				\
509bfe18815SJohn Schmoller 	"prog_os1="CONFIG_PROG_OS1"\0"					\
510bfe18815SJohn Schmoller 	"prog_os2="CONFIG_PROG_OS2"\0"					\
511bfe18815SJohn Schmoller 	"prog_fdt1="CONFIG_PROG_FDT1"\0"				\
512bfe18815SJohn Schmoller 	"prog_fdt2="CONFIG_PROG_FDT2"\0"				\
513bfe18815SJohn Schmoller 	"bootcmd_net=run set_bootargs; "CONFIG_BOOT_OS_NET"\0"		\
514bfe18815SJohn Schmoller 	"bootcmd_flash1=run set_bootargs; "				\
515bfe18815SJohn Schmoller 		"bootm "CONFIG_OS1_ENV_ADDR" - "CONFIG_FDT1_ENV_ADDR"\0"\
516bfe18815SJohn Schmoller 	"bootcmd_flash2=run set_bootargs; "				\
517bfe18815SJohn Schmoller 		"bootm "CONFIG_OS2_ENV_ADDR" - "CONFIG_FDT2_ENV_ADDR"\0"\
518bfe18815SJohn Schmoller 	"bootcmd=run bootcmd_flash1\0"
519bfe18815SJohn Schmoller #endif	/* __CONFIG_H */
520