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