mpc8641hpcn.h

来自「最新版的u-boot,2008-10-18发布」· C头文件 代码 · 共 667 行 · 第 1/2 页

H
667
字号
/* * Copyright 2006 Freescale Semiconductor. * * Srikanth Srinivasan (srikanth.srinivasan@freescale.com) * * 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 *//* * MPC8641HPCN board configuration file * * Make sure you change the MAC address and other network params first, * search for CONFIG_ETHADDR, CONFIG_SERVERIP, etc in this file. */#ifndef __CONFIG_H#define __CONFIG_H/* High Level Configuration Options */#define CONFIG_MPC86xx		1	/* MPC86xx */#define CONFIG_MPC8641		1	/* MPC8641 specific */#define CONFIG_MPC8641HPCN	1	/* MPC8641HPCN board specific */#define CONFIG_NUM_CPUS		2	/* Number of CPUs in the system */#define CONFIG_LINUX_RESET_VEC	0x100	/* Reset vector used by Linux */#ifdef RUN_DIAG#define CFG_DIAG_ADDR	     0xff800000#endif#define CFG_RESET_ADDRESS    0xfff00100#define CONFIG_PCI		1	/* Enable PCI/PCIE */#define CONFIG_PCI1		1	/* PCIE controler 1 (ULI bridge) */#define CONFIG_PCI2		1	/* PCIE controler 2 (slot) */#define CONFIG_FSL_PCI_INIT	1	/* Use common FSL init code */#define CONFIG_FSL_LAW		1	/* Use common FSL law init code */#define CONFIG_TSEC_ENET		/* tsec ethernet support */#define CONFIG_ENV_OVERWRITE#define CONFIG_HIGH_BATS	1	/* High BATs supported and enabled */#define CONFIG_ALTIVEC		1/* * L2CR setup -- make sure this is right for your board! */#define CFG_L2#define L2_INIT		0#define L2_ENABLE	(L2CR_L2E)#ifndef CONFIG_SYS_CLK_FREQ#ifndef __ASSEMBLY__extern unsigned long get_board_sys_clk(unsigned long dummy);#endif#define CONFIG_SYS_CLK_FREQ	get_board_sys_clk(0)#endif#define CONFIG_BOARD_EARLY_INIT_F	1	/* Call board_pre_init */#define CFG_MEMTEST_START	0x00200000	/* memtest region */#define CFG_MEMTEST_END		0x00400000/* * Base addresses -- Note these are effective addresses where the * actual resources get mapped (not physical addresses) */#define CFG_CCSRBAR_DEFAULT	0xff700000	/* CCSRBAR Default */#define CFG_CCSRBAR		0xf8000000	/* relocated CCSRBAR */#define CFG_IMMR		CFG_CCSRBAR	/* PQII uses CFG_IMMR */#define CFG_PCI1_ADDR		(CFG_CCSRBAR+0x8000)#define CFG_PCI2_ADDR		(CFG_CCSRBAR+0x9000)/* * 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_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */#define CONFIG_MEM_INIT_VALUE	0xDeadBeef#define CFG_DDR_SDRAM_BASE	0x00000000	/* DDR is system memory*/#define CFG_SDRAM_BASE		CFG_DDR_SDRAM_BASE#define CONFIG_VERY_BIG_RAM#define MPC86xx_DDR_SDRAM_CLK_CNTL#define CONFIG_NUM_DDR_CONTROLLERS	2#define CONFIG_DIMM_SLOTS_PER_CTLR	2#define CONFIG_CHIP_SELECTS_PER_CTRL	(2 * CONFIG_DIMM_SLOTS_PER_CTLR)/* * I2C addresses of SPD EEPROMs */#define SPD_EEPROM_ADDRESS1	0x51	/* CTLR 0 DIMM 0 */#define SPD_EEPROM_ADDRESS2	0x52	/* CTLR 0 DIMM 1 */#define SPD_EEPROM_ADDRESS3	0x53	/* CTLR 1 DIMM 0 */#define SPD_EEPROM_ADDRESS4	0x54	/* CTLR 1 DIMM 1 *//* * These are used when DDR doesn't use SPD. */#define CFG_SDRAM_SIZE		256		/* DDR is 256MB */#define CFG_DDR_CS0_BNDS	0x0000000F#define CFG_DDR_CS0_CONFIG	0x80010102      /* Enable, no interleaving */#define CFG_DDR_TIMING_3	0x00000000#define CFG_DDR_TIMING_0	0x00260802#define CFG_DDR_TIMING_1	0x39357322#define CFG_DDR_TIMING_2	0x14904cc8#define CFG_DDR_MODE_1		0x00480432#define CFG_DDR_MODE_2		0x00000000#define CFG_DDR_INTERVAL	0x06090100#define CFG_DDR_DATA_INIT	0xdeadbeef#define CFG_DDR_CLK_CTRL	0x03800000#define CFG_DDR_OCD_CTRL	0x00000000#define CFG_DDR_OCD_STATUS	0x00000000#define CFG_DDR_CONTROL		0xe3008000	/* Type = DDR2 */#define CFG_DDR_CONTROL2	0x04400000/* * FIXME: Not used in fixed_sdram function */#define CFG_DDR_MODE		0x00000022#define CFG_DDR_CS1_BNDS	0x00000000#define CFG_DDR_CS2_BNDS	0x00000FFF	/* Not done */#define CFG_DDR_CS3_BNDS	0x00000FFF	/* Not done */#define CFG_DDR_CS4_BNDS	0x00000FFF	/* Not done */#define CFG_DDR_CS5_BNDS	0x00000FFF	/* Not done */#define CONFIG_ID_EEPROM#define CFG_I2C_EEPROM_NXID#define CONFIG_ID_EEPROM#define CFG_I2C_EEPROM_ADDR     0x57#define CFG_I2C_EEPROM_ADDR_LEN 1/* * In MPC8641HPCN, allocate 16MB flash spaces at fe000000 and ff000000. * There is an 8MB flash.  In effect, the addresses from fe000000 to fe7fffff * map to fe800000 to ffffffff, and ff000000 to ff7fffff map to ffffffff. * However, when u-boot comes up, the flash_init needs hard start addresses * to build its info table.  For user convenience, the flash addresses is * fe800000 and ff800000.  That way, u-boot knows where the flash is * and the user can download u-boot code from promjet to fef00000, a * more intuitive location than fe700000. * * Note that, on switching the boot location, fef00000 becomes fff00000. */#define CFG_FLASH_BASE		0xfe800000     /* start of FLASH 32M */#define CFG_FLASH_BASE2		0xff800000#define CFG_FLASH_BANKS_LIST {CFG_FLASH_BASE, CFG_FLASH_BASE2}#define CFG_BR0_PRELIM		0xff001001	/* port size 16bit */#define CFG_OR0_PRELIM		0xff006ff7	/* 16MB Boot Flash area*/#define CFG_BR1_PRELIM		0xfe001001	/* port size 16bit */#define CFG_OR1_PRELIM		0xff006ff7	/* 16MB Alternate Boot Flash area*/#define CFG_BR2_PRELIM		0xf8201001	/* port size 16bit */#define CFG_OR2_PRELIM		0xfff06ff7	/* 1MB Compact Flash area*/#define CFG_BR3_PRELIM		0xf8100801	/* port size 8bit */#define CFG_OR3_PRELIM		0xfff06ff7	/* 1MB PIXIS area*/#define CONFIG_FSL_PIXIS	1	/* use common PIXIS code */#define PIXIS_BASE	0xf8100000	/* PIXIS registers */#define PIXIS_ID		0x0	/* Board ID at offset 0 */#define PIXIS_VER		0x1	/* Board version at offset 1 */#define PIXIS_PVER		0x2	/* PIXIS FPGA version at offset 2 */#define PIXIS_RST		0x4	/* PIXIS Reset Control register */#define PIXIS_AUX		0x6	/* PIXIS Auxiliary register; Scratch register */#define PIXIS_SPD		0x7	/* Register for SYSCLK speed */#define PIXIS_VCTL		0x10	/* VELA Control Register */#define PIXIS_VCFGEN0		0x12	/* VELA Config Enable 0 */#define PIXIS_VCFGEN1		0x13	/* VELA Config Enable 1 */#define PIXIS_VBOOT		0x16	/* VELA VBOOT Register */#define PIXIS_VSPEED0		0x17	/* VELA VSpeed 0 */#define PIXIS_VSPEED1		0x18	/* VELA VSpeed 1 */#define PIXIS_VCLKH		0x19	/* VELA VCLKH register */#define PIXIS_VCLKL		0x1A	/* VELA VCLKL register */#define CFG_PIXIS_VBOOT_MASK	0x40	/* Reset altbank mask*/#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) */#define CFG_MONITOR_BASE	TEXT_BASE	/* start of monitor */#define CONFIG_FLASH_CFI_DRIVER#define CFG_FLASH_CFI#define CFG_FLASH_EMPTY_INFO#if (CFG_MONITOR_BASE < CFG_FLASH_BASE)#define CFG_RAMBOOT#else#undef	CFG_RAMBOOT#endif#if defined(CFG_RAMBOOT)#undef CONFIG_SPD_EEPROM#define CFG_SDRAM_SIZE	256#endif#undef CONFIG_CLOCKS_IN_MHZ#define CONFIG_L1_INIT_RAM#define CFG_INIT_RAM_LOCK	1#ifndef CFG_INIT_RAM_LOCK#define CFG_INIT_RAM_ADDR	0x0fd00000	/* Initial RAM address */#else#define CFG_INIT_RAM_ADDR	0xf8400000	/* Initial RAM address */#endif#define CFG_INIT_RAM_END	0x4000		/* End of used area in RAM */#define CFG_GBL_DATA_SIZE	128		/* num bytes initial data */#define CFG_GBL_DATA_OFFSET	(CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)#define CFG_INIT_SP_OFFSET	CFG_GBL_DATA_OFFSET#define CFG_MONITOR_LEN		(256 * 1024)	/* Reserve 256 kB for Mon */#define CFG_MALLOC_LEN		(1024 * 1024)	 /* Reserved for malloc *//* Serial Port */#define CONFIG_CONS_INDEX     1#undef	CONFIG_SERIAL_SOFTWARE_FIFO#define CFG_NS16550#define CFG_NS16550_SERIAL#define CFG_NS16550_REG_SIZE	1#define CFG_NS16550_CLK		get_bus_freq(0)#define CFG_BAUDRATE_TABLE  \	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}#define CFG_NS16550_COM1	(CFG_CCSRBAR+0x4500)#define CFG_NS16550_COM2	(CFG_CCSRBAR+0x4600)/* Use the HUSH parser */#define CFG_HUSH_PARSER#ifdef	CFG_HUSH_PARSER#define CFG_PROMPT_HUSH_PS2 "> "#endif/* * Pass open firmware flat tree to kernel */#define CONFIG_OF_LIBFDT		1#define CONFIG_OF_BOARD_SETUP		1#define CONFIG_OF_STDOUT_VIA_ALIAS	1#define CFG_64BIT_VSPRINTF	1#define CFG_64BIT_STRTOUL	1/* * I2C */#define CONFIG_FSL_I2C		/* Use FSL common I2C driver */#define CONFIG_HARD_I2C		/* I2C with hardware support*/#undef	CONFIG_SOFT_I2C			/* I2C bit-banged */#define CFG_I2C_SPEED		400000	/* I2C speed and slave address */#define CFG_I2C_SLAVE		0x7F#define CFG_I2C_NOPROBES	{0x69}	/* Don't probe these addrs */#define CFG_I2C_OFFSET		0x3100/* * RapidIO MMU */#define CFG_RIO_MEM_BASE	0xc0000000	/* base address */#define CFG_RIO_MEM_PHYS	CFG_RIO_MEM_BASE#define CFG_RIO_MEM_SIZE	0x20000000	/* 128M *//* * General PCI * Addresses are mapped 1-1. */#define CFG_PCI1_MEM_BASE	0x80000000#define CFG_PCI1_MEM_PHYS	CFG_PCI1_MEM_BASE#define CFG_PCI1_MEM_SIZE	0x20000000	/* 512M */#define CFG_PCI1_IO_BASE	0x00000000#define CFG_PCI1_IO_PHYS	0xe2000000#define CFG_PCI1_IO_SIZE	0x00100000	/* 1M *//* PCI view of System Memory */#define CFG_PCI_MEMORY_BUS	0x00000000#define CFG_PCI_MEMORY_PHYS	0x00000000#define CFG_PCI_MEMORY_SIZE	0x80000000/* For RTL8139 */#define KSEG1ADDR(x)		({u32 _x=le32_to_cpu(*(u32 *)(x)); (&_x);})#define _IO_BASE		0x00000000#define CFG_PCI2_MEM_BASE	0xa0000000#define CFG_PCI2_MEM_PHYS	CFG_PCI2_MEM_BASE#define CFG_PCI2_MEM_SIZE	0x20000000	/* 512M */#define CFG_PCI2_IO_BASE	0x00000000#define CFG_PCI2_IO_PHYS	0xe3000000#define CFG_PCI2_IO_SIZE	0x00100000	/* 1M */#if defined(CONFIG_PCI)#define CONFIG_PCI_SCAN_SHOW		/* show pci devices on startup */#undef CFG_SCSI_SCAN_BUS_REVERSE#define CONFIG_NET_MULTI#define CONFIG_PCI_PNP			/* do pci plug-and-play */#define CONFIG_RTL8139#undef CONFIG_EEPRO100

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?