CPU87.h 21.2 KB
Newer Older
W
wdenk 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
/*
 * (C) Copyright 2001-2005
 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 *
 * 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
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the
 * 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
 */

/*
 * board/config.h - configuration options, board specific
 */

#ifndef __CONFIG_H
#define __CONFIG_H

/*
 * High Level Configuration Options
 * (easy to change)
 */

#define CONFIG_MPC8260		1	/* This is an MPC8260 CPU		*/
#define CONFIG_CPU87		1	/* ...on a CPU87 board	*/
#define CONFIG_PCI
39
#define CONFIG_CPM2		1	/* Has a CPM2 */
W
wdenk 已提交
40

41 42 43 44 45 46
#ifdef CONFIG_BOOT_ROM
#define CONFIG_SYS_TEXT_BASE	0xFF800000
#else
#define	CONFIG_SYS_TEXT_BASE	0xFF000000
#endif

W
wdenk 已提交
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
/*
 * select serial console configuration
 *
 * if either CONFIG_CONS_ON_SMC or CONFIG_CONS_ON_SCC is selected, then
 * CONFIG_CONS_INDEX must be set to the channel number (1-2 for SMC, 1-4
 * for SCC).
 *
 * if CONFIG_CONS_NONE is defined, then the serial console routines must
 * defined elsewhere (for example, on the cogent platform, there are serial
 * ports on the motherboard which are used for the serial console - see
 * cogent/cma101/serial.[ch]).
 */
#undef	CONFIG_CONS_ON_SMC		/* define if console on SMC */
#define CONFIG_CONS_ON_SCC		/* define if console on SCC */
#undef	CONFIG_CONS_NONE		/* define if console on something else*/
#define CONFIG_CONS_INDEX	1	/* which serial channel for console */

#if defined(CONFIG_CONS_NONE) || defined(CONFIG_CONS_USE_EXTC)
#define CONFIG_BAUDRATE		230400
#else
#define CONFIG_BAUDRATE		9600
#endif

/*
 * select ethernet configuration
 *
 * if either CONFIG_ETHER_ON_SCC or CONFIG_ETHER_ON_FCC is selected, then
 * CONFIG_ETHER_INDEX must be set to the channel number (1-4 for SCC, 1-3
 * for FCC)
 *
 * if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be
78
 * defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset.
W
wdenk 已提交
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
 */
#undef	CONFIG_ETHER_ON_SCC		/* define if ether on SCC	*/
#define CONFIG_ETHER_ON_FCC		/* define if ether on FCC	*/
#undef	CONFIG_ETHER_NONE		/* define if ether on something else */
#define CONFIG_ETHER_INDEX	1	/* which SCC/FCC channel for ethernet */

#define	CONFIG_HAS_ETH1		1
#define	CONFIG_HAS_ETH2		1

#if defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 1)

/*
 * - Rx-CLK is CLK11
 * - Tx-CLK is CLK12
 * - RAM for BD/Buffers is on the 60x Bus (see 28-13)
 * - Enable Full Duplex in FSMR
 */
96 97
# define CONFIG_SYS_CMXFCR_MASK1	(CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK)
# define CONFIG_SYS_CMXFCR_VALUE1	(CMXFCR_RF1CS_CLK11|CMXFCR_TF1CS_CLK12)
98 99
# define CONFIG_SYS_CPMFCR_RAMTYPE	0
# define CONFIG_SYS_FCC_PSMR		(FCC_PSMR_FDE|FCC_PSMR_LPB)
W
wdenk 已提交
100 101 102 103 104 105 106 107 108

#elif defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 2)

/*
 * - Rx-CLK is CLK13
 * - Tx-CLK is CLK14
 * - RAM for BD/Buffers is on the 60x Bus (see 28-13)
 * - Enable Full Duplex in FSMR
 */
109 110
# define CONFIG_SYS_CMXFCR_MASK2	(CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK)
# define CONFIG_SYS_CMXFCR_VALUE2	(CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14)
111 112
# define CONFIG_SYS_CPMFCR_RAMTYPE	0
# define CONFIG_SYS_FCC_PSMR		(FCC_PSMR_FDE|FCC_PSMR_LPB)
W
wdenk 已提交
113 114 115 116 117 118 119 120 121 122

#endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */

/* system clock rate (CLKIN) - equal to the 60x and local bus speed */
#define CONFIG_8260_CLKIN	100000000	/* in Hz */

#define CONFIG_BOOTDELAY	5	/* autoboot after 5 seconds	*/

#define CONFIG_PREBOOT								\
	"echo; "								\
123
	"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS; "	\
W
wdenk 已提交
124 125 126 127 128
	"echo"

#undef	CONFIG_BOOTARGS
#define CONFIG_BOOTCOMMAND							\
	"bootp; "								\
129 130
	"setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} "	\
	"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; "	\
W
wdenk 已提交
131 132 133 134 135 136 137
	"bootm"

/*-----------------------------------------------------------------------
 * I2C/EEPROM/RTC configuration
 */
#define CONFIG_SOFT_I2C			/* Software I2C support enabled */

138 139
# define CONFIG_SYS_I2C_SPEED		50000
# define CONFIG_SYS_I2C_SLAVE		0xFE
W
wdenk 已提交
140 141 142 143 144 145 146 147 148 149 150 151 152 153
/*
 * Software (bit-bang) I2C driver configuration
 */
#define I2C_PORT	3		/* Port A=0, B=1, C=2, D=3 */
#define I2C_ACTIVE	(iop->pdir |=  0x00010000)
#define I2C_TRISTATE	(iop->pdir &= ~0x00010000)
#define I2C_READ	((iop->pdat & 0x00010000) != 0)
#define I2C_SDA(bit)	if(bit) iop->pdat |=  0x00010000; \
			else	iop->pdat &= ~0x00010000
#define I2C_SCL(bit)	if(bit) iop->pdat |=  0x00020000; \
			else	iop->pdat &= ~0x00020000
#define I2C_DELAY	udelay(5)	/* 1/4 I2C clock duration */

#define CONFIG_RTC_PCF8563
154
#define CONFIG_SYS_I2C_RTC_ADDR	0x51
W
wdenk 已提交
155 156 157 158 159 160 161

#undef	CONFIG_WATCHDOG			/* watchdog disabled		*/

/*-----------------------------------------------------------------------
 * Disk-On-Chip configuration
 */

162
#define CONFIG_SYS_MAX_DOC_DEVICE	1	/* Max number of DOC devices	*/
W
wdenk 已提交
163

164 165
#define CONFIG_SYS_DOC_SUPPORT_2000
#define CONFIG_SYS_DOC_SUPPORT_MILLENNIUM
W
wdenk 已提交
166 167 168 169 170 171

/*-----------------------------------------------------------------------
 * Miscellaneous configuration options
 */

#define CONFIG_LOADS_ECHO	1	/* echo on for serial download	*/
172
#undef	CONFIG_SYS_LOADS_BAUD_CHANGE		/* don't allow baudrate change	*/
W
wdenk 已提交
173

174 175 176 177 178 179 180 181
/*
 * BOOTP options
 */
#define CONFIG_BOOTP_SUBNETMASK
#define CONFIG_BOOTP_GATEWAY
#define CONFIG_BOOTP_HOSTNAME
#define CONFIG_BOOTP_BOOTPATH
#define CONFIG_BOOTP_BOOTFILESIZE
W
wdenk 已提交
182

183 184 185 186 187 188 189 190 191 192 193

/*
 * Command line configuration.
 */
#include <config_cmd_default.h>

#define CONFIG_CMD_BEDBUG
#define CONFIG_CMD_DATE
#define CONFIG_CMD_EEPROM
#define CONFIG_CMD_I2C

W
wdenk 已提交
194
#ifdef CONFIG_PCI
195 196 197
    #define CONFIG_CMD_PCI
#endif

W
wdenk 已提交
198 199 200
/*
 * Miscellaneous configurable options
 */
201 202
#define CONFIG_SYS_LONGHELP			/* undef to save memory		*/
#define CONFIG_SYS_PROMPT	"=> "		/* Monitor Command Prompt	*/
203
#if defined(CONFIG_CMD_KGDB)
204
#define CONFIG_SYS_CBSIZE	1024		/* Console I/O Buffer Size	*/
W
wdenk 已提交
205
#else
206
#define CONFIG_SYS_CBSIZE	256		/* Console I/O Buffer Size	*/
W
wdenk 已提交
207
#endif
208 209 210
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
#define CONFIG_SYS_MAXARGS	16		/* max number of command args	*/
#define CONFIG_SYS_BARGSIZE	CONFIG_SYS_CBSIZE	/* Boot Argument Buffer Size	*/
W
wdenk 已提交
211

212 213
#define CONFIG_SYS_MEMTEST_START	0x0400000	/* memtest works on	*/
#define CONFIG_SYS_MEMTEST_END 0x0C00000	/* 4 ... 12 MB in DRAM	*/
W
wdenk 已提交
214

215
#define CONFIG_SYS_LOAD_ADDR	0x100000	/* default load address */
W
wdenk 已提交
216

217
#define CONFIG_SYS_HZ		1000		/* decrementer freq: 1 ms ticks */
W
wdenk 已提交
218

219
#define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }
W
wdenk 已提交
220

221
#define CONFIG_SYS_RESET_ADDRESS 0xFFF00100	/* "bad" address		*/
W
wdenk 已提交
222 223 224 225 226 227 228 229

#define CONFIG_LOOPW

/*
 * 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.
 */
230
#define CONFIG_SYS_BOOTMAPSZ		(8 << 20) /* Initial Memory map for Linux */
W
wdenk 已提交
231 232 233 234 235

/*-----------------------------------------------------------------------
 * Flash configuration
 */

236 237 238 239
#define CONFIG_SYS_BOOTROM_BASE	0xFF800000
#define CONFIG_SYS_BOOTROM_SIZE	0x00080000
#define CONFIG_SYS_FLASH_BASE		0xFF000000
#define CONFIG_SYS_FLASH_SIZE		0x00800000
W
wdenk 已提交
240 241 242 243

/*-----------------------------------------------------------------------
 * FLASH organization
 */
244 245
#define CONFIG_SYS_MAX_FLASH_BANKS	2	/* max num of memory banks	*/
#define CONFIG_SYS_MAX_FLASH_SECT	135	/* max num of sects on one chip */
W
wdenk 已提交
246

247 248
#define CONFIG_SYS_FLASH_ERASE_TOUT	240000	/* Flash Erase Timeout (in ms)	*/
#define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (in ms)	*/
W
wdenk 已提交
249 250 251 252 253 254

/*-----------------------------------------------------------------------
 * Other areas to be mapped
 */

/* CS3: Dual ported SRAM */
255 256
#define CONFIG_SYS_DPSRAM_BASE		0x40000000
#define CONFIG_SYS_DPSRAM_SIZE		0x00100000
W
wdenk 已提交
257 258

/* CS4: DiskOnChip */
259 260
#define CONFIG_SYS_DOC_BASE		0xF4000000
#define CONFIG_SYS_DOC_SIZE		0x00100000
W
wdenk 已提交
261 262

/* CS5: FDC37C78 controller */
263 264
#define CONFIG_SYS_FDC37C78_BASE	0xF1000000
#define CONFIG_SYS_FDC37C78_SIZE	0x00100000
W
wdenk 已提交
265 266

/* CS6: Board configuration registers */
267 268
#define CONFIG_SYS_BCRS_BASE		0xF2000000
#define CONFIG_SYS_BCRS_SIZE		0x00010000
W
wdenk 已提交
269 270

/* CS7: VME Extended Access Range */
271 272
#define CONFIG_SYS_VMEEAR_BASE		0x60000000
#define CONFIG_SYS_VMEEAR_SIZE		0x01000000
W
wdenk 已提交
273 274

/* CS8: VME Standard Access Range */
275 276
#define CONFIG_SYS_VMESAR_BASE		0xFE000000
#define CONFIG_SYS_VMESAR_SIZE		0x01000000
W
wdenk 已提交
277 278

/* CS9: VME Short I/O Access Range */
279 280
#define CONFIG_SYS_VMESIOAR_BASE	0xFD000000
#define CONFIG_SYS_VMESIOAR_SIZE	0x01000000
W
wdenk 已提交
281 282 283 284

/*-----------------------------------------------------------------------
 * Hard Reset Configuration Words
 *
285
 * if you change bits in the HRCW, you must also change the CONFIG_SYS_*
W
wdenk 已提交
286
 * defines for the various registers affected by the HRCW e.g. changing
287
 * HRCW_DPPCxx requires you to also change CONFIG_SYS_SIUMCR.
W
wdenk 已提交
288 289
 */
#if defined(CONFIG_BOOT_ROM)
290
#define CONFIG_SYS_HRCW_MASTER		(HRCW_CIP | HRCW_ISB100 | HRCW_BMS | \
W
wdenk 已提交
291 292
				 HRCW_BPS01 | HRCW_CS10PC01)
#else
293
#define CONFIG_SYS_HRCW_MASTER		(HRCW_CIP | HRCW_ISB100 | HRCW_BMS | HRCW_CS10PC01)
W
wdenk 已提交
294 295 296
#endif

/* no slaves so just fill with zeros */
297 298 299 300 301 302 303
#define CONFIG_SYS_HRCW_SLAVE1		0
#define CONFIG_SYS_HRCW_SLAVE2		0
#define CONFIG_SYS_HRCW_SLAVE3		0
#define CONFIG_SYS_HRCW_SLAVE4		0
#define CONFIG_SYS_HRCW_SLAVE5		0
#define CONFIG_SYS_HRCW_SLAVE6		0
#define CONFIG_SYS_HRCW_SLAVE7		0
W
wdenk 已提交
304 305 306 307

/*-----------------------------------------------------------------------
 * Internal Memory Mapped Register
 */
308
#define CONFIG_SYS_IMMR		0xF0000000
W
wdenk 已提交
309 310 311 312

/*-----------------------------------------------------------------------
 * Definitions for initial stack pointer and data area (in DPRAM)
 */
313
#define CONFIG_SYS_INIT_RAM_ADDR	CONFIG_SYS_IMMR
314
#define CONFIG_SYS_INIT_RAM_SIZE	0x4000	/* Size of used area in DPRAM	*/
315
#define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
316
#define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
W
wdenk 已提交
317 318 319 320

/*-----------------------------------------------------------------------
 * Start addresses for the final memory configuration
 * (Set up by the startup code)
321
 * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
W
wdenk 已提交
322
 *
323
 * 60x SDRAM is mapped at CONFIG_SYS_SDRAM_BASE.
W
wdenk 已提交
324
 */
325 326
#define CONFIG_SYS_SDRAM_BASE		0x00000000
#define CONFIG_SYS_SDRAM_MAX_SIZE	0x08000000	/* max. 128 MB		*/
327
#define CONFIG_SYS_MONITOR_BASE	CONFIG_SYS_TEXT_BASE
328 329
#define CONFIG_SYS_MONITOR_LEN		(256 << 10)	/* Reserve 256 kB for Monitor */
#define CONFIG_SYS_MALLOC_LEN		(128 << 10)	/* Reserve 128 kB for malloc()*/
W
wdenk 已提交
330

331 332
#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
# define CONFIG_SYS_RAMBOOT
W
wdenk 已提交
333 334 335 336 337
#endif

#ifdef	CONFIG_PCI
#define CONFIG_PCI_PNP
#define CONFIG_EEPRO100
338
#define CONFIG_SYS_RX_ETH_BUFFER	8		/* use 8 rx buffer on eepro100	*/
W
wdenk 已提交
339 340 341 342
#endif

#if 0
/* environment is in Flash */
343
#define CONFIG_ENV_IS_IN_FLASH	1
W
wdenk 已提交
344
#ifdef CONFIG_BOOT_ROM
345
# define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE+0x70000)
346 347
# define CONFIG_ENV_SIZE		0x10000
# define CONFIG_ENV_SECT_SIZE	0x10000
W
wdenk 已提交
348 349 350
#endif
#else
/* environment is in EEPROM */
351
#define CONFIG_ENV_IS_IN_EEPROM	1
352 353
#define CONFIG_SYS_I2C_EEPROM_ADDR	0x58	/* EEPROM X24C16		*/
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
W
wdenk 已提交
354
/* mask of address bits that overflow into the "EEPROM chip address"	*/
355 356 357
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW	0x07
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	10	/* and takes up to 10 msec */
358 359
#define CONFIG_ENV_OFFSET		512
#define CONFIG_ENV_SIZE		(2048 - 512)
W
wdenk 已提交
360 361 362 363 364
#endif

/*-----------------------------------------------------------------------
 * Cache Configuration
 */
365
#define CONFIG_SYS_CACHELINE_SIZE	32	/* For MPC8260 CPU		*/
366
#if defined(CONFIG_CMD_KGDB)
367
# define CONFIG_SYS_CACHELINE_SHIFT	5	/* log base 2 of the above value */
W
wdenk 已提交
368 369 370 371 372 373 374 375 376 377 378 379
#endif

/*-----------------------------------------------------------------------
 * HIDx - Hardware Implementation-dependent Registers			 2-11
 *-----------------------------------------------------------------------
 * HID0 also contains cache control - initially enable both caches and
 * invalidate contents, then the final state leaves only the instruction
 * cache enabled. Note that Power-On and Hard reset invalidate the caches,
 * but Soft reset does not.
 *
 * HID1 has only read-only information - nothing to set.
 */
380
#define CONFIG_SYS_HID0_INIT	(HID0_ICE|HID0_DCE|HID0_ICFI|\
W
wdenk 已提交
381
			 HID0_DCI|HID0_IFEM|HID0_ABE)
382 383
#define CONFIG_SYS_HID0_FINAL	(HID0_IFEM|HID0_ABE)
#define CONFIG_SYS_HID2	0
W
wdenk 已提交
384 385 386 387 388 389

/*-----------------------------------------------------------------------
 * RMR - Reset Mode Register					 5-5
 *-----------------------------------------------------------------------
 * turn on Checkstop Reset Enable
 */
390
#define CONFIG_SYS_RMR		RMR_CSRE
W
wdenk 已提交
391 392 393 394 395 396

/*-----------------------------------------------------------------------
 * BCR - Bus Configuration					 4-25
 *-----------------------------------------------------------------------
 */
#define BCR_APD01	0x10000000
397
#define CONFIG_SYS_BCR		(BCR_APD01|BCR_ETM|BCR_LETM)	/* 8260 mode */
W
wdenk 已提交
398 399 400 401 402

/*-----------------------------------------------------------------------
 * SIUMCR - SIU Module Configuration				 4-31
 *-----------------------------------------------------------------------
 */
403
#define CONFIG_SYS_SIUMCR	(SIUMCR_BBD|SIUMCR_DPPC00|SIUMCR_APPC10|\
W
wdenk 已提交
404 405 406 407 408 409 410 411 412
			 SIUMCR_CS10PC01|SIUMCR_BCTLC10)

/*-----------------------------------------------------------------------
 * SYPCR - System Protection Control				 4-35
 * SYPCR can only be written once after reset!
 *-----------------------------------------------------------------------
 * Watchdog & Bus Monitor Timer max, 60x Bus Monitor enable
 */
#if defined(CONFIG_WATCHDOG)
413
#define CONFIG_SYS_SYPCR	(SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
W
wdenk 已提交
414 415
			 SYPCR_SWRI|SYPCR_SWP|SYPCR_SWE)
#else
416
#define CONFIG_SYS_SYPCR	(SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
W
wdenk 已提交
417 418 419 420 421 422 423 424 425
			 SYPCR_SWRI|SYPCR_SWP)
#endif /* CONFIG_WATCHDOG */

/*-----------------------------------------------------------------------
 * TMCNTSC - Time Counter Status and Control			 4-40
 *-----------------------------------------------------------------------
 * Clear once per Second and Alarm Interrupt Status, Set 32KHz timersclk,
 * and enable Time Counter
 */
426
#define CONFIG_SYS_TMCNTSC	(TMCNTSC_SEC|TMCNTSC_ALR|TMCNTSC_TCF|TMCNTSC_TCE)
W
wdenk 已提交
427 428 429 430 431 432 433

/*-----------------------------------------------------------------------
 * PISCR - Periodic Interrupt Status and Control		 4-42
 *-----------------------------------------------------------------------
 * Clear Periodic Interrupt Status, Set 32KHz timersclk, and enable
 * Periodic timer
 */
434
#define CONFIG_SYS_PISCR	(PISCR_PS|PISCR_PTF|PISCR_PTE)
W
wdenk 已提交
435 436 437 438 439 440

/*-----------------------------------------------------------------------
 * SCCR - System Clock Control					 9-8
 *-----------------------------------------------------------------------
 * Ensure DFBRG is Divide by 16
 */
441
#define CONFIG_SYS_SCCR	SCCR_DFBRG01
W
wdenk 已提交
442 443 444 445 446

/*-----------------------------------------------------------------------
 * RCCR - RISC Controller Configuration				13-7
 *-----------------------------------------------------------------------
 */
447
#define CONFIG_SYS_RCCR	0
W
wdenk 已提交
448

449
#define CONFIG_SYS_MIN_AM_MASK 0xC0000000
W
wdenk 已提交
450 451

/*
452
 * we use the same values for 32 MB, 128 MB and 256 MB SDRAM
W
wdenk 已提交
453 454 455 456 457 458 459
 * refresh rate = 7.68 uS (100 MHz Bus Clock)
 */

/*-----------------------------------------------------------------------
 * MPTPR - Memory Refresh Timer Prescaler Register		10-18
 *-----------------------------------------------------------------------
 */
460
#define CONFIG_SYS_MPTPR	0x2000
W
wdenk 已提交
461 462 463 464 465

/*-----------------------------------------------------------------------
 * PSRT - Refresh Timer Register				10-16
 *-----------------------------------------------------------------------
 */
466
#define CONFIG_SYS_PSRT	0x16
W
wdenk 已提交
467 468 469 470 471 472 473 474

/*-----------------------------------------------------------------------
 * PSRT - SDRAM Mode Register					10-10
 *-----------------------------------------------------------------------
 */

	/* SDRAM initialization values for 8-column chips
	 */
475
#define CONFIG_SYS_OR2_8COL	(CONFIG_SYS_MIN_AM_MASK		|\
W
wdenk 已提交
476 477 478 479
			 ORxS_BPD_4			|\
			 ORxS_ROWST_PBI0_A9		|\
			 ORxS_NUMR_12)

480
#define CONFIG_SYS_PSDMR_8COL	(PSDMR_SDAM_A13_IS_A5		|\
W
wdenk 已提交
481 482 483 484 485 486 487 488 489 490 491
			 PSDMR_BSMA_A14_A16		|\
			 PSDMR_SDA10_PBI0_A10		|\
			 PSDMR_RFRC_7_CLK		|\
			 PSDMR_PRETOACT_2W		|\
			 PSDMR_ACTTORW_2W		|\
			 PSDMR_LDOTOPRE_1C		|\
			 PSDMR_WRC_1C			|\
			 PSDMR_CL_2)

	/* SDRAM initialization values for 9-column chips
	 */
492
#define CONFIG_SYS_OR2_9COL	(CONFIG_SYS_MIN_AM_MASK		|\
W
wdenk 已提交
493 494 495 496
			 ORxS_BPD_4			|\
			 ORxS_ROWST_PBI0_A7		|\
			 ORxS_NUMR_13)

497
#define CONFIG_SYS_PSDMR_9COL	(PSDMR_SDAM_A14_IS_A5		|\
W
wdenk 已提交
498 499 500 501 502 503 504 505 506
			 PSDMR_BSMA_A13_A15		|\
			 PSDMR_SDA10_PBI0_A9		|\
			 PSDMR_RFRC_7_CLK		|\
			 PSDMR_PRETOACT_2W		|\
			 PSDMR_ACTTORW_2W		|\
			 PSDMR_LDOTOPRE_1C		|\
			 PSDMR_WRC_1C			|\
			 PSDMR_CL_2)

507 508
	/* SDRAM initialization values for 10-column chips
	 */
509
#define CONFIG_SYS_OR2_10COL	(CONFIG_SYS_MIN_AM_MASK		|\
510 511 512 513
			 ORxS_BPD_4			|\
			 ORxS_ROWST_PBI1_A4		|\
			 ORxS_NUMR_13)

514
#define CONFIG_SYS_PSDMR_10COL	(PSDMR_PBI			|\
515 516 517 518 519 520 521 522 523
			 PSDMR_SDAM_A17_IS_A5		|\
			 PSDMR_BSMA_A13_A15		|\
			 PSDMR_SDA10_PBI1_A6		|\
			 PSDMR_RFRC_7_CLK		|\
			 PSDMR_PRETOACT_2W		|\
			 PSDMR_ACTTORW_2W		|\
			 PSDMR_LDOTOPRE_1C		|\
			 PSDMR_WRC_1C			|\
			 PSDMR_CL_2)
W
Wolfgang Denk 已提交
524

W
wdenk 已提交
525 526 527 528 529 530 531 532 533 534 535
/*
 * Init Memory Controller:
 *
 * Bank Bus	Machine PortSz	Device
 * ---- ---	------- ------	------
 *  0	60x	GPCM	8  bit	Boot ROM
 *  1	60x	GPCM	64 bit	FLASH
 *  2	60x	SDRAM	64 bit	SDRAM
 *
 */

536
#define CONFIG_SYS_MRS_OFFS	0x00000000
W
wdenk 已提交
537 538 539 540

#ifdef CONFIG_BOOT_ROM
/* Bank 0 - Boot ROM
 */
541
#define CONFIG_SYS_BR0_PRELIM	((CONFIG_SYS_BOOTROM_BASE & BRx_BA_MSK)|\
W
wdenk 已提交
542 543 544 545
			 BRx_PS_8			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

546
#define CONFIG_SYS_OR0_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_BOOTROM_SIZE)	|\
W
wdenk 已提交
547 548 549 550 551 552 553
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV1			|\
			 ORxG_SCY_5_CLK			|\
			 ORxU_EHTR_8IDLE)

/* Bank 1 - FLASH
 */
554
#define CONFIG_SYS_BR1_PRELIM	((CONFIG_SYS_FLASH_BASE & BRx_BA_MSK)	|\
W
wdenk 已提交
555 556 557 558
			 BRx_PS_64			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

559
#define CONFIG_SYS_OR1_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_FLASH_SIZE)	|\
W
wdenk 已提交
560 561 562 563 564 565 566 567
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV1			|\
			 ORxG_SCY_5_CLK			|\
			 ORxU_EHTR_8IDLE)

#else /* CONFIG_BOOT_ROM */
/* Bank 0 - FLASH
 */
568
#define CONFIG_SYS_BR0_PRELIM	((CONFIG_SYS_FLASH_BASE & BRx_BA_MSK)	|\
W
wdenk 已提交
569 570 571 572
			 BRx_PS_64			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

573
#define CONFIG_SYS_OR0_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_FLASH_SIZE)	|\
W
wdenk 已提交
574 575 576 577 578 579 580
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV1			|\
			 ORxG_SCY_5_CLK			|\
			 ORxU_EHTR_8IDLE)

/* Bank 1 - Boot ROM
 */
581
#define CONFIG_SYS_BR1_PRELIM	((CONFIG_SYS_BOOTROM_BASE & BRx_BA_MSK)|\
W
wdenk 已提交
582 583 584 585
			 BRx_PS_8			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

586
#define CONFIG_SYS_OR1_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_BOOTROM_SIZE)	|\
W
wdenk 已提交
587 588 589 590 591 592 593 594 595 596
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV1			|\
			 ORxG_SCY_5_CLK			|\
			 ORxU_EHTR_8IDLE)

#endif /* CONFIG_BOOT_ROM */


/* Bank 2 - 60x bus SDRAM
 */
597 598
#ifndef CONFIG_SYS_RAMBOOT
#define CONFIG_SYS_BR2_PRELIM	((CONFIG_SYS_SDRAM_BASE & BRx_BA_MSK)	|\
W
wdenk 已提交
599 600 601 602
			 BRx_PS_64			|\
			 BRx_MS_SDRAM_P			|\
			 BRx_V)

603
#define CONFIG_SYS_OR2_PRELIM	 CONFIG_SYS_OR2_8COL
W
wdenk 已提交
604

605 606
#define CONFIG_SYS_PSDMR	 CONFIG_SYS_PSDMR_8COL
#endif /* CONFIG_SYS_RAMBOOT */
W
wdenk 已提交
607 608 609

/* Bank 3 - Dual Ported SRAM
 */
610
#define CONFIG_SYS_BR3_PRELIM	((CONFIG_SYS_DPSRAM_BASE & BRx_BA_MSK) |\
W
wdenk 已提交
611 612 613 614
			 BRx_PS_16			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

615
#define CONFIG_SYS_OR3_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_DPSRAM_SIZE)	|\
W
wdenk 已提交
616 617 618 619 620 621 622
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV1			|\
			 ORxG_SCY_7_CLK			|\
			 ORxG_SETA)

/* Bank 4 - DiskOnChip
 */
623
#define CONFIG_SYS_BR4_PRELIM	((CONFIG_SYS_DOC_BASE & BRx_BA_MSK)	|\
W
wdenk 已提交
624 625 626 627
			 BRx_PS_8			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

628
#define CONFIG_SYS_OR4_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_DOC_SIZE)	|\
W
wdenk 已提交
629 630 631 632 633 634 635
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV2			|\
			 ORxG_SCY_9_CLK			|\
			 ORxU_EHTR_8IDLE)

/* Bank 5 - FDC37C78 controller
 */
636
#define CONFIG_SYS_BR5_PRELIM	((CONFIG_SYS_FDC37C78_BASE & BRx_BA_MSK) |\
W
wdenk 已提交
637 638 639 640
			 BRx_PS_8			  |\
			 BRx_MS_GPCM_P			  |\
			 BRx_V)

641
#define CONFIG_SYS_OR5_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_FDC37C78_SIZE)	  |\
W
wdenk 已提交
642 643 644 645 646 647
			 ORxG_ACS_DIV2			  |\
			 ORxG_SCY_10_CLK		  |\
			 ORxU_EHTR_8IDLE)

/* Bank 6 - Board control registers
 */
648
#define CONFIG_SYS_BR6_PRELIM	((CONFIG_SYS_BCRS_BASE & BRx_BA_MSK)	|\
W
wdenk 已提交
649 650 651 652
			 BRx_PS_8			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

653
#define CONFIG_SYS_OR6_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_BCRS_SIZE)	|\
W
wdenk 已提交
654 655 656 657 658
			 ORxG_CSNT			|\
			 ORxG_SCY_7_CLK)

/* Bank 7 - VME Extended Access Range
 */
659
#define CONFIG_SYS_BR7_PRELIM	((CONFIG_SYS_VMEEAR_BASE & BRx_BA_MSK) |\
W
wdenk 已提交
660 661 662 663
			 BRx_PS_32			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

664
#define CONFIG_SYS_OR7_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_VMEEAR_SIZE)	|\
W
wdenk 已提交
665 666 667 668 669 670 671
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV1			|\
			 ORxG_SCY_7_CLK			|\
			 ORxG_SETA)

/* Bank 8 - VME Standard Access Range
 */
672
#define CONFIG_SYS_BR8_PRELIM	((CONFIG_SYS_VMESAR_BASE & BRx_BA_MSK) |\
W
wdenk 已提交
673 674 675 676
			 BRx_PS_16			|\
			 BRx_MS_GPCM_P			|\
			 BRx_V)

677
#define CONFIG_SYS_OR8_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_VMESAR_SIZE)	|\
W
wdenk 已提交
678 679 680 681 682 683 684
			 ORxG_CSNT			|\
			 ORxG_ACS_DIV1			|\
			 ORxG_SCY_7_CLK			|\
			 ORxG_SETA)

/* Bank 9 - VME Short I/O Access Range
 */
685
#define CONFIG_SYS_BR9_PRELIM	((CONFIG_SYS_VMESIOAR_BASE & BRx_BA_MSK) |\
W
wdenk 已提交
686 687 688 689
			 BRx_PS_16			  |\
			 BRx_MS_GPCM_P			  |\
			 BRx_V)

690
#define CONFIG_SYS_OR9_PRELIM	(P2SZ_TO_AM(CONFIG_SYS_VMESIOAR_SIZE)	  |\
W
wdenk 已提交
691 692 693 694 695 696
			 ORxG_CSNT			  |\
			 ORxG_ACS_DIV1			  |\
			 ORxG_SCY_7_CLK			  |\
			 ORxG_SETA)

#endif	/* __CONFIG_H */