MPC8548CDS.h 17.7 KB
Newer Older
1
/*
E
Ed Swarthout 已提交
2
 * Copyright 2004, 2007 Freescale Semiconductor.
3 4 5 6 7 8 9 10 11 12 13
 *
 * See file CREDITS for list of people who contributed to this
 * project.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
E
Ed Swarthout 已提交
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA 02111-1307 USA
 */

/*
 * mpc8548cds board configuration file
 *
 * Please refer to doc/README.mpc85xxcds for more info.
 *
 */
#ifndef __CONFIG_H
#define __CONFIG_H

/* High Level Configuration Options */
#define CONFIG_BOOKE		1	/* BOOKE */
#define CONFIG_E500		1	/* BOOKE e500 family */
#define CONFIG_MPC85xx		1	/* MPC8540/60/55/41/48 */
#define CONFIG_MPC8548		1	/* MPC8548 specific */
#define CONFIG_MPC8548CDS	1	/* MPC8548CDS board specific */

E
Ed Swarthout 已提交
39 40 41 42 43 44
#define CONFIG_PCI		/* enable any pci type devices */
#define CONFIG_PCI1		/* PCI controller 1 */
#define CONFIG_PCIE1		/* PCIE controler 1 (slot 1) */
#undef CONFIG_RIO
#undef CONFIG_PCI2
#define CONFIG_FSL_PCI_INIT	1	/* Use common FSL init code */
45
#define CONFIG_FSL_PCIE_RESET	1	/* need PCIe reset errata */
E
Ed Swarthout 已提交
46 47

#define CONFIG_TSEC_ENET		/* tsec ethernet support */
48
#define CONFIG_ENV_OVERWRITE
E
Ed Swarthout 已提交
49
#define CONFIG_INTERRUPTS		/* enable pci, srio, ddr interrupts */
50
#define CONFIG_FSL_LAW		1	/* Use common FSL init code */
51

52 53
#define CONFIG_FSL_VIA

54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
/*
 * When initializing flash, if we cannot find the manufacturer ID,
 * assume this is the AMD flash associated with the CDS board.
 * This allows booting from a promjet.
 */
#define CONFIG_ASSUME_AMD_FLASH

#ifndef __ASSEMBLY__
extern unsigned long get_clock_freq(void);
#endif
#define CONFIG_SYS_CLK_FREQ	get_clock_freq() /* sysclk for MPC85xx */

/*
 * These can be toggled for performance analysis, otherwise use default.
 */
E
Ed Swarthout 已提交
69 70 71 72
#define CONFIG_L2_CACHE			/* toggle L2 cache */
#define CONFIG_BTB			/* toggle branch predition */
#define CONFIG_ADDR_STREAMING		/* toggle addr streaming */
#define CONFIG_CLEAR_LAW0		/* Clear LAW0 in cpu_init_r */
73 74 75 76 77 78 79 80 81 82 83 84 85

/*
 * Only possible on E500 Version 2 or newer cores.
 */
#define CONFIG_ENABLE_36BIT_PHYS	1

#define CFG_MEMTEST_START	0x00200000	/* memtest works on */
#define CFG_MEMTEST_END		0x00400000

/*
 * Base addresses -- Note these are effective addresses where the
 * actual resources get mapped (not physical addresses)
 */
E
Ed Swarthout 已提交
86
#define CFG_CCSRBAR_DEFAULT	0xff700000	/* CCSRBAR Default */
87
#define CFG_CCSRBAR		0xe0000000	/* relocated CCSRBAR */
88
#define CFG_CCSRBAR_PHYS	CFG_CCSRBAR	/* physical addr of CCSRBAR */
89 90
#define CFG_IMMR		CFG_CCSRBAR	/* PQII uses CFG_IMMR */

E
Ed Swarthout 已提交
91 92 93 94
#define CFG_PCI1_ADDR	(CFG_CCSRBAR+0x8000)
#define CFG_PCI2_ADDR	(CFG_CCSRBAR+0x9000)
#define CFG_PCIE1_ADDR	(CFG_CCSRBAR+0xa000)

95 96 97 98 99 100 101 102 103 104
/* DDR Setup */
#define CONFIG_FSL_DDR2
#undef CONFIG_FSL_DDR_INTERACTIVE
#define CONFIG_SPD_EEPROM		/* Use SPD EEPROM for DDR setup*/
#define CONFIG_DDR_SPD
#define CONFIG_DDR_DLL			/* possible DLL fix needed */

#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */
#define CONFIG_MEM_INIT_VALUE	0xDeadBeef

105 106 107
#define CFG_DDR_SDRAM_BASE	0x00000000	/* DDR is system memory*/
#define CFG_SDRAM_BASE		CFG_DDR_SDRAM_BASE

108 109 110
#define CONFIG_NUM_DDR_CONTROLLERS	1
#define CONFIG_DIMM_SLOTS_PER_CTLR	1
#define CONFIG_CHIP_SELECTS_PER_CTRL	(2 * CONFIG_DIMM_SLOTS_PER_CTLR)
111

112 113 114 115
/* I2C addresses of SPD EEPROMs */
#define SPD_EEPROM_ADDRESS	0x51	/* CTLR 0 DIMM 0 */

/* Make sure required options are set */
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
#ifndef CONFIG_SPD_EEPROM
#error ("CONFIG_SPD_EEPROM is required")
#endif

#undef CONFIG_CLOCKS_IN_MHZ

/*
 * Local Bus Definitions
 */

/*
 * FLASH on the Local Bus
 * Two banks, 8M each, using the CFI driver.
 * Boot from BR0/OR0 bank at 0xff00_0000
 * Alternate BR1/OR1 bank at 0xff80_0000
 *
 * BR0, BR1:
 *    Base address 0 = 0xff00_0000 = BR0[0:16] = 1111 1111 0000 0000 0
 *    Base address 1 = 0xff80_0000 = BR1[0:16] = 1111 1111 1000 0000 0
 *    Port Size = 16 bits = BRx[19:20] = 10
 *    Use GPCM = BRx[24:26] = 000
 *    Valid = BRx[31] = 1
 *
E
Ed Swarthout 已提交
139 140 141
 * 0	4    8	  12   16   20	 24   28
 * 1111 1111 1000 0000 0001 0000 0000 0001 = ff801001	 BR0
 * 1111 1111 0000 0000 0001 0000 0000 0001 = ff001001	 BR1
142 143 144 145 146 147 148 149 150 151
 *
 * OR0, OR1:
 *    Addr Mask = 8M = ORx[0:16] = 1111 1111 1000 0000 0
 *    Reserved ORx[17:18] = 11, confusion here?
 *    CSNT = ORx[20] = 1
 *    ACS = half cycle delay = ORx[21:22] = 11
 *    SCY = 6 = ORx[24:27] = 0110
 *    TRLX = use relaxed timing = ORx[29] = 1
 *    EAD = use external address latch delay = OR[31] = 1
 *
E
Ed Swarthout 已提交
152 153
 * 0	4    8	  12   16   20	 24   28
 * 1111 1111 1000 0000 0110 1110 0110 0101 = ff806e65	 ORx
154 155
 */

E
Ed Swarthout 已提交
156 157
#define CFG_BOOT_BLOCK		0xff000000	/* boot TLB block */
#define CFG_FLASH_BASE		CFG_BOOT_BLOCK	/* start of FLASH 16M */
158 159 160 161 162 163 164 165 166 167 168 169 170 171

#define CFG_BR0_PRELIM		0xff801001
#define CFG_BR1_PRELIM		0xff001001

#define	CFG_OR0_PRELIM		0xff806e65
#define	CFG_OR1_PRELIM		0xff806e65

#define CFG_FLASH_BANKS_LIST	{0xff800000, CFG_FLASH_BASE}
#define CFG_MAX_FLASH_BANKS	2		/* number of banks */
#define CFG_MAX_FLASH_SECT	128		/* sectors per device */
#undef	CFG_FLASH_CHECKSUM
#define CFG_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
#define CFG_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */

E
Ed Swarthout 已提交
172
#define CFG_MONITOR_BASE	TEXT_BASE	/* start of monitor */
173

174
#define CONFIG_FLASH_CFI_DRIVER
175 176 177 178 179 180 181
#define CFG_FLASH_CFI
#define CFG_FLASH_EMPTY_INFO


/*
 * SDRAM on the Local Bus
 */
E
Ed Swarthout 已提交
182 183 184 185 186 187
#define CFG_LBC_CACHE_BASE	0xf0000000	/* Localbus cacheable */
#define CFG_LBC_CACHE_SIZE	64
#define CFG_LBC_NONCACHE_BASE	0xf8000000	/* Localbus non-cacheable */
#define CFG_LBC_NONCACHE_SIZE	64

#define CFG_LBC_SDRAM_BASE	CFG_LBC_CACHE_BASE	/* Localbus SDRAM */
188 189 190 191 192 193 194 195 196 197 198 199 200
#define CFG_LBC_SDRAM_SIZE	64		/* LBC SDRAM is 64MB */

/*
 * Base Register 2 and Option Register 2 configure SDRAM.
 * The SDRAM base address, CFG_LBC_SDRAM_BASE, is 0xf0000000.
 *
 * For BR2, need:
 *    Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0
 *    port-size = 32-bits = BR2[19:20] = 11
 *    no parity checking = BR2[21:22] = 00
 *    SDRAM for MSEL = BR2[24:26] = 011
 *    Valid = BR[31] = 1
 *
E
Ed Swarthout 已提交
201
 * 0	4    8	  12   16   20	 24   28
202 203 204 205 206 207
 * 1111 0000 0000 0000 0001 1000 0110 0001 = f0001861
 *
 * FIXME: CFG_LBC_SDRAM_BASE should be masked and OR'ed into
 * FIXME: the top 17 bits of BR2.
 */

E
Ed Swarthout 已提交
208
#define CFG_BR2_PRELIM		0xf0001861
209 210 211 212 213 214 215 216

/*
 * The SDRAM size in MB, CFG_LBC_SDRAM_SIZE, is 64.
 *
 * For OR2, need:
 *    64MB mask for AM, OR2[0:7] = 1111 1100
 *		   XAM, OR2[17:18] = 11
 *    9 columns OR2[19-21] = 010
E
Ed Swarthout 已提交
217
 *    13 rows	OR2[23-25] = 100
218 219
 *    EAD set for extra time OR[31] = 1
 *
E
Ed Swarthout 已提交
220
 * 0	4    8	  12   16   20	 24   28
221 222 223 224 225
 * 1111 1100 0000 0000 0110 1001 0000 0001 = fc006901
 */

#define CFG_OR2_PRELIM		0xfc006901

E
Ed Swarthout 已提交
226 227 228 229
#define CFG_LBC_LCRR		0x00030004	/* LB clock ratio reg */
#define CFG_LBC_LBCR		0x00000000	/* LB config reg */
#define CFG_LBC_LSRT		0x20000000	/* LB sdram refresh timer */
#define CFG_LBC_MRTPR		0x00000000	/* LB refresh timer prescal*/
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256

/*
 * LSDMR masks
 */
#define CFG_LBC_LSDMR_RFEN	(1 << (31 -  1))
#define CFG_LBC_LSDMR_BSMA1516	(3 << (31 - 10))
#define CFG_LBC_LSDMR_BSMA1617	(4 << (31 - 10))
#define CFG_LBC_LSDMR_RFCR16	(7 << (31 - 16))
#define CFG_LBC_LSDMR_PRETOACT7	(7 << (31 - 19))
#define CFG_LBC_LSDMR_ACTTORW7	(7 << (31 - 22))
#define CFG_LBC_LSDMR_ACTTORW6	(6 << (31 - 22))
#define CFG_LBC_LSDMR_BL8	(1 << (31 - 23))
#define CFG_LBC_LSDMR_WRC4	(0 << (31 - 27))
#define CFG_LBC_LSDMR_CL3	(3 << (31 - 31))

#define CFG_LBC_LSDMR_OP_NORMAL	(0 << (31 - 4))
#define CFG_LBC_LSDMR_OP_ARFRSH	(1 << (31 - 4))
#define CFG_LBC_LSDMR_OP_SRFRSH	(2 << (31 - 4))
#define CFG_LBC_LSDMR_OP_MRW	(3 << (31 - 4))
#define CFG_LBC_LSDMR_OP_PRECH	(4 << (31 - 4))
#define CFG_LBC_LSDMR_OP_PCHALL	(5 << (31 - 4))
#define CFG_LBC_LSDMR_OP_ACTBNK	(6 << (31 - 4))
#define CFG_LBC_LSDMR_OP_RWINV	(7 << (31 - 4))

/*
 * Common settings for all Local Bus SDRAM commands.
 * At run time, either BSMA1516 (for CPU 1.1)
E
Ed Swarthout 已提交
257
 *		    or BSMA1617 (for CPU 1.0) (old)
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
 * is OR'ed in too.
 */
#define CFG_LBC_LSDMR_COMMON	( CFG_LBC_LSDMR_RFCR16		\
				| CFG_LBC_LSDMR_PRETOACT7	\
				| CFG_LBC_LSDMR_ACTTORW7	\
				| CFG_LBC_LSDMR_BL8		\
				| CFG_LBC_LSDMR_WRC4		\
				| CFG_LBC_LSDMR_CL3		\
				| CFG_LBC_LSDMR_RFEN		\
				)

/*
 * The CADMUS registers are connected to CS3 on CDS.
 * The new memory map places CADMUS at 0xf8000000.
 *
 * For BR3, need:
 *    Base address of 0xf8000000 = BR[0:16] = 1111 1000 0000 0000 0
 *    port-size = 8-bits  = BR[19:20] = 01
 *    no parity checking  = BR[21:22] = 00
E
Ed Swarthout 已提交
277 278
 *    GPMC for MSEL	  = BR[24:26] = 000
 *    Valid		  = BR[31]    = 1
279
 *
E
Ed Swarthout 已提交
280
 * 0	4    8	  12   16   20	 24   28
281 282 283
 * 1111 1000 0000 0000 0000 1000 0000 0001 = f8000801
 *
 * For OR3, need:
E
Ed Swarthout 已提交
284
 *    1 MB mask for AM,	  OR[0:16]  = 1111 1111 1111 0000 0
285
 *    disable buffer ctrl OR[19]    = 0
E
Ed Swarthout 已提交
286 287 288
 *    CSNT		  OR[20]    = 1
 *    ACS		  OR[21:22] = 11
 *    XACS		  OR[23]    = 1
289
 *    SCY 15 wait states  OR[24:27] = 1111	max is suboptimal but safe
E
Ed Swarthout 已提交
290 291 292 293
 *    SETA		  OR[28]    = 0
 *    TRLX		  OR[29]    = 1
 *    EHTR		  OR[30]    = 1
 *    EAD extra time	  OR[31]    = 1
294
 *
E
Ed Swarthout 已提交
295
 * 0	4    8	  12   16   20	 24   28
296 297 298
 * 1111 1111 1111 0000 0000 1111 1111 0111 = fff00ff7
 */

299 300
#define CONFIG_FSL_CADMUS

301
#define CADMUS_BASE_ADDR 0xf8000000
E
Ed Swarthout 已提交
302 303
#define CFG_BR3_PRELIM	 0xf8000801
#define CFG_OR3_PRELIM	 0xfff00ff7
304 305

#define CONFIG_L1_INIT_RAM
E
Ed Swarthout 已提交
306
#define CFG_INIT_RAM_LOCK	1
307
#define CFG_INIT_RAM_ADDR	0xe4010000	/* Initial RAM address */
E
Ed Swarthout 已提交
308 309 310
#define CFG_INIT_RAM_END	0x4000		/* End of used area in RAM */

#define CFG_INIT_L2_ADDR	0xf8f80000	/* relocate boot L2SRAM */
311

E
Ed Swarthout 已提交
312
#define CFG_GBL_DATA_SIZE	128		/* num bytes initial data */
313 314 315
#define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET

E
Ed Swarthout 已提交
316 317
#define CFG_MONITOR_LEN		(256 * 1024) /* Reserve 256 kB for Mon */
#define CFG_MALLOC_LEN		(128 * 1024)	/* Reserved for malloc */
318 319

/* Serial Port */
E
Ed Swarthout 已提交
320
#define CONFIG_CONS_INDEX	2
321 322 323
#undef	CONFIG_SERIAL_SOFTWARE_FIFO
#define CFG_NS16550
#define CFG_NS16550_SERIAL
E
Ed Swarthout 已提交
324
#define CFG_NS16550_REG_SIZE	1
325 326
#define CFG_NS16550_CLK		get_bus_freq(0)

E
Ed Swarthout 已提交
327
#define CFG_BAUDRATE_TABLE \
328 329
	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}

E
Ed Swarthout 已提交
330 331
#define CFG_NS16550_COM1	(CFG_CCSRBAR+0x4500)
#define CFG_NS16550_COM2	(CFG_CCSRBAR+0x4600)
332 333 334

/* Use the HUSH parser */
#define CFG_HUSH_PARSER
E
Ed Swarthout 已提交
335
#ifdef	CFG_HUSH_PARSER
336 337 338
#define CFG_PROMPT_HUSH_PS2 "> "
#endif

339
/* pass open firmware flat tree */
K
Kumar Gala 已提交
340 341 342
#define CONFIG_OF_LIBFDT		1
#define CONFIG_OF_BOARD_SETUP		1
#define CONFIG_OF_STDOUT_VIA_ALIAS	1
343

344 345 346
#define CFG_64BIT_VSPRINTF	1
#define CFG_64BIT_STRTOUL	1

347 348 349 350 351
/*
 * I2C
 */
#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */
#define CONFIG_HARD_I2C		/* I2C with hardware support*/
E
Ed Swarthout 已提交
352
#undef	CONFIG_SOFT_I2C		/* I2C bit-banged */
353 354
#define CFG_I2C_SPEED		400000	/* I2C speed and slave address */
#define CFG_I2C_SLAVE		0x7F
E
Ed Swarthout 已提交
355
#define CFG_I2C_NOPROBES	{0x69}	/* Don't probe these addrs */
356
#define CFG_I2C_OFFSET		0x3000
357

358 359 360 361 362 363 364
/* EEPROM */
#define CONFIG_ID_EEPROM
#define CFG_I2C_EEPROM_CCID
#define CFG_ID_EEPROM
#define CFG_I2C_EEPROM_ADDR     0x57
#define CFG_I2C_EEPROM_ADDR_LEN 2

365 366
/*
 * General PCI
367
 * Memory space is mapped 1-1, but I/O space must start from 0.
368
 */
E
Ed Swarthout 已提交
369 370
#define CFG_PCI_PHYS		0x80000000	/* 1G PCI TLB */

371 372
#define CFG_PCI1_MEM_BASE	0x80000000
#define CFG_PCI1_MEM_PHYS	CFG_PCI1_MEM_BASE
E
Ed Swarthout 已提交
373
#define CFG_PCI1_MEM_SIZE	0x20000000	/* 512M */
374 375
#define CFG_PCI1_IO_BASE	0x00000000
#define CFG_PCI1_IO_PHYS	0xe2000000
E
Ed Swarthout 已提交
376
#define CFG_PCI1_IO_SIZE	0x00100000	/* 1M */
377

E
Ed Swarthout 已提交
378 379
#ifdef CONFIG_PCI2
#define CFG_PCI2_MEM_BASE	0xa0000000
380
#define CFG_PCI2_MEM_PHYS	CFG_PCI2_MEM_BASE
E
Ed Swarthout 已提交
381
#define CFG_PCI2_MEM_SIZE	0x20000000	/* 512M */
A
Andy Fleming 已提交
382
#define CFG_PCI2_IO_BASE	0x00000000
383
#define CFG_PCI2_IO_PHYS	0xe2800000
E
Ed Swarthout 已提交
384 385
#define CFG_PCI2_IO_SIZE	0x00100000	/* 1M */
#endif
386

E
Ed Swarthout 已提交
387 388 389 390 391 392 393 394
#ifdef CONFIG_PCIE1
#define CFG_PCIE1_MEM_BASE	0xa0000000
#define CFG_PCIE1_MEM_PHYS	CFG_PCIE1_MEM_BASE
#define CFG_PCIE1_MEM_SIZE	0x20000000	/* 512M */
#define CFG_PCIE1_IO_BASE	0x00000000
#define CFG_PCIE1_IO_PHYS	0xe3000000
#define CFG_PCIE1_IO_SIZE	0x00100000	/*   1M */
#endif
395

E
Ed Swarthout 已提交
396
#ifdef CONFIG_RIO
397 398 399 400 401
/*
 * RapidIO MMU
 */
#define CFG_RIO_MEM_BASE	0xC0000000
#define CFG_RIO_MEM_SIZE	0x20000000	/* 512M */
E
Ed Swarthout 已提交
402
#endif
403

404 405 406 407 408 409 410 411
#ifdef CONFIG_LEGACY
#define BRIDGE_ID 17
#define VIA_ID 2
#else
#define BRIDGE_ID 28
#define VIA_ID 4
#endif

412 413 414
#if defined(CONFIG_PCI)

#define CONFIG_NET_MULTI
E
Ed Swarthout 已提交
415
#define CONFIG_PCI_PNP			/* do pci plug-and-play */
416 417 418 419 420

#undef CONFIG_EEPRO100
#undef CONFIG_TULIP

#undef CONFIG_PCI_SCAN_SHOW		/* show pci devices on startup */
E
Ed Swarthout 已提交
421 422 423 424 425

/* PCI view of System Memory */
#define CFG_PCI_MEMORY_BUS	0x00000000
#define CFG_PCI_MEMORY_PHYS	0x00000000
#define CFG_PCI_MEMORY_SIZE	0x80000000
426 427 428 429 430 431 432

#endif	/* CONFIG_PCI */


#if defined(CONFIG_TSEC_ENET)

#ifndef CONFIG_NET_MULTI
E
Ed Swarthout 已提交
433
#define CONFIG_NET_MULTI	1
434 435 436
#endif

#define CONFIG_MII		1	/* MII PHY management */
437 438 439 440 441 442
#define CONFIG_TSEC1	1
#define CONFIG_TSEC1_NAME	"eTSEC0"
#define CONFIG_TSEC2	1
#define CONFIG_TSEC2_NAME	"eTSEC1"
#define CONFIG_TSEC3	1
#define CONFIG_TSEC3_NAME	"eTSEC2"
E
Ed Swarthout 已提交
443
#define CONFIG_TSEC4
444
#define CONFIG_TSEC4_NAME	"eTSEC3"
445 446 447 448 449 450 451 452 453 454 455
#undef CONFIG_MPC85XX_FEC

#define TSEC1_PHY_ADDR		0
#define TSEC2_PHY_ADDR		1
#define TSEC3_PHY_ADDR		2
#define TSEC4_PHY_ADDR		3

#define TSEC1_PHYIDX		0
#define TSEC2_PHYIDX		0
#define TSEC3_PHYIDX		0
#define TSEC4_PHYIDX		0
456 457 458 459
#define TSEC1_FLAGS		TSEC_GIGABIT
#define TSEC2_FLAGS		TSEC_GIGABIT
#define TSEC3_FLAGS		(TSEC_GIGABIT | TSEC_REDUCED)
#define TSEC4_FLAGS		(TSEC_GIGABIT | TSEC_REDUCED)
460 461 462

/* Options are: eTSEC[0-3] */
#define CONFIG_ETHPRIME		"eTSEC0"
E
Ed Swarthout 已提交
463
#define CONFIG_PHY_GIGE		1	/* Include GbE speed/duplex detection */
464 465 466 467 468 469 470 471 472 473 474 475 476
#endif	/* CONFIG_TSEC_ENET */

/*
 * Environment
 */
#define CFG_ENV_IS_IN_FLASH	1
#define CFG_ENV_ADDR		(CFG_MONITOR_BASE + 0x40000)
#define CFG_ENV_SECT_SIZE	0x40000	/* 256K(one sector) for env */
#define CFG_ENV_SIZE		0x2000

#define CONFIG_LOADS_ECHO	1	/* echo on for serial download */
#define CFG_LOADS_BAUD_CHANGE	1	/* allow baudrate change */

477 478 479 480 481 482 483 484 485
/*
 * BOOTP options
 */
#define CONFIG_BOOTP_BOOTFILESIZE
#define CONFIG_BOOTP_BOOTPATH
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_HOSTNAME


486 487 488 489 490 491 492 493
/*
 * Command line configuration.
 */
#include <config_cmd_default.h>

#define CONFIG_CMD_PING
#define CONFIG_CMD_I2C
#define CONFIG_CMD_MII
494
#define CONFIG_CMD_ELF
495

496
#if defined(CONFIG_PCI)
497
    #define CONFIG_CMD_PCI
498
#endif
499

500 501 502 503 504 505 506

#undef CONFIG_WATCHDOG			/* watchdog disabled */

/*
 * Miscellaneous configurable options
 */
#define CFG_LONGHELP			/* undef to save memory	*/
507
#define CONFIG_CMDLINE_EDITING		/* Command-line editing */
508 509
#define CFG_LOAD_ADDR	0x2000000	/* default load address */
#define CFG_PROMPT	"=> "		/* Monitor Command Prompt */
510
#if defined(CONFIG_CMD_KGDB)
511 512 513 514 515 516 517 518 519 520 521 522 523 524
#define CFG_CBSIZE	1024		/* Console I/O Buffer Size */
#else
#define CFG_CBSIZE	256		/* Console I/O Buffer Size */
#endif
#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
#define CFG_MAXARGS	16		/* max number of command args */
#define CFG_BARGSIZE	CFG_CBSIZE	/* Boot Argument Buffer Size */
#define CFG_HZ		1000		/* decrementer freq: 1ms ticks */

/*
 * For booting Linux, the board info and command line data
 * have to be in the first 8 MB of memory, since this is
 * the maximum mapped by the Linux kernel during initialization.
 */
E
Ed Swarthout 已提交
525
#define CFG_BOOTMAPSZ	(8 << 20)	/* Initial Memory map for Linux*/
526 527 528 529 530 531 532 533 534

/*
 * Internal Definitions
 *
 * Boot Flags
 */
#define BOOTFLAG_COLD	0x01		/* Normal Power-On: Boot from FLASH */
#define BOOTFLAG_WARM	0x02		/* Software reboot */

535
#if defined(CONFIG_CMD_KGDB)
536 537 538 539 540 541 542 543 544 545
#define CONFIG_KGDB_BAUDRATE	230400	/* speed to run kgdb serial port */
#define CONFIG_KGDB_SER_INDEX	2	/* which serial port to use */
#endif

/*
 * Environment Configuration
 */

/* The mac addresses for all ethernet interface */
#if defined(CONFIG_TSEC_ENET)
546
#define CONFIG_HAS_ETH0
E
Ed Swarthout 已提交
547
#define CONFIG_ETHADDR	 00:E0:0C:00:00:FD
548
#define CONFIG_HAS_ETH1
E
Ed Swarthout 已提交
549
#define CONFIG_ETH1ADDR	 00:E0:0C:00:01:FD
550
#define CONFIG_HAS_ETH2
E
Ed Swarthout 已提交
551
#define CONFIG_ETH2ADDR	 00:E0:0C:00:02:FD
552
#define CONFIG_HAS_ETH3
E
Ed Swarthout 已提交
553
#define CONFIG_ETH3ADDR	 00:E0:0C:00:03:FD
554 555
#endif

E
Ed Swarthout 已提交
556
#define CONFIG_IPADDR	 192.168.1.253
557

E
Ed Swarthout 已提交
558 559 560 561
#define CONFIG_HOSTNAME	 unknown
#define CONFIG_ROOTPATH	 /nfsroot
#define CONFIG_BOOTFILE	8548cds/uImage.uboot
#define CONFIG_UBOOTPATH	8548cds/u-boot.bin	/* TFTP server */
562

E
Ed Swarthout 已提交
563
#define CONFIG_SERVERIP	 192.168.1.1
564
#define CONFIG_GATEWAYIP 192.168.1.1
E
Ed Swarthout 已提交
565
#define CONFIG_NETMASK	 255.255.255.0
566

E
Ed Swarthout 已提交
567
#define CONFIG_LOADADDR	1000000	/*default location for tftp and bootm*/
568

E
Ed Swarthout 已提交
569 570
#define CONFIG_BOOTDELAY 10	/* -1 disables auto-boot */
#undef	CONFIG_BOOTARGS		/* the boot command will set bootargs*/
571 572 573

#define CONFIG_BAUDRATE	115200

E
Ed Swarthout 已提交
574 575 576 577 578 579 580 581 582 583 584
#define	CONFIG_EXTRA_ENV_SETTINGS				\
 "netdev=eth0\0"						\
 "uboot=" MK_STR(CONFIG_UBOOTPATH) "\0"				\
 "tftpflash=tftpboot $loadaddr $uboot; "			\
	"protect off " MK_STR(TEXT_BASE) " +$filesize; "	\
	"erase " MK_STR(TEXT_BASE) " +$filesize; "		\
	"cp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize; "	\
	"protect on " MK_STR(TEXT_BASE) " +$filesize; "		\
	"cmp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize\0"	\
 "consoledev=ttyS1\0"				\
 "ramdiskaddr=2000000\0"			\
A
Andy Fleming 已提交
585
 "ramdiskfile=ramdisk.uboot\0"			\
E
Ed Swarthout 已提交
586
 "fdtaddr=c00000\0"				\
587
 "fdtfile=mpc8548cds.dtb\0"
E
Ed Swarthout 已提交
588 589 590 591

#define CONFIG_NFSBOOTCOMMAND						\
   "setenv bootargs root=/dev/nfs rw "					\
      "nfsroot=$serverip:$rootpath "					\
592
      "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \
E
Ed Swarthout 已提交
593 594
      "console=$consoledev,$baudrate $othbootargs;"			\
   "tftp $loadaddr $bootfile;"						\
E
Ed Swarthout 已提交
595 596
   "tftp $fdtaddr $fdtfile;"						\
   "bootm $loadaddr - $fdtaddr"
597

598 599

#define CONFIG_RAMBOOTCOMMAND \
E
Ed Swarthout 已提交
600 601 602 603
   "setenv bootargs root=/dev/ram rw "					\
      "console=$consoledev,$baudrate $othbootargs;"			\
   "tftp $ramdiskaddr $ramdiskfile;"					\
   "tftp $loadaddr $bootfile;"						\
E
Ed Swarthout 已提交
604 605
   "tftp $fdtaddr $fdtfile;"						\
   "bootm $loadaddr $ramdiskaddr $fdtaddr"
E
Ed Swarthout 已提交
606 607

#define CONFIG_BOOTCOMMAND	CONFIG_NFSBOOTCOMMAND
608 609

#endif	/* __CONFIG_H */