📄 mpc8313erdb.h
字号:
/* * Copyright (C) Freescale Semiconductor, Inc. 2006. * * 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 *//* * mpc8313epb board configuration file */#ifndef __CONFIG_H#define __CONFIG_H/* * High Level Configuration Options */#define CONFIG_E300 1#define CONFIG_MPC83XX 1#define CONFIG_MPC831X 1#define CONFIG_MPC8313 1#define CONFIG_MPC8313ERDB 1#define CONFIG_PCI#define CONFIG_83XX_GENERIC_PCI#ifdef CFG_66MHZ#define CONFIG_83XX_CLKIN 66666667 /* in Hz */#elif defined(CFG_33MHZ)#define CONFIG_83XX_CLKIN 33333333 /* in Hz */#else#error Unknown oscillator frequency.#endif#define CONFIG_SYS_CLK_FREQ CONFIG_83XX_CLKIN#define CONFIG_BOARD_EARLY_INIT_F /* call board_pre_init */#define CFG_IMMR 0xE0000000#define CFG_MEMTEST_START 0x00001000#define CFG_MEMTEST_END 0x07f00000/* Early revs of this board will lock up hard when attempting * to access the PMC registers, unless a JTAG debugger is * connected, or some resistor modifications are made. */#define CFG_8313ERDB_BROKEN_PMC 1#define CFG_ACR_PIPE_DEP 3 /* Arbiter pipeline depth (0-3) */#define CFG_ACR_RPTCNT 3 /* Arbiter repeat count (0-7) *//* * DDR Setup */#define CFG_DDR_BASE 0x00000000 /* DDR is system memory*/#define CFG_SDRAM_BASE CFG_DDR_BASE#define CFG_DDR_SDRAM_BASE CFG_DDR_BASE/* * Manually set up DDR parameters, as this board does not * seem to have the SPD connected to I2C. */#define CFG_DDR_SIZE 128 /* MB */#define CFG_DDR_CONFIG ( CSCONFIG_EN | CSCONFIG_AP \ | 0x00040000 /* TODO */ \ | CSCONFIG_ROW_BIT_13 | CSCONFIG_COL_BIT_10 ) /* 0x80840102 */#define CFG_DDR_TIMING_3 0x00000000#define CFG_DDR_TIMING_0 ( ( 0 << TIMING_CFG0_RWT_SHIFT ) \ | ( 0 << TIMING_CFG0_WRT_SHIFT ) \ | ( 0 << TIMING_CFG0_RRT_SHIFT ) \ | ( 0 << TIMING_CFG0_WWT_SHIFT ) \ | ( 2 << TIMING_CFG0_ACT_PD_EXIT_SHIFT ) \ | ( 2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT ) \ | ( 8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT ) \ | ( 2 << TIMING_CFG0_MRS_CYC_SHIFT ) ) /* 0x00220802 */#define CFG_DDR_TIMING_1 ( ( 3 << TIMING_CFG1_PRETOACT_SHIFT ) \ | ( 9 << TIMING_CFG1_ACTTOPRE_SHIFT ) \ | ( 3 << TIMING_CFG1_ACTTORW_SHIFT ) \ | ( 5 << TIMING_CFG1_CASLAT_SHIFT ) \ | (13 << TIMING_CFG1_REFREC_SHIFT ) \ | ( 3 << TIMING_CFG1_WRREC_SHIFT ) \ | ( 2 << TIMING_CFG1_ACTTOACT_SHIFT ) \ | ( 2 << TIMING_CFG1_WRTORD_SHIFT ) ) /* 0x3935d322 */#define CFG_DDR_TIMING_2 ( ( 0 << TIMING_CFG2_ADD_LAT_SHIFT ) \ | (31 << TIMING_CFG2_CPO_SHIFT ) \ | ( 2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT ) \ | ( 2 << TIMING_CFG2_RD_TO_PRE_SHIFT ) \ | ( 2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT ) \ | ( 3 << TIMING_CFG2_CKE_PLS_SHIFT ) \ | (10 << TIMING_CFG2_FOUR_ACT_SHIFT) ) /* 0x0f9048ca */ /* P9-45,may need tuning */#define CFG_DDR_INTERVAL ( ( 800 << SDRAM_INTERVAL_REFINT_SHIFT ) \ | ( 100 << SDRAM_INTERVAL_BSTOPRE_SHIFT ) ) /* 0x03200064 */#if defined(CONFIG_DDR_2T_TIMING)#define CFG_SDRAM_CFG ( SDRAM_CFG_SREN \ | SDRAM_CFG_SDRAM_TYPE_DDR2 \ | SDRAM_CFG_2T_EN \ | SDRAM_CFG_DBW_32 )#else#define CFG_SDRAM_CFG ( SDRAM_CFG_SREN \ | SDRAM_CFG_SDRAM_TYPE_DDR2 \ | SDRAM_CFG_32_BE ) /* 0x43080000 */#endif#define CFG_SDRAM_CFG2 0x00401000;/* set burst length to 8 for 32-bit data path */#define CFG_DDR_MODE ( ( 0x4440 << SDRAM_MODE_ESD_SHIFT ) \ | ( 0x0232 << SDRAM_MODE_SD_SHIFT ) ) /* 0x44400232 */#define CFG_DDR_MODE_2 0x8000C000;#define CFG_DDR_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05 /*0x02000000*/#define CFG_DDRCDR_VALUE ( DDRCDR_EN \ | DDRCDR_PZ_NOMZ \ | DDRCDR_NZ_NOMZ \ | DDRCDR_M_ODR )/* * FLASH on the Local Bus */#define CFG_FLASH_CFI /* use the Common Flash Interface */#define CFG_FLASH_CFI_DRIVER /* use the CFI driver */#define CFG_FLASH_BASE 0xFE000000 /* start of FLASH */#define CFG_FLASH_SIZE 8 /* flash size in MB */#define CFG_FLASH_EMPTY_INFO /* display empty sectors */#define CFG_FLASH_USE_BUFFER_WRITE /* buffer up multiple bytes */#define CFG_BR0_PRELIM (CFG_FLASH_BASE | /* flash Base address */ \ (2 << BR_PS_SHIFT) | /* 16 bit port size */ \ BR_V) /* valid */#define CFG_OR0_PRELIM ( 0xFF000000 /* 16 MByte */ \ | OR_GPCM_XACS \ | OR_GPCM_SCY_9 \ | OR_GPCM_EHTR \ | OR_GPCM_EAD ) /* 0xFF006FF7 TODO SLOW 16 MB flash size */#define CFG_LBLAWBAR0_PRELIM CFG_FLASH_BASE /* window base at flash base */#define CFG_LBLAWAR0_PRELIM 0x80000017 /* 16 MB window size */#define CFG_MAX_FLASH_BANKS 1 /* number of banks */#define CFG_MAX_FLASH_SECT 135 /* sectors per device */#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 */#if (CFG_MONITOR_BASE < CFG_FLASH_BASE)#define CFG_RAMBOOT#endif#define CFG_INIT_RAM_LOCK 1#define CFG_INIT_RAM_ADDR 0xFD000000 /* Initial RAM address */#define CFG_INIT_RAM_END 0x1000 /* End of used area in RAM*/#define CFG_GBL_DATA_SIZE 0x100 /* 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 (512 * 1024) /* Reserved for malloc *//* * Local Bus LCRR and LBCR regs */#define CFG_LCRR LCRR_EADC_1 | LCRR_CLKDIV_2 /* 0x00010002 */#define CFG_LBC_LBCR ( 0x00040000 /* TODO */ \ | (0xFF << LBCR_BMT_SHIFT) \ | 0xF ) /* 0x0004ff0f */#define CFG_LBC_MRTPR 0x20000000 /*TODO */ /* LB refresh timer prescal, 266MHz/32 *//* drivers/nand/nand.c */#define CFG_NAND_BASE 0xE2800000 /* 0xF0000000 */#define CFG_MAX_NAND_DEVICE 1#define NAND_MAX_CHIPS 1#define CONFIG_MTD_NAND_VERIFY_WRITE#define CFG_BR1_PRELIM ( CFG_NAND_BASE \ | (2<<BR_DECC_SHIFT) /* Use HW ECC */ \ | BR_PS_8 /* Port Size = 8 bit */ \ | BR_MS_FCM /* MSEL = FCM */ \ | BR_V ) /* valid */#define CFG_OR1_PRELIM ( 0xFFFF8000 /* length 32K */ \ | OR_FCM_CSCT \ | OR_FCM_CST \ | OR_FCM_CHT \ | OR_FCM_SCY_1 \ | OR_FCM_TRLX \ | OR_FCM_EHTR ) /* 0xFFFF8396 */#define CFG_LBLAWBAR1_PRELIM CFG_NAND_BASE#define CFG_LBLAWAR1_PRELIM 0x8000000E /* 32KB */#define CFG_VSC7385_BASE 0xF0000000#define CONFIG_VSC7385_ENET /* VSC7385 ethernet support */#define CFG_BR2_PRELIM 0xf0000801 /* VSC7385 Base address */#define CFG_OR2_PRELIM 0xfffe09ff /* VSC7385, 128K bytes*/#define CFG_LBLAWBAR2_PRELIM CFG_VSC7385_BASE/* Access window base at VSC7385 base */#define CFG_LBLAWAR2_PRELIM 0x80000010 /* Access window size 128K *//* local bus read write buffer mapping */#define CFG_BR3_PRELIM 0xFA000801 /* map at 0xFA000000 */#define CFG_OR3_PRELIM 0xFFFF8FF7 /* 32kB */#define CFG_LBLAWBAR3_PRELIM 0xFA000000#define CFG_LBLAWAR3_PRELIM 0x8000000E /* 32KB *//* pass open firmware flat tree */#define CONFIG_OF_LIBFDT 1#define CONFIG_OF_BOARD_SETUP 1#define OF_CPU "PowerPC,8313@0"#define OF_SOC "soc8313@e0000000"#define OF_TBCLK (bd->bi_busfreq / 4)#define OF_STDOUT_PATH "/soc8313@e0000000/serial@4500"/* * Serial Port */#define CONFIG_CONS_INDEX 1#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_IMMR+0x4500)#define CFG_NS16550_COM2 (CFG_IMMR+0x4600)/* Use the HUSH parser */#define CFG_HUSH_PARSER#define CFG_PROMPT_HUSH_PS2 "> "/* I2C */#define CONFIG_HARD_I2C /* I2C with hardware support*/#define CONFIG_FSL_I2C#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,0x69}} /* Don't probe these addrs */#define CFG_I2C_OFFSET 0x3000#define CFG_I2C2_OFFSET 0x3100/* TSEC */#define CFG_TSEC1_OFFSET 0x24000#define CFG_TSEC1 (CFG_IMMR+CFG_TSEC1_OFFSET)#define CFG_TSEC2_OFFSET 0x25000#define CFG_TSEC2 (CFG_IMMR+CFG_TSEC2_OFFSET)#define CONFIG_NET_MULTI/* * 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 0x10000000 /* 256M */#define CFG_PCI1_MMIO_BASE 0x90000000#define CFG_PCI1_MMIO_PHYS CFG_PCI1_MMIO_BASE#define CFG_PCI1_MMIO_SIZE 0x10000000 /* 256M */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -