119580e66SDave Liu /* 219580e66SDave Liu * Copyright (C) 2007 Freescale Semiconductor, Inc. 319580e66SDave Liu * Dave Liu <daveliu@freescale.com> 419580e66SDave Liu * 519580e66SDave Liu * This program is free software; you can redistribute it and/or 619580e66SDave Liu * modify it under the terms of the GNU General Public License as 719580e66SDave Liu * published by the Free Software Foundation; either version 2 of 819580e66SDave Liu * the License, or (at your option) any later version. 919580e66SDave Liu * 1019580e66SDave Liu * This program is distributed in the hope that it will be useful, 1119580e66SDave Liu * but WITHOUT ANY WARRANTY; without even the implied warranty of 1219580e66SDave Liu * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1319580e66SDave Liu * GNU General Public License for more details. 1419580e66SDave Liu * 1519580e66SDave Liu * You should have received a copy of the GNU General Public License 1619580e66SDave Liu * along with this program; if not, write to the Free Software 1719580e66SDave Liu * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 1819580e66SDave Liu * MA 02111-1307 USA 1919580e66SDave Liu */ 2019580e66SDave Liu 2119580e66SDave Liu #ifndef __CONFIG_H 2219580e66SDave Liu #define __CONFIG_H 2319580e66SDave Liu 2419580e66SDave Liu #undef DEBUG 2519580e66SDave Liu 2619580e66SDave Liu /* 2719580e66SDave Liu * High Level Configuration Options 2819580e66SDave Liu */ 2919580e66SDave Liu #define CONFIG_E300 1 /* E300 family */ 3019580e66SDave Liu #define CONFIG_MPC83XX 1 /* MPC83XX family */ 3119580e66SDave Liu #define CONFIG_MPC837X 1 /* MPC837X CPU specific */ 3219580e66SDave Liu #define CONFIG_MPC837XEMDS 1 /* MPC837XEMDS board specific */ 3319580e66SDave Liu 3419580e66SDave Liu /* 3519580e66SDave Liu * System Clock Setup 3619580e66SDave Liu */ 3719580e66SDave Liu #ifdef CONFIG_PCISLAVE 3819580e66SDave Liu #define CONFIG_83XX_PCICLK 66000000 /* in HZ */ 3919580e66SDave Liu #else 4019580e66SDave Liu #define CONFIG_83XX_CLKIN 66000000 /* in Hz */ 4119580e66SDave Liu #endif 4219580e66SDave Liu 4319580e66SDave Liu #ifndef CONFIG_SYS_CLK_FREQ 4419580e66SDave Liu #define CONFIG_SYS_CLK_FREQ 66000000 4519580e66SDave Liu #endif 4619580e66SDave Liu 4719580e66SDave Liu /* 4819580e66SDave Liu * Hardware Reset Configuration Word 4919580e66SDave Liu * if CLKIN is 66MHz, then 5019580e66SDave Liu * CSB = 396MHz, CORE = 594MHz, DDRC = 396MHz, LBC = 396MHz 5119580e66SDave Liu */ 5219580e66SDave Liu #define CFG_HRCW_LOW (\ 5319580e66SDave Liu HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 5419580e66SDave Liu HRCWL_DDR_TO_SCB_CLK_1X1 |\ 5519580e66SDave Liu HRCWL_SVCOD_DIV_2 |\ 5619580e66SDave Liu HRCWL_CSB_TO_CLKIN_6X1 |\ 5719580e66SDave Liu HRCWL_CORE_TO_CSB_1_5X1) 5819580e66SDave Liu 5919580e66SDave Liu #ifdef CONFIG_PCISLAVE 6019580e66SDave Liu #define CFG_HRCW_HIGH (\ 6119580e66SDave Liu HRCWH_PCI_AGENT |\ 6219580e66SDave Liu HRCWH_PCI1_ARBITER_DISABLE |\ 6319580e66SDave Liu HRCWH_CORE_ENABLE |\ 6419580e66SDave Liu HRCWH_FROM_0XFFF00100 |\ 6519580e66SDave Liu HRCWH_BOOTSEQ_DISABLE |\ 6619580e66SDave Liu HRCWH_SW_WATCHDOG_DISABLE |\ 6719580e66SDave Liu HRCWH_ROM_LOC_LOCAL_16BIT |\ 6819580e66SDave Liu HRCWH_RL_EXT_LEGACY |\ 6919580e66SDave Liu HRCWH_TSEC1M_IN_RGMII |\ 7019580e66SDave Liu HRCWH_TSEC2M_IN_RGMII |\ 7119580e66SDave Liu HRCWH_BIG_ENDIAN |\ 7219580e66SDave Liu HRCWH_LDP_CLEAR) 7319580e66SDave Liu #else 7419580e66SDave Liu #define CFG_HRCW_HIGH (\ 7519580e66SDave Liu HRCWH_PCI_HOST |\ 7619580e66SDave Liu HRCWH_PCI1_ARBITER_ENABLE |\ 7719580e66SDave Liu HRCWH_CORE_ENABLE |\ 7819580e66SDave Liu HRCWH_FROM_0X00000100 |\ 7919580e66SDave Liu HRCWH_BOOTSEQ_DISABLE |\ 8019580e66SDave Liu HRCWH_SW_WATCHDOG_DISABLE |\ 8119580e66SDave Liu HRCWH_ROM_LOC_LOCAL_16BIT |\ 8219580e66SDave Liu HRCWH_RL_EXT_LEGACY |\ 8319580e66SDave Liu HRCWH_TSEC1M_IN_RGMII |\ 8419580e66SDave Liu HRCWH_TSEC2M_IN_RGMII |\ 8519580e66SDave Liu HRCWH_BIG_ENDIAN |\ 8619580e66SDave Liu HRCWH_LDP_CLEAR) 8719580e66SDave Liu #endif 8819580e66SDave Liu 8919580e66SDave Liu /* 9019580e66SDave Liu * eTSEC Clock Config 9119580e66SDave Liu */ 9219580e66SDave Liu #define CFG_SCCR_TSEC1CM 1 /* CSB:eTSEC1 = 1:1 */ 9319580e66SDave Liu #define CFG_SCCR_TSEC2CM 1 /* CSB:eTSEC2 = 1:1 */ 9419580e66SDave Liu 9519580e66SDave Liu /* 9619580e66SDave Liu * System IO Config 9719580e66SDave Liu */ 9819580e66SDave Liu #define CFG_SICRH 0x00000000 9919580e66SDave Liu #define CFG_SICRL 0x00000000 10019580e66SDave Liu 10119580e66SDave Liu /* 10219580e66SDave Liu * Output Buffer Impedance 10319580e66SDave Liu */ 10419580e66SDave Liu #define CFG_OBIR 0x31100000 10519580e66SDave Liu 10619580e66SDave Liu #define CONFIG_BOARD_EARLY_INIT_F /* call board_pre_init */ 10719580e66SDave Liu #define CONFIG_BOARD_EARLY_INIT_R 10819580e66SDave Liu 10919580e66SDave Liu /* 11019580e66SDave Liu * IMMR new address 11119580e66SDave Liu */ 11219580e66SDave Liu #define CFG_IMMR 0xE0000000 11319580e66SDave Liu 11419580e66SDave Liu /* 11519580e66SDave Liu * DDR Setup 11619580e66SDave Liu */ 11719580e66SDave Liu #define CFG_DDR_BASE 0x00000000 /* DDR is system memory */ 11819580e66SDave Liu #define CFG_SDRAM_BASE CFG_DDR_BASE 11919580e66SDave Liu #define CFG_DDR_SDRAM_BASE CFG_DDR_BASE 12019580e66SDave Liu #define CFG_DDR_SDRAM_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05 12119580e66SDave Liu #define CFG_83XX_DDR_USES_CS0 12219580e66SDave Liu #define CFG_DDRCDR_VALUE 0x80080001 /* ODT 150ohm on SoC */ 12319580e66SDave Liu 12419580e66SDave Liu #undef CONFIG_DDR_ECC /* support DDR ECC function */ 12519580e66SDave Liu #undef CONFIG_DDR_ECC_CMD /* Use DDR ECC user commands */ 12619580e66SDave Liu 12719580e66SDave Liu #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */ 12819580e66SDave Liu #define CONFIG_NEVER_ASSERT_ODT_TO_CPU /* Never assert ODT to internal IOs */ 12919580e66SDave Liu 13019580e66SDave Liu #if defined(CONFIG_SPD_EEPROM) 13119580e66SDave Liu #define SPD_EEPROM_ADDRESS 0x51 /* I2C address of DDR SODIMM SPD */ 13219580e66SDave Liu #else 13319580e66SDave Liu /* 13419580e66SDave Liu * Manually set up DDR parameters 1357e74d63dSDave Liu * WHITE ELECTRONIC DESIGNS - W3HG64M72EEU403PD4 SO-DIMM 13619580e66SDave Liu * consist of nine chips from SAMSUNG K4T51083QE-ZC(L)D5 13719580e66SDave Liu */ 13819580e66SDave Liu #define CFG_DDR_SIZE 512 /* MB */ 13919580e66SDave Liu #define CFG_DDR_CS0_BNDS 0x0000001f 14019580e66SDave Liu #define CFG_DDR_CS0_CONFIG ( CSCONFIG_EN \ 14119580e66SDave Liu | 0x00010000 /* ODT_WR to CSn */ \ 14219580e66SDave Liu | CSCONFIG_ROW_BIT_14 | CSCONFIG_COL_BIT_10 ) 14319580e66SDave Liu /* 0x80010202 */ 14419580e66SDave Liu #define CFG_DDR_TIMING_3 0x00000000 14519580e66SDave Liu #define CFG_DDR_TIMING_0 ( ( 0 << TIMING_CFG0_RWT_SHIFT ) \ 14619580e66SDave Liu | ( 0 << TIMING_CFG0_WRT_SHIFT ) \ 14719580e66SDave Liu | ( 0 << TIMING_CFG0_RRT_SHIFT ) \ 14819580e66SDave Liu | ( 0 << TIMING_CFG0_WWT_SHIFT ) \ 14919580e66SDave Liu | ( 6 << TIMING_CFG0_ACT_PD_EXIT_SHIFT ) \ 15019580e66SDave Liu | ( 2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT ) \ 15119580e66SDave Liu | ( 8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT ) \ 15219580e66SDave Liu | ( 2 << TIMING_CFG0_MRS_CYC_SHIFT ) ) 15319580e66SDave Liu /* 0x00620802 */ 15419580e66SDave Liu #define CFG_DDR_TIMING_1 ( ( 3 << TIMING_CFG1_PRETOACT_SHIFT ) \ 15519580e66SDave Liu | ( 9 << TIMING_CFG1_ACTTOPRE_SHIFT ) \ 15619580e66SDave Liu | ( 3 << TIMING_CFG1_ACTTORW_SHIFT ) \ 15719580e66SDave Liu | ( 5 << TIMING_CFG1_CASLAT_SHIFT ) \ 15819580e66SDave Liu | (13 << TIMING_CFG1_REFREC_SHIFT ) \ 15919580e66SDave Liu | ( 3 << TIMING_CFG1_WRREC_SHIFT ) \ 16019580e66SDave Liu | ( 2 << TIMING_CFG1_ACTTOACT_SHIFT ) \ 16119580e66SDave Liu | ( 2 << TIMING_CFG1_WRTORD_SHIFT ) ) 16219580e66SDave Liu /* 0x3935d322 */ 1637e74d63dSDave Liu #define CFG_DDR_TIMING_2 ( ( 1 << TIMING_CFG2_ADD_LAT_SHIFT ) \ 16419580e66SDave Liu | ( 6 << TIMING_CFG2_CPO_SHIFT ) \ 16519580e66SDave Liu | ( 2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT ) \ 16619580e66SDave Liu | ( 4 << TIMING_CFG2_RD_TO_PRE_SHIFT ) \ 16719580e66SDave Liu | ( 2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT ) \ 16819580e66SDave Liu | ( 3 << TIMING_CFG2_CKE_PLS_SHIFT ) \ 16919580e66SDave Liu | ( 8 << TIMING_CFG2_FOUR_ACT_SHIFT) ) 1707e74d63dSDave Liu /* 0x131088c8 */ 17119580e66SDave Liu #define CFG_DDR_INTERVAL ( ( 0x03E0 << SDRAM_INTERVAL_REFINT_SHIFT ) \ 17219580e66SDave Liu | ( 0x0100 << SDRAM_INTERVAL_BSTOPRE_SHIFT ) ) 17319580e66SDave Liu /* 0x03E00100 */ 17419580e66SDave Liu #define CFG_DDR_SDRAM_CFG 0x43000000 17519580e66SDave Liu #define CFG_DDR_SDRAM_CFG2 0x00001000 /* 1 posted refresh */ 1767e74d63dSDave Liu #define CFG_DDR_MODE ( ( 0x0448 << SDRAM_MODE_ESD_SHIFT ) \ 17719580e66SDave Liu | ( 0x1432 << SDRAM_MODE_SD_SHIFT ) ) 1787e74d63dSDave Liu /* ODT 150ohm CL=3, AL=1 on SDRAM */ 17919580e66SDave Liu #define CFG_DDR_MODE2 0x00000000 18019580e66SDave Liu #endif 18119580e66SDave Liu 18219580e66SDave Liu /* 18319580e66SDave Liu * Memory test 18419580e66SDave Liu */ 18519580e66SDave Liu #undef CFG_DRAM_TEST /* memory test, takes time */ 18619580e66SDave Liu #define CFG_MEMTEST_START 0x00040000 /* memtest region */ 18719580e66SDave Liu #define CFG_MEMTEST_END 0x00140000 18819580e66SDave Liu 18919580e66SDave Liu /* 19019580e66SDave Liu * The reserved memory 19119580e66SDave Liu */ 19219580e66SDave Liu #define CFG_MONITOR_BASE TEXT_BASE /* start of monitor */ 19319580e66SDave Liu 19419580e66SDave Liu #if (CFG_MONITOR_BASE < CFG_FLASH_BASE) 19519580e66SDave Liu #define CFG_RAMBOOT 19619580e66SDave Liu #else 19719580e66SDave Liu #undef CFG_RAMBOOT 19819580e66SDave Liu #endif 19919580e66SDave Liu 200921d4b19SKim Phillips /* CFG_MONITOR_LEN must be a multiple of CFG_ENV_SECT_SIZE */ 20119580e66SDave Liu #define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */ 20219580e66SDave Liu #define CFG_MALLOC_LEN (512 * 1024) /* Reserved for malloc */ 20319580e66SDave Liu 20419580e66SDave Liu /* 20519580e66SDave Liu * Initial RAM Base Address Setup 20619580e66SDave Liu */ 20719580e66SDave Liu #define CFG_INIT_RAM_LOCK 1 20819580e66SDave Liu #define CFG_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */ 20919580e66SDave Liu #define CFG_INIT_RAM_END 0x1000 /* End of used area in RAM */ 21019580e66SDave Liu #define CFG_GBL_DATA_SIZE 0x100 /* num bytes initial data */ 21119580e66SDave Liu #define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) 21219580e66SDave Liu 21319580e66SDave Liu /* 21419580e66SDave Liu * Local Bus Configuration & Clock Setup 21519580e66SDave Liu */ 21619580e66SDave Liu #define CFG_LCRR (LCRR_DBYP | LCRR_CLKDIV_8) 21719580e66SDave Liu #define CFG_LBC_LBCR 0x00000000 21819580e66SDave Liu 21919580e66SDave Liu /* 22019580e66SDave Liu * FLASH on the Local Bus 22119580e66SDave Liu */ 22219580e66SDave Liu #define CFG_FLASH_CFI /* use the Common Flash Interface */ 22319580e66SDave Liu #define CFG_FLASH_CFI_DRIVER /* use the CFI driver */ 22419580e66SDave Liu #define CFG_FLASH_BASE 0xFE000000 /* FLASH base address */ 22519580e66SDave Liu #define CFG_FLASH_SIZE 32 /* max FLASH size is 32M */ 22619580e66SDave Liu 22719580e66SDave Liu #define CFG_LBLAWBAR0_PRELIM CFG_FLASH_BASE /* Window base at flash base */ 22819580e66SDave Liu #define CFG_LBLAWAR0_PRELIM 0x80000018 /* 32MB window size */ 22919580e66SDave Liu 230*ded08317SDave Liu #define CFG_BR0_PRELIM ( CFG_FLASH_BASE /* Flash Base address */ \ 231*ded08317SDave Liu | (2 << BR_PS_SHIFT) /* 16 bit port size */ \ 232*ded08317SDave Liu | BR_V ) /* valid */ 233*ded08317SDave Liu #define CFG_OR0_PRELIM ( (~(CFG_FLASH_SIZE - 1) << 20) \ 234*ded08317SDave Liu | OR_UPM_XAM \ 235*ded08317SDave Liu | OR_GPCM_CSNT \ 236*ded08317SDave Liu | OR_GPCM_ACS_0b11 \ 237*ded08317SDave Liu | OR_GPCM_XACS \ 238*ded08317SDave Liu | OR_GPCM_SCY_15 \ 239*ded08317SDave Liu | OR_GPCM_TRLX \ 240*ded08317SDave Liu | OR_GPCM_EHTR \ 241*ded08317SDave Liu | OR_GPCM_EAD ) 242*ded08317SDave Liu /* 0xFE000FF7 */ 24319580e66SDave Liu 24419580e66SDave Liu #define CFG_MAX_FLASH_BANKS 1 /* number of banks */ 24519580e66SDave Liu #define CFG_MAX_FLASH_SECT 256 /* max sectors per device */ 24619580e66SDave Liu 24719580e66SDave Liu #undef CFG_FLASH_CHECKSUM 24819580e66SDave Liu #define CFG_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 24919580e66SDave Liu #define CFG_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 25019580e66SDave Liu 25119580e66SDave Liu /* 25219580e66SDave Liu * BCSR on the Local Bus 25319580e66SDave Liu */ 25419580e66SDave Liu #define CFG_BCSR 0xF8000000 25519580e66SDave Liu #define CFG_LBLAWBAR1_PRELIM CFG_BCSR /* Access window base at BCSR base */ 25619580e66SDave Liu #define CFG_LBLAWAR1_PRELIM 0x8000000E /* Access window size 32K */ 25719580e66SDave Liu 25819580e66SDave Liu #define CFG_BR1_PRELIM (CFG_BCSR | 0x00000801) /* Port size=8bit, MSEL=GPCM */ 25919580e66SDave Liu #define CFG_OR1_PRELIM 0xFFFFE9f7 /* length 32K */ 26019580e66SDave Liu 26119580e66SDave Liu /* 26219580e66SDave Liu * NAND Flash on the Local Bus 26319580e66SDave Liu */ 26419580e66SDave Liu #define CFG_NAND_BASE 0xE0600000 /* 0xE0600000 */ 26519580e66SDave Liu #define CFG_BR3_PRELIM ( CFG_NAND_BASE \ 26619580e66SDave Liu | (2<<BR_DECC_SHIFT) /* Use HW ECC */ \ 26719580e66SDave Liu | BR_PS_8 /* Port Size = 8 bit */ \ 26819580e66SDave Liu | BR_MS_FCM /* MSEL = FCM */ \ 26919580e66SDave Liu | BR_V ) /* valid */ 27019580e66SDave Liu #define CFG_OR3_PRELIM ( 0xFFFF8000 /* length 32K */ \ 27119580e66SDave Liu | OR_FCM_CSCT \ 27219580e66SDave Liu | OR_FCM_CST \ 27319580e66SDave Liu | OR_FCM_CHT \ 27419580e66SDave Liu | OR_FCM_SCY_1 \ 27519580e66SDave Liu | OR_FCM_TRLX \ 27619580e66SDave Liu | OR_FCM_EHTR ) 27719580e66SDave Liu /* 0xFFFF8396 */ 27819580e66SDave Liu 27919580e66SDave Liu #define CFG_LBLAWBAR3_PRELIM CFG_NAND_BASE 28019580e66SDave Liu #define CFG_LBLAWAR3_PRELIM 0x8000000E /* 32KB */ 28119580e66SDave Liu 28219580e66SDave Liu /* 28319580e66SDave Liu * Serial Port 28419580e66SDave Liu */ 28519580e66SDave Liu #define CONFIG_CONS_INDEX 1 28619580e66SDave Liu #undef CONFIG_SERIAL_SOFTWARE_FIFO 28719580e66SDave Liu #define CFG_NS16550 28819580e66SDave Liu #define CFG_NS16550_SERIAL 28919580e66SDave Liu #define CFG_NS16550_REG_SIZE 1 29019580e66SDave Liu #define CFG_NS16550_CLK get_bus_freq(0) 29119580e66SDave Liu 29219580e66SDave Liu #define CFG_BAUDRATE_TABLE \ 29319580e66SDave Liu {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200} 29419580e66SDave Liu 29519580e66SDave Liu #define CFG_NS16550_COM1 (CFG_IMMR+0x4500) 29619580e66SDave Liu #define CFG_NS16550_COM2 (CFG_IMMR+0x4600) 29719580e66SDave Liu 29819580e66SDave Liu /* Use the HUSH parser */ 29919580e66SDave Liu #define CFG_HUSH_PARSER 30019580e66SDave Liu #ifdef CFG_HUSH_PARSER 30119580e66SDave Liu #define CFG_PROMPT_HUSH_PS2 "> " 30219580e66SDave Liu #endif 30319580e66SDave Liu 30419580e66SDave Liu /* Pass open firmware flat tree */ 30519580e66SDave Liu #define CONFIG_OF_LIBFDT 1 30619580e66SDave Liu #define CONFIG_OF_BOARD_SETUP 1 3075b8bc606SKim Phillips #define CONFIG_OF_STDOUT_VIA_ALIAS 1 30819580e66SDave Liu 30919580e66SDave Liu /* I2C */ 31019580e66SDave Liu #define CONFIG_HARD_I2C /* I2C with hardware support */ 31119580e66SDave Liu #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 31219580e66SDave Liu #define CONFIG_FSL_I2C 31319580e66SDave Liu #define CFG_I2C_SPEED 400000 /* I2C speed and slave address */ 31419580e66SDave Liu #define CFG_I2C_SLAVE 0x7F 31519580e66SDave Liu #define CFG_I2C_NOPROBES {0x51} /* Don't probe these addrs */ 31619580e66SDave Liu #define CFG_I2C_OFFSET 0x3000 31719580e66SDave Liu #define CFG_I2C2_OFFSET 0x3100 31819580e66SDave Liu 31919580e66SDave Liu /* 32019580e66SDave Liu * Config on-board RTC 32119580e66SDave Liu */ 32219580e66SDave Liu #define CONFIG_RTC_DS1374 /* use ds1374 rtc via i2c */ 32319580e66SDave Liu #define CFG_I2C_RTC_ADDR 0x68 /* at address 0x68 */ 32419580e66SDave Liu 32519580e66SDave Liu /* 32619580e66SDave Liu * General PCI 32719580e66SDave Liu * Addresses are mapped 1-1. 32819580e66SDave Liu */ 32919580e66SDave Liu #define CFG_PCI_MEM_BASE 0x80000000 33019580e66SDave Liu #define CFG_PCI_MEM_PHYS CFG_PCI_MEM_BASE 33119580e66SDave Liu #define CFG_PCI_MEM_SIZE 0x10000000 /* 256M */ 33219580e66SDave Liu #define CFG_PCI_MMIO_BASE 0x90000000 33319580e66SDave Liu #define CFG_PCI_MMIO_PHYS CFG_PCI_MMIO_BASE 33419580e66SDave Liu #define CFG_PCI_MMIO_SIZE 0x10000000 /* 256M */ 33519580e66SDave Liu #define CFG_PCI_IO_BASE 0xE0300000 33619580e66SDave Liu #define CFG_PCI_IO_PHYS 0xE0300000 33719580e66SDave Liu #define CFG_PCI_IO_SIZE 0x100000 /* 1M */ 33819580e66SDave Liu 33919580e66SDave Liu #define CFG_PCI_SLV_MEM_LOCAL CFG_SDRAM_BASE 34019580e66SDave Liu #define CFG_PCI_SLV_MEM_BUS 0x00000000 34119580e66SDave Liu #define CFG_PCI_SLV_MEM_SIZE 0x80000000 34219580e66SDave Liu 34319580e66SDave Liu #ifdef CONFIG_PCI 34419580e66SDave Liu #define CONFIG_83XX_GENERIC_PCI 1 /* Use generic PCI setup */ 34519580e66SDave Liu #define CONFIG_PQ_MDS_PIB 1 /* PQ MDS Platform IO Board */ 34619580e66SDave Liu 34719580e66SDave Liu #define CONFIG_NET_MULTI 34819580e66SDave Liu #define CONFIG_PCI_PNP /* do pci plug-and-play */ 34919580e66SDave Liu 35019580e66SDave Liu #undef CONFIG_EEPRO100 35119580e66SDave Liu #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 35219580e66SDave Liu #define CFG_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 35319580e66SDave Liu #endif /* CONFIG_PCI */ 35419580e66SDave Liu 35519580e66SDave Liu #ifndef CONFIG_NET_MULTI 35619580e66SDave Liu #define CONFIG_NET_MULTI 1 35719580e66SDave Liu #endif 35819580e66SDave Liu 35919580e66SDave Liu /* 36019580e66SDave Liu * TSEC 36119580e66SDave Liu */ 36219580e66SDave Liu #define CONFIG_TSEC_ENET /* TSEC ethernet support */ 36319580e66SDave Liu #define CFG_TSEC1_OFFSET 0x24000 36419580e66SDave Liu #define CFG_TSEC1 (CFG_IMMR+CFG_TSEC1_OFFSET) 36519580e66SDave Liu #define CFG_TSEC2_OFFSET 0x25000 36619580e66SDave Liu #define CFG_TSEC2 (CFG_IMMR+CFG_TSEC2_OFFSET) 36719580e66SDave Liu 36819580e66SDave Liu /* 36919580e66SDave Liu * TSEC ethernet configuration 37019580e66SDave Liu */ 37119580e66SDave Liu #define CONFIG_MII 1 /* MII PHY management */ 37219580e66SDave Liu #define CONFIG_TSEC1 1 37319580e66SDave Liu #define CONFIG_TSEC1_NAME "eTSEC0" 37419580e66SDave Liu #define CONFIG_TSEC2 1 37519580e66SDave Liu #define CONFIG_TSEC2_NAME "eTSEC1" 37619580e66SDave Liu #define TSEC1_PHY_ADDR 2 37719580e66SDave Liu #define TSEC2_PHY_ADDR 3 37819580e66SDave Liu #define TSEC1_PHYIDX 0 37919580e66SDave Liu #define TSEC2_PHYIDX 0 38019580e66SDave Liu #define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 38119580e66SDave Liu #define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 38219580e66SDave Liu 38319580e66SDave Liu /* Options are: TSEC[0-1] */ 38419580e66SDave Liu #define CONFIG_ETHPRIME "eTSEC1" 38519580e66SDave Liu 38619580e66SDave Liu /* 38719580e66SDave Liu * Environment 38819580e66SDave Liu */ 38919580e66SDave Liu #ifndef CFG_RAMBOOT 39019580e66SDave Liu #define CFG_ENV_IS_IN_FLASH 1 391921d4b19SKim Phillips #define CFG_ENV_ADDR (CFG_MONITOR_BASE + CFG_MONITOR_LEN) 39219580e66SDave Liu #define CFG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */ 39319580e66SDave Liu #define CFG_ENV_SIZE 0x2000 39419580e66SDave Liu #else 39519580e66SDave Liu #define CFG_NO_FLASH 1 /* Flash is not usable now */ 39619580e66SDave Liu #define CFG_ENV_IS_NOWHERE 1 /* Store ENV in memory only */ 39719580e66SDave Liu #define CFG_ENV_ADDR (CFG_MONITOR_BASE - 0x1000) 39819580e66SDave Liu #define CFG_ENV_SIZE 0x2000 39919580e66SDave Liu #endif 40019580e66SDave Liu 40119580e66SDave Liu #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 40219580e66SDave Liu #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 40319580e66SDave Liu 40419580e66SDave Liu /* 40519580e66SDave Liu * BOOTP options 40619580e66SDave Liu */ 40719580e66SDave Liu #define CONFIG_BOOTP_BOOTFILESIZE 40819580e66SDave Liu #define CONFIG_BOOTP_BOOTPATH 40919580e66SDave Liu #define CONFIG_BOOTP_GATEWAY 41019580e66SDave Liu #define CONFIG_BOOTP_HOSTNAME 41119580e66SDave Liu 41219580e66SDave Liu 41319580e66SDave Liu /* 41419580e66SDave Liu * Command line configuration. 41519580e66SDave Liu */ 41619580e66SDave Liu #include <config_cmd_default.h> 41719580e66SDave Liu 41819580e66SDave Liu #define CONFIG_CMD_PING 41919580e66SDave Liu #define CONFIG_CMD_I2C 42019580e66SDave Liu #define CONFIG_CMD_MII 42119580e66SDave Liu #define CONFIG_CMD_DATE 42219580e66SDave Liu 42319580e66SDave Liu #if defined(CONFIG_PCI) 42419580e66SDave Liu #define CONFIG_CMD_PCI 42519580e66SDave Liu #endif 42619580e66SDave Liu 42719580e66SDave Liu #if defined(CFG_RAMBOOT) 42819580e66SDave Liu #undef CONFIG_CMD_ENV 42919580e66SDave Liu #undef CONFIG_CMD_LOADS 43019580e66SDave Liu #endif 43119580e66SDave Liu 43219580e66SDave Liu #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 43319580e66SDave Liu 43419580e66SDave Liu #undef CONFIG_WATCHDOG /* watchdog disabled */ 43519580e66SDave Liu 43619580e66SDave Liu /* 43719580e66SDave Liu * Miscellaneous configurable options 43819580e66SDave Liu */ 43919580e66SDave Liu #define CFG_LONGHELP /* undef to save memory */ 44019580e66SDave Liu #define CFG_LOAD_ADDR 0x2000000 /* default load address */ 44119580e66SDave Liu #define CFG_PROMPT "=> " /* Monitor Command Prompt */ 44219580e66SDave Liu 44319580e66SDave Liu #if defined(CONFIG_CMD_KGDB) 44419580e66SDave Liu #define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ 44519580e66SDave Liu #else 44619580e66SDave Liu #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 44719580e66SDave Liu #endif 44819580e66SDave Liu 44919580e66SDave Liu #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 45019580e66SDave Liu #define CFG_MAXARGS 16 /* max number of command args */ 45119580e66SDave Liu #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 45219580e66SDave Liu #define CFG_HZ 1000 /* decrementer freq: 1ms ticks */ 45319580e66SDave Liu 45419580e66SDave Liu /* 45519580e66SDave Liu * For booting Linux, the board info and command line data 45619580e66SDave Liu * have to be in the first 8 MB of memory, since this is 45719580e66SDave Liu * the maximum mapped by the Linux kernel during initialization. 45819580e66SDave Liu */ 45919580e66SDave Liu #define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ 46019580e66SDave Liu 46119580e66SDave Liu /* 46219580e66SDave Liu * Core HID Setup 46319580e66SDave Liu */ 46419580e66SDave Liu #define CFG_HID0_INIT 0x000000000 46519580e66SDave Liu #define CFG_HID0_FINAL HID0_ENABLE_MACHINE_CHECK 46619580e66SDave Liu #define CFG_HID2 HID2_HBE 46719580e66SDave Liu 46819580e66SDave Liu /* 46919580e66SDave Liu * MMU Setup 47019580e66SDave Liu */ 47119580e66SDave Liu 47219580e66SDave Liu /* DDR: cache cacheable */ 47319580e66SDave Liu #define CFG_SDRAM_LOWER CFG_SDRAM_BASE 47419580e66SDave Liu #define CFG_SDRAM_UPPER (CFG_SDRAM_BASE + 0x10000000) 47519580e66SDave Liu 47619580e66SDave Liu #define CFG_IBAT0L (CFG_SDRAM_LOWER | BATL_PP_10 | BATL_MEMCOHERENCE) 47719580e66SDave Liu #define CFG_IBAT0U (CFG_SDRAM_LOWER | BATU_BL_256M | BATU_VS | BATU_VP) 47819580e66SDave Liu #define CFG_DBAT0L CFG_IBAT0L 47919580e66SDave Liu #define CFG_DBAT0U CFG_IBAT0U 48019580e66SDave Liu 48119580e66SDave Liu #define CFG_IBAT1L (CFG_SDRAM_UPPER | BATL_PP_10 | BATL_MEMCOHERENCE) 48219580e66SDave Liu #define CFG_IBAT1U (CFG_SDRAM_UPPER | BATU_BL_256M | BATU_VS | BATU_VP) 48319580e66SDave Liu #define CFG_DBAT1L CFG_IBAT1L 48419580e66SDave Liu #define CFG_DBAT1U CFG_IBAT1U 48519580e66SDave Liu 48619580e66SDave Liu /* IMMRBAR, PCI IO and NAND: cache-inhibit and guarded */ 48719580e66SDave Liu #define CFG_IBAT2L (CFG_IMMR | BATL_PP_10 | \ 48819580e66SDave Liu BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 48919580e66SDave Liu #define CFG_IBAT2U (CFG_IMMR | BATU_BL_8M | BATU_VS | BATU_VP) 49019580e66SDave Liu #define CFG_DBAT2L CFG_IBAT2L 49119580e66SDave Liu #define CFG_DBAT2U CFG_IBAT2U 49219580e66SDave Liu 49319580e66SDave Liu /* BCSR: cache-inhibit and guarded */ 49419580e66SDave Liu #define CFG_IBAT3L (CFG_BCSR | BATL_PP_10 | \ 49519580e66SDave Liu BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 49619580e66SDave Liu #define CFG_IBAT3U (CFG_BCSR | BATU_BL_128K | BATU_VS | BATU_VP) 49719580e66SDave Liu #define CFG_DBAT3L CFG_IBAT3L 49819580e66SDave Liu #define CFG_DBAT3U CFG_IBAT3U 49919580e66SDave Liu 50019580e66SDave Liu /* FLASH: icache cacheable, but dcache-inhibit and guarded */ 50119580e66SDave Liu #define CFG_IBAT4L (CFG_FLASH_BASE | BATL_PP_10 | BATL_MEMCOHERENCE) 50219580e66SDave Liu #define CFG_IBAT4U (CFG_FLASH_BASE | BATU_BL_32M | BATU_VS | BATU_VP) 50319580e66SDave Liu #define CFG_DBAT4L (CFG_FLASH_BASE | BATL_PP_10 | \ 50419580e66SDave Liu BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 50519580e66SDave Liu #define CFG_DBAT4U CFG_IBAT4U 50619580e66SDave Liu 50719580e66SDave Liu /* Stack in dcache: cacheable, no memory coherence */ 50819580e66SDave Liu #define CFG_IBAT5L (CFG_INIT_RAM_ADDR | BATL_PP_10) 50919580e66SDave Liu #define CFG_IBAT5U (CFG_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP) 51019580e66SDave Liu #define CFG_DBAT5L CFG_IBAT5L 51119580e66SDave Liu #define CFG_DBAT5U CFG_IBAT5U 51219580e66SDave Liu 51319580e66SDave Liu #ifdef CONFIG_PCI 51419580e66SDave Liu /* PCI MEM space: cacheable */ 51519580e66SDave Liu #define CFG_IBAT6L (CFG_PCI_MEM_PHYS | BATL_PP_10 | BATL_MEMCOHERENCE) 51619580e66SDave Liu #define CFG_IBAT6U (CFG_PCI_MEM_PHYS | BATU_BL_256M | BATU_VS | BATU_VP) 51719580e66SDave Liu #define CFG_DBAT6L CFG_IBAT6L 51819580e66SDave Liu #define CFG_DBAT6U CFG_IBAT6U 51919580e66SDave Liu /* PCI MMIO space: cache-inhibit and guarded */ 52019580e66SDave Liu #define CFG_IBAT7L (CFG_PCI_MMIO_PHYS | BATL_PP_10 | \ 52119580e66SDave Liu BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 52219580e66SDave Liu #define CFG_IBAT7U (CFG_PCI_MMIO_PHYS | BATU_BL_256M | BATU_VS | BATU_VP) 52319580e66SDave Liu #define CFG_DBAT7L CFG_IBAT7L 52419580e66SDave Liu #define CFG_DBAT7U CFG_IBAT7U 52519580e66SDave Liu #else 52619580e66SDave Liu #define CFG_IBAT6L (0) 52719580e66SDave Liu #define CFG_IBAT6U (0) 52819580e66SDave Liu #define CFG_IBAT7L (0) 52919580e66SDave Liu #define CFG_IBAT7U (0) 53019580e66SDave Liu #define CFG_DBAT6L CFG_IBAT6L 53119580e66SDave Liu #define CFG_DBAT6U CFG_IBAT6U 53219580e66SDave Liu #define CFG_DBAT7L CFG_IBAT7L 53319580e66SDave Liu #define CFG_DBAT7U CFG_IBAT7U 53419580e66SDave Liu #endif 53519580e66SDave Liu 53619580e66SDave Liu /* 53719580e66SDave Liu * Internal Definitions 53819580e66SDave Liu * 53919580e66SDave Liu * Boot Flags 54019580e66SDave Liu */ 54119580e66SDave Liu #define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ 54219580e66SDave Liu #define BOOTFLAG_WARM 0x02 /* Software reboot */ 54319580e66SDave Liu 54419580e66SDave Liu #if defined(CONFIG_CMD_KGDB) 54519580e66SDave Liu #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ 54619580e66SDave Liu #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ 54719580e66SDave Liu #endif 54819580e66SDave Liu 54919580e66SDave Liu /* 55019580e66SDave Liu * Environment Configuration 55119580e66SDave Liu */ 55219580e66SDave Liu 55319580e66SDave Liu #define CONFIG_ENV_OVERWRITE 55419580e66SDave Liu 55519580e66SDave Liu #if defined(CONFIG_TSEC_ENET) 55619580e66SDave Liu #define CONFIG_HAS_ETH0 55719580e66SDave Liu #define CONFIG_ETHADDR 00:E0:0C:00:83:79 55819580e66SDave Liu #define CONFIG_HAS_ETH1 55919580e66SDave Liu #define CONFIG_ETH1ADDR 00:E0:0C:00:83:78 56019580e66SDave Liu #endif 56119580e66SDave Liu 56219580e66SDave Liu #define CONFIG_BAUDRATE 115200 56319580e66SDave Liu 56419580e66SDave Liu #define CONFIG_LOADADDR 200000 /* default location for tftp and bootm */ 56519580e66SDave Liu 56619580e66SDave Liu #define CONFIG_BOOTDELAY 6 /* -1 disables auto-boot */ 56719580e66SDave Liu #undef CONFIG_BOOTARGS /* the boot command will set bootargs */ 56819580e66SDave Liu 56919580e66SDave Liu #define CONFIG_EXTRA_ENV_SETTINGS \ 57019580e66SDave Liu "netdev=eth0\0" \ 57119580e66SDave Liu "consoledev=ttyS0\0" \ 57219580e66SDave Liu "ramdiskaddr=1000000\0" \ 57319580e66SDave Liu "ramdiskfile=ramfs.83xx\0" \ 57419580e66SDave Liu "fdtaddr=400000\0" \ 57519580e66SDave Liu "fdtfile=mpc837xemds.dtb\0" \ 57619580e66SDave Liu "" 57719580e66SDave Liu 57819580e66SDave Liu #define CONFIG_NFSBOOTCOMMAND \ 57919580e66SDave Liu "setenv bootargs root=/dev/nfs rw " \ 58019580e66SDave Liu "nfsroot=$serverip:$rootpath " \ 58119580e66SDave Liu "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 58219580e66SDave Liu "console=$consoledev,$baudrate $othbootargs;" \ 58319580e66SDave Liu "tftp $loadaddr $bootfile;" \ 58419580e66SDave Liu "tftp $fdtaddr $fdtfile;" \ 58519580e66SDave Liu "bootm $loadaddr - $fdtaddr" 58619580e66SDave Liu 58719580e66SDave Liu #define CONFIG_RAMBOOTCOMMAND \ 58819580e66SDave Liu "setenv bootargs root=/dev/ram rw " \ 58919580e66SDave Liu "console=$consoledev,$baudrate $othbootargs;" \ 59019580e66SDave Liu "tftp $ramdiskaddr $ramdiskfile;" \ 59119580e66SDave Liu "tftp $loadaddr $bootfile;" \ 59219580e66SDave Liu "tftp $fdtaddr $fdtfile;" \ 59319580e66SDave Liu "bootm $loadaddr $ramdiskaddr $fdtaddr" 59419580e66SDave Liu 59519580e66SDave Liu 59619580e66SDave Liu #define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND 59719580e66SDave Liu 59819580e66SDave Liu #endif /* __CONFIG_H */ 599