mpc8536ds.h

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

H
594
字号
/* * Copyright 2008 Freescale Semiconductor, Inc. * * 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 *//* * mpc8536ds board configuration file * */#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_MPC8536		1#define CONFIG_MPC8536DS	1#define CONFIG_PCI		1	/* Enable PCI/PCIE */#define CONFIG_PCI1		1	/* Enable PCI controller 1 */#define CONFIG_PCIE1		1	/* PCIE controler 1 (slot 1) */#define CONFIG_PCIE2		1	/* PCIE controler 2 (slot 2) */#define CONFIG_PCIE3		1	/* PCIE controler 3 (ULI bridge) */#define CONFIG_FSL_PCI_INIT	1	/* Use common FSL init code */#define CONFIG_FSL_PCIE_RESET	1	/* need PCIe reset errata */#define CONFIG_FSL_LAW		1	/* Use common FSL init code */#define CONFIG_TSEC_ENET		/* tsec ethernet support */#define CONFIG_ENV_OVERWRITE/* * 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_board_sys_clk(unsigned long dummy);extern unsigned long get_board_ddr_clk(unsigned long dummy);#endif#define CONFIG_SYS_CLK_FREQ	get_board_sys_clk(0) /* sysclk for MPC85xx */#define CONFIG_DDR_CLK_FREQ	get_board_ddr_clk(0)#define CONFIG_ICS307_REFCLK_HZ	33333000  /* ICS307 clock chip ref freq */#define CONFIG_GET_CLK_FROM_ICS307	  /* decode sysclk and ddrclk freq					     from ICS307 instead of switches *//* * These can be toggled for performance analysis, otherwise use default. */#define CONFIG_L2_CACHE			/* toggle L2 cache */#define CONFIG_BTB			/* toggle branch predition */#define CONFIG_ADDR_STREAMING		/* toggle addr streaming */#define CONFIG_ENABLE_36BIT_PHYS	1#define CFG_MEMTEST_START	0x00000000	/* memtest works on */#define CFG_MEMTEST_END		0x7fffffff#define CONFIG_PANIC_HANG	/* do not reset board on panic *//* * 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		0xffe00000	/* relocated CCSRBAR */#define CFG_CCSRBAR_PHYS	CFG_CCSRBAR	/* physical addr of CCSRBAR */#define CFG_IMMR		CFG_CCSRBAR	/* PQII uses CFG_IMMR */#define CFG_PCI1_ADDR		(CFG_CCSRBAR+0x8000)#define CFG_PCIE1_ADDR		(CFG_CCSRBAR+0xa000)#define CFG_PCIE2_ADDR		(CFG_CCSRBAR+0x9000)#define CFG_PCIE3_ADDR		(CFG_CCSRBAR+0xb000)/* 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#undef CONFIG_DDR_DLL#undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER	/* DDR controller or DMA? */#define CONFIG_MEM_INIT_VALUE	0xDeadBeef#define CFG_DDR_SDRAM_BASE	0x00000000#define CFG_SDRAM_BASE		CFG_DDR_SDRAM_BASE#define CONFIG_NUM_DDR_CONTROLLERS	1#define CONFIG_DIMM_SLOTS_PER_CTLR	1#define CONFIG_CHIP_SELECTS_PER_CTRL	2/* I2C addresses of SPD EEPROMs */#define SPD_EEPROM_ADDRESS	0x51	/* CTLR 0 DIMM 0 */#define CFG_SPD_BUS_NUM		1/* These are used when DDR doesn't use SPD. */#define CFG_SDRAM_SIZE		256		/* DDR is 256MB */#define CFG_DDR_CS0_BNDS	0x0000001F#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	0x3935d322#define CFG_DDR_TIMING_2	0x14904cc8#define CFG_DDR_MODE_1		0x00480432#define CFG_DDR_MODE_2		0x00000000#define CFG_DDR_INTERVAL	0x06180100#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		0xC3008000	/* Type = DDR2 */#define CFG_DDR_CONTROL2	0x04400010#define CFG_DDR_ERR_INT_EN	0x0000000d#define CFG_DDR_ERR_DIS		0x00000000#define CFG_DDR_SBE		0x00010000/* 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 *//* Make sure required options are set */#ifndef CONFIG_SPD_EEPROM#error ("CONFIG_SPD_EEPROM is required")#endif#undef CONFIG_CLOCKS_IN_MHZ/* * Memory map -- xxx -this is wrong, needs updating * * 0x0000_0000	0x7fff_ffff	DDR			2G Cacheable * 0x8000_0000	0xbfff_ffff	PCI Express Mem		1G non-cacheable * 0xc000_0000	0xdfff_ffff	PCI			512M non-cacheable * 0xe100_0000	0xe3ff_ffff	PCI IO range		4M non-cacheable * * Localbus cacheable (TBD) * 0xXXXX_XXXX	0xXXXX_XXXX	SRAM			YZ M Cacheable * * Localbus non-cacheable * 0xe000_0000	0xe80f_ffff	Promjet/free		128M non-cacheable * 0xe800_0000	0xefff_ffff	FLASH			128M non-cacheable * 0xffdf_0000	0xffdf_7fff	PIXIS			32K non-cacheable TLB0 * 0xffd0_0000	0xffd0_3fff	L1 for stack		16K Cacheable TLB0 * 0xffe0_0000	0xffef_ffff	CCSR			1M non-cacheable *//* * Local Bus Definitions */#define CFG_FLASH_BASE		0xe0000000	/* start of FLASH 128M */#define CFG_BR0_PRELIM		0xe8001001#define CFG_OR0_PRELIM		0xf8000ff7#define CFG_BR1_PRELIM		0xe0001001#define CFG_OR1_PRELIM		0xf8000ff7#define CFG_FLASH_BANKS_LIST	{CFG_FLASH_BASE + 0x8000000, CFG_FLASH_BASE}#define CFG_FLASH_QUIET_TEST#define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */#define CFG_MAX_FLASH_BANKS	2		/* number of banks */#define CFG_MAX_FLASH_SECT	1024		/* 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#define CFG_FLASH_AMD_CHECK_DQ7#define CONFIG_BOARD_EARLY_INIT_R	/* call board_early_init_r function */#define CONFIG_FSL_PIXIS	1	/* use common PIXIS code */#define PIXIS_BASE	0xffdf0000	/* PIXIS registers */#define CFG_BR3_PRELIM	(PIXIS_BASE | 0x0801)	/* port size 8bit */#define CFG_OR3_PRELIM		0xffffeff7	/* 32KB but only 4k mapped */#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_CSR   		0x3	/* PIXIS General control/status register */#define PIXIS_RST		0x4	/* PIXIS Reset Control register */#define PIXIS_PWR		0x5	/* PIXIS Power status register */#define PIXIS_AUX		0x6	/* Auxiliary 1 register */#define PIXIS_SPD		0x7	/* Register for SYSCLK speed */#define PIXIS_AUX2		0x8	/* Auxiliary 2 register */#define PIXIS_VCTL		0x10	/* VELA Control Register */#define PIXIS_VSTAT		0x11	/* VELA Status Register */#define PIXIS_VCFGEN0		0x12	/* VELA Config Enable 0 */#define PIXIS_VCFGEN1		0x13	/* VELA Config Enable 1 */#define PIXIS_VCORE0	 	0x14	/* VELA VCORE0 Register */#define PIXIS_VBOOT		0x16	/* VELA VBOOT Register */#define PIXIS_VSPEED0		0x17	/* VELA VSpeed 0 */#define PIXIS_VSPEED1		0x18	/* VELA VSpeed 1 */#define PIXIS_VSPEED2		0x19	/* VELA VSpeed 2 */#define PIXIS_VSYSCLK0		0x1A	/* VELA SYSCLK0 Register */#define PIXIS_VSYSCLK1		0x1B	/* VELA SYSCLK1 Register */#define PIXIS_VSYSCLK2		0x1C	/* VELA SYSCLK2 Register */#define PIXIS_VDDRCLK0		0x1D	/* VELA DDRCLK0 Register */#define PIXIS_VDDRCLK1		0x1E	/* VELA DDRCLK1 Register */#define PIXIS_VDDRCLK2		0x1F	/* VELA DDRCLK2 Register */#define PIXIS_VWATCH		0x24    /* Watchdog Register */#define PIXIS_LED		0x25    /* LED Register *//* old pixis referenced names */#define PIXIS_VCLKH		0x19	/* VELA VCLKH register */#define PIXIS_VCLKL		0x1A	/* VELA VCLKL register */#define CFG_PIXIS_VBOOT_MASK	0xc0/* define to use L1 as initial stack */#define CONFIG_L1_INIT_RAM#define CFG_INIT_RAM_LOCK	1#define CFG_INIT_RAM_ADDR	0xffd00000	/* Initial L1 address */#define CFG_INIT_RAM_END	0x00004000	/* 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 - controlled on board with jumper J8 * open - index 2 * shorted - index 1 */#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 */#define CONFIG_OF_LIBFDT		1#define CONFIG_OF_BOARD_SETUP		1#define CONFIG_OF_STDOUT_VIA_ALIAS	1#define CFG_64BIT_STRTOUL		1#define CFG_64BIT_VSPRINTF		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 CONFIG_I2C_MULTI_BUS#define CONFIG_I2C_CMD_TREE#define CFG_I2C_SPEED		400000	/* I2C speed and slave address */#define CFG_I2C_SLAVE		0x7F#define CFG_I2C_NOPROBES	{{0, 0x29}}	/* Don't probe these addrs */

⌨️ 快捷键说明

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