1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2007 Freescale Semiconductor, Inc. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * This program is free software; you can redistribute it and/or modify it 5*4882a593Smuzhiyun * under the terms of the GNU General Public License version 2 as published 6*4882a593Smuzhiyun * by the Free Software Foundation. 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef __CONFIG_H 10*4882a593Smuzhiyun #define __CONFIG_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* 13*4882a593Smuzhiyun * High Level Configuration Options 14*4882a593Smuzhiyun */ 15*4882a593Smuzhiyun #define CONFIG_E300 1 /* E300 family */ 16*4882a593Smuzhiyun #define CONFIG_QE 1 /* Has QE */ 17*4882a593Smuzhiyun #define CONFIG_MPC832x 1 /* MPC832x CPU specific */ 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0xFE000000 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun /* 22*4882a593Smuzhiyun * System Clock Setup 23*4882a593Smuzhiyun */ 24*4882a593Smuzhiyun #define CONFIG_83XX_CLKIN 66666667 /* in Hz */ 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #ifndef CONFIG_SYS_CLK_FREQ 27*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ CONFIG_83XX_CLKIN 28*4882a593Smuzhiyun #endif 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun /* 31*4882a593Smuzhiyun * Hardware Reset Configuration Word 32*4882a593Smuzhiyun */ 33*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 34*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 35*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_2X1 |\ 36*4882a593Smuzhiyun HRCWL_VCO_1X2 |\ 37*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN_2X1 |\ 38*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_2_5X1 |\ 39*4882a593Smuzhiyun HRCWL_CE_PLL_VCO_DIV_2 |\ 40*4882a593Smuzhiyun HRCWL_CE_PLL_DIV_1X1 |\ 41*4882a593Smuzhiyun HRCWL_CE_TO_PLL_1X3) 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 44*4882a593Smuzhiyun HRCWH_PCI_HOST |\ 45*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_ENABLE |\ 46*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 47*4882a593Smuzhiyun HRCWH_FROM_0X00000100 |\ 48*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 49*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 50*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 51*4882a593Smuzhiyun HRCWH_BIG_ENDIAN |\ 52*4882a593Smuzhiyun HRCWH_LALE_NORMAL) 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun /* 55*4882a593Smuzhiyun * System IO Config 56*4882a593Smuzhiyun */ 57*4882a593Smuzhiyun #define CONFIG_SYS_SICRL 0x00000000 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun /* 60*4882a593Smuzhiyun * IMMR new address 61*4882a593Smuzhiyun */ 62*4882a593Smuzhiyun #define CONFIG_SYS_IMMR 0xE0000000 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun /* 65*4882a593Smuzhiyun * System performance 66*4882a593Smuzhiyun */ 67*4882a593Smuzhiyun #define CONFIG_SYS_ACR_PIPE_DEP 3 /* Arbiter pipeline depth (0-3) */ 68*4882a593Smuzhiyun #define CONFIG_SYS_ACR_RPTCNT 3 /* Arbiter repeat count (0-7) */ 69*4882a593Smuzhiyun /* (0-1) Optimize transactions between CSB and the SEC and QUICC Engine block */ 70*4882a593Smuzhiyun #define CONFIG_SYS_SPCR_OPT 1 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun /* 73*4882a593Smuzhiyun * DDR Setup 74*4882a593Smuzhiyun */ 75*4882a593Smuzhiyun #define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory */ 76*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE 77*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun #undef CONFIG_SPD_EEPROM 80*4882a593Smuzhiyun #if defined(CONFIG_SPD_EEPROM) 81*4882a593Smuzhiyun /* Determine DDR configuration from I2C interface 82*4882a593Smuzhiyun */ 83*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS 0x51 /* DDR SODIMM */ 84*4882a593Smuzhiyun #else 85*4882a593Smuzhiyun /* Manually set up DDR parameters 86*4882a593Smuzhiyun */ 87*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SIZE 64 /* MB */ 88*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN \ 89*4882a593Smuzhiyun | CSCONFIG_ROW_BIT_13 \ 90*4882a593Smuzhiyun | CSCONFIG_COL_BIT_9) 91*4882a593Smuzhiyun /* 0x80010101 */ 92*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_0 ((0 << TIMING_CFG0_RWT_SHIFT) \ 93*4882a593Smuzhiyun | (0 << TIMING_CFG0_WRT_SHIFT) \ 94*4882a593Smuzhiyun | (0 << TIMING_CFG0_RRT_SHIFT) \ 95*4882a593Smuzhiyun | (0 << TIMING_CFG0_WWT_SHIFT) \ 96*4882a593Smuzhiyun | (2 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) \ 97*4882a593Smuzhiyun | (2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) \ 98*4882a593Smuzhiyun | (8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) \ 99*4882a593Smuzhiyun | (2 << TIMING_CFG0_MRS_CYC_SHIFT)) 100*4882a593Smuzhiyun /* 0x00220802 */ 101*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_1 ((2 << TIMING_CFG1_PRETOACT_SHIFT) \ 102*4882a593Smuzhiyun | (6 << TIMING_CFG1_ACTTOPRE_SHIFT) \ 103*4882a593Smuzhiyun | (2 << TIMING_CFG1_ACTTORW_SHIFT) \ 104*4882a593Smuzhiyun | (5 << TIMING_CFG1_CASLAT_SHIFT) \ 105*4882a593Smuzhiyun | (3 << TIMING_CFG1_REFREC_SHIFT) \ 106*4882a593Smuzhiyun | (2 << TIMING_CFG1_WRREC_SHIFT) \ 107*4882a593Smuzhiyun | (2 << TIMING_CFG1_ACTTOACT_SHIFT) \ 108*4882a593Smuzhiyun | (2 << TIMING_CFG1_WRTORD_SHIFT)) 109*4882a593Smuzhiyun /* 0x26253222 */ 110*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_2 ((1 << TIMING_CFG2_ADD_LAT_SHIFT) \ 111*4882a593Smuzhiyun | (31 << TIMING_CFG2_CPO_SHIFT) \ 112*4882a593Smuzhiyun | (2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) \ 113*4882a593Smuzhiyun | (2 << TIMING_CFG2_RD_TO_PRE_SHIFT) \ 114*4882a593Smuzhiyun | (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) \ 115*4882a593Smuzhiyun | (3 << TIMING_CFG2_CKE_PLS_SHIFT) \ 116*4882a593Smuzhiyun | (7 << TIMING_CFG2_FOUR_ACT_SHIFT)) 117*4882a593Smuzhiyun /* 0x1f9048c7 */ 118*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_3 0x00000000 119*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05 120*4882a593Smuzhiyun /* 0x02000000 */ 121*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE ((0x4448 << SDRAM_MODE_ESD_SHIFT) \ 122*4882a593Smuzhiyun | (0x0232 << SDRAM_MODE_SD_SHIFT)) 123*4882a593Smuzhiyun /* 0x44480232 */ 124*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE2 0x8000c000 125*4882a593Smuzhiyun #define CONFIG_SYS_DDR_INTERVAL ((800 << SDRAM_INTERVAL_REFINT_SHIFT) \ 126*4882a593Smuzhiyun | (100 << SDRAM_INTERVAL_BSTOPRE_SHIFT)) 127*4882a593Smuzhiyun /* 0x03200064 */ 128*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_BNDS 0x00000003 129*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG (SDRAM_CFG_SREN \ 130*4882a593Smuzhiyun | SDRAM_CFG_SDRAM_TYPE_DDR2 \ 131*4882a593Smuzhiyun | SDRAM_CFG_32_BE) 132*4882a593Smuzhiyun /* 0x43080000 */ 133*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG2 0x00401000 134*4882a593Smuzhiyun #endif 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun /* 137*4882a593Smuzhiyun * Memory test 138*4882a593Smuzhiyun */ 139*4882a593Smuzhiyun #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ 140*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x00030000 /* memtest region */ 141*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x03f00000 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun /* 144*4882a593Smuzhiyun * The reserved memory 145*4882a593Smuzhiyun */ 146*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) 149*4882a593Smuzhiyun #define CONFIG_SYS_RAMBOOT 150*4882a593Smuzhiyun #else 151*4882a593Smuzhiyun #undef CONFIG_SYS_RAMBOOT 152*4882a593Smuzhiyun #endif 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun /* CONFIG_SYS_MONITOR_LEN must be a multiple of CONFIG_ENV_SECT_SIZE */ 155*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Mon */ 156*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserved for malloc */ 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun /* 159*4882a593Smuzhiyun * Initial RAM Base Address Setup 160*4882a593Smuzhiyun */ 161*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_LOCK 1 162*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */ 163*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM */ 164*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET \ 165*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun /* 168*4882a593Smuzhiyun * Local Bus Configuration & Clock Setup 169*4882a593Smuzhiyun */ 170*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_DBYP LCRR_DBYP 171*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_2 172*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LBCR 0x00000000 173*4882a593Smuzhiyun 174*4882a593Smuzhiyun /* 175*4882a593Smuzhiyun * FLASH on the Local Bus 176*4882a593Smuzhiyun */ 177*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI /* use the Common Flash Interface */ 178*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER /* use the CFI driver */ 179*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0xFE000000 /* FLASH base address */ 180*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_SIZE 16 /* FLASH size is 16M */ 181*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_PROTECTION 1 /* Use h/w Flash protection. */ 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun /* Window base at flash base */ 184*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR0_PRELIM CONFIG_SYS_FLASH_BASE 185*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR0_PRELIM (LBLAWAR_EN | LBLAWAR_32MB) 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE \ 188*4882a593Smuzhiyun | BR_PS_16 /* 16 bit port */ \ 189*4882a593Smuzhiyun | BR_MS_GPCM /* MSEL = GPCM */ \ 190*4882a593Smuzhiyun | BR_V) /* valid */ 191*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM (MEG_TO_AM(CONFIG_SYS_FLASH_SIZE) \ 192*4882a593Smuzhiyun | OR_GPCM_XAM \ 193*4882a593Smuzhiyun | OR_GPCM_CSNT \ 194*4882a593Smuzhiyun | OR_GPCM_ACS_DIV2 \ 195*4882a593Smuzhiyun | OR_GPCM_XACS \ 196*4882a593Smuzhiyun | OR_GPCM_SCY_15 \ 197*4882a593Smuzhiyun | OR_GPCM_TRLX_SET \ 198*4882a593Smuzhiyun | OR_GPCM_EHTR_SET \ 199*4882a593Smuzhiyun | OR_GPCM_EAD) 200*4882a593Smuzhiyun /* 0xFE006FF7 */ 201*4882a593Smuzhiyun 202*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 203*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 128 /* sectors per device */ 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun #undef CONFIG_SYS_FLASH_CHECKSUM 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun /* 208*4882a593Smuzhiyun * Serial Port 209*4882a593Smuzhiyun */ 210*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 211*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 212*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE 1 213*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun #define CONFIG_SYS_BAUDRATE_TABLE \ 216*4882a593Smuzhiyun {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500) 219*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600) 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 222*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 223*4882a593Smuzhiyun 224*4882a593Smuzhiyun /* I2C */ 225*4882a593Smuzhiyun #define CONFIG_SYS_I2C 226*4882a593Smuzhiyun #define CONFIG_SYS_I2C_FSL 227*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SPEED 400000 228*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 229*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 230*4882a593Smuzhiyun #define CONFIG_SYS_I2C_NOPROBES { {0, 0x51} } 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun /* 233*4882a593Smuzhiyun * Config on-board EEPROM 234*4882a593Smuzhiyun */ 235*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 236*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 237*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6 238*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun /* 241*4882a593Smuzhiyun * General PCI 242*4882a593Smuzhiyun * Addresses are mapped 1-1. 243*4882a593Smuzhiyun */ 244*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_BASE 0x80000000 245*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE 246*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */ 247*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_BASE 0x90000000 248*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_PHYS CONFIG_SYS_PCI1_MMIO_BASE 249*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_SIZE 0x10000000 /* 256M */ 250*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_BASE 0xd0000000 251*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_PHYS CONFIG_SYS_PCI1_IO_BASE 252*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_SIZE 0x04000000 /* 64M */ 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun #ifdef CONFIG_PCI 255*4882a593Smuzhiyun #define CONFIG_PCI_INDIRECT_BRIDGE 256*4882a593Smuzhiyun #define CONFIG_PCI_SKIP_HOST_BRIDGE 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun #undef CONFIG_EEPRO100 259*4882a593Smuzhiyun #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 260*4882a593Smuzhiyun #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun #endif /* CONFIG_PCI */ 263*4882a593Smuzhiyun 264*4882a593Smuzhiyun /* 265*4882a593Smuzhiyun * QE UEC ethernet configuration 266*4882a593Smuzhiyun */ 267*4882a593Smuzhiyun #define CONFIG_UEC_ETH 268*4882a593Smuzhiyun #define CONFIG_ETHPRIME "UEC0" 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun #define CONFIG_UEC_ETH1 /* ETH3 */ 271*4882a593Smuzhiyun 272*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH1 273*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_UCC_NUM 2 /* UCC3 */ 274*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_RX_CLK QE_CLK9 275*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_TX_CLK QE_CLK10 276*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_ETH_TYPE FAST_ETH 277*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_PHY_ADDR 4 278*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_TYPE PHY_INTERFACE_MODE_MII 279*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_SPEED 100 280*4882a593Smuzhiyun #endif 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun #define CONFIG_UEC_ETH2 /* ETH4 */ 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH2 285*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_UCC_NUM 1 /* UCC2 */ 286*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_RX_CLK QE_CLK16 287*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_TX_CLK QE_CLK3 288*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_ETH_TYPE FAST_ETH 289*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_PHY_ADDR 0 290*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_TYPE PHY_INTERFACE_MODE_MII 291*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_SPEED 100 292*4882a593Smuzhiyun #endif 293*4882a593Smuzhiyun 294*4882a593Smuzhiyun /* 295*4882a593Smuzhiyun * Environment 296*4882a593Smuzhiyun */ 297*4882a593Smuzhiyun #ifndef CONFIG_SYS_RAMBOOT 298*4882a593Smuzhiyun #define CONFIG_ENV_ADDR \ 299*4882a593Smuzhiyun (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 300*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 301*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 302*4882a593Smuzhiyun #else 303*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000) 304*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 305*4882a593Smuzhiyun #endif 306*4882a593Smuzhiyun 307*4882a593Smuzhiyun #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 308*4882a593Smuzhiyun #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun /* 311*4882a593Smuzhiyun * BOOTP options 312*4882a593Smuzhiyun */ 313*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 314*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 315*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 316*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun /* 319*4882a593Smuzhiyun * Command line configuration. 320*4882a593Smuzhiyun */ 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun #undef CONFIG_WATCHDOG /* watchdog disabled */ 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun /* 325*4882a593Smuzhiyun * Miscellaneous configurable options 326*4882a593Smuzhiyun */ 327*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 328*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 329*4882a593Smuzhiyun 330*4882a593Smuzhiyun /* 331*4882a593Smuzhiyun * For booting Linux, the board info and command line data 332*4882a593Smuzhiyun * have to be in the first 256 MB of memory, since this is 333*4882a593Smuzhiyun * the maximum mapped by the Linux kernel during initialization. 334*4882a593Smuzhiyun */ 335*4882a593Smuzhiyun /* Initial Memory map for Linux */ 336*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ (256 << 20) 337*4882a593Smuzhiyun #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 338*4882a593Smuzhiyun 339*4882a593Smuzhiyun /* 340*4882a593Smuzhiyun * Core HID Setup 341*4882a593Smuzhiyun */ 342*4882a593Smuzhiyun #define CONFIG_SYS_HID0_INIT 0x000000000 343*4882a593Smuzhiyun #define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \ 344*4882a593Smuzhiyun HID0_ENABLE_INSTRUCTION_CACHE) 345*4882a593Smuzhiyun #define CONFIG_SYS_HID2 HID2_HBE 346*4882a593Smuzhiyun 347*4882a593Smuzhiyun /* 348*4882a593Smuzhiyun * MMU Setup 349*4882a593Smuzhiyun */ 350*4882a593Smuzhiyun #define CONFIG_HIGH_BATS 1 /* High BATs supported */ 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun /* DDR: cache cacheable */ 353*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE \ 354*4882a593Smuzhiyun | BATL_PP_RW \ 355*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 356*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE \ 357*4882a593Smuzhiyun | BATU_BL_256M \ 358*4882a593Smuzhiyun | BATU_VS \ 359*4882a593Smuzhiyun | BATU_VP) 360*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L 361*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun /* IMMRBAR & PCI IO: cache-inhibit and guarded */ 364*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1L (CONFIG_SYS_IMMR \ 365*4882a593Smuzhiyun | BATL_PP_RW \ 366*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 367*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 368*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1U (CONFIG_SYS_IMMR \ 369*4882a593Smuzhiyun | BATU_BL_4M \ 370*4882a593Smuzhiyun | BATU_VS \ 371*4882a593Smuzhiyun | BATU_VP) 372*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L 373*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U 374*4882a593Smuzhiyun 375*4882a593Smuzhiyun /* FLASH: icache cacheable, but dcache-inhibit and guarded */ 376*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2L (CONFIG_SYS_FLASH_BASE \ 377*4882a593Smuzhiyun | BATL_PP_RW \ 378*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 379*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2U (CONFIG_SYS_FLASH_BASE \ 380*4882a593Smuzhiyun | BATU_BL_32M \ 381*4882a593Smuzhiyun | BATU_VS \ 382*4882a593Smuzhiyun | BATU_VP) 383*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2L (CONFIG_SYS_FLASH_BASE \ 384*4882a593Smuzhiyun | BATL_PP_RW \ 385*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 386*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 387*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U 388*4882a593Smuzhiyun 389*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3L (0) 390*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3U (0) 391*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L 392*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U 393*4882a593Smuzhiyun 394*4882a593Smuzhiyun /* Stack in dcache: cacheable, no memory coherence */ 395*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW) 396*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4U (CONFIG_SYS_INIT_RAM_ADDR \ 397*4882a593Smuzhiyun | BATU_BL_128K \ 398*4882a593Smuzhiyun | BATU_VS \ 399*4882a593Smuzhiyun | BATU_VP) 400*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4L CONFIG_SYS_IBAT4L 401*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun #ifdef CONFIG_PCI 404*4882a593Smuzhiyun /* PCI MEM space: cacheable */ 405*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5L (CONFIG_SYS_PCI1_MEM_PHYS \ 406*4882a593Smuzhiyun | BATL_PP_RW \ 407*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 408*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5U (CONFIG_SYS_PCI1_MEM_PHYS \ 409*4882a593Smuzhiyun | BATU_BL_256M \ 410*4882a593Smuzhiyun | BATU_VS \ 411*4882a593Smuzhiyun | BATU_VP) 412*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 413*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 414*4882a593Smuzhiyun /* PCI MMIO space: cache-inhibit and guarded */ 415*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6L (CONFIG_SYS_PCI1_MMIO_PHYS \ 416*4882a593Smuzhiyun | BATL_PP_RW \ 417*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 418*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 419*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6U (CONFIG_SYS_PCI1_MMIO_PHYS \ 420*4882a593Smuzhiyun | BATU_BL_256M \ 421*4882a593Smuzhiyun | BATU_VS \ 422*4882a593Smuzhiyun | BATU_VP) 423*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 424*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 425*4882a593Smuzhiyun #else 426*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5L (0) 427*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5U (0) 428*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6L (0) 429*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6U (0) 430*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 431*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 432*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 433*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 434*4882a593Smuzhiyun #endif 435*4882a593Smuzhiyun 436*4882a593Smuzhiyun /* Nothing in BAT7 */ 437*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7L (0) 438*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7U (0) 439*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L 440*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U 441*4882a593Smuzhiyun 442*4882a593Smuzhiyun #if (CONFIG_CMD_KGDB) 443*4882a593Smuzhiyun #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ 444*4882a593Smuzhiyun #endif 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun /* 447*4882a593Smuzhiyun * Environment Configuration 448*4882a593Smuzhiyun */ 449*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 450*4882a593Smuzhiyun 451*4882a593Smuzhiyun #define CONFIG_HAS_ETH0 /* add support for "ethaddr" */ 452*4882a593Smuzhiyun #define CONFIG_HAS_ETH1 /* add support for "eth1addr" */ 453*4882a593Smuzhiyun 454*4882a593Smuzhiyun /* use mac_read_from_eeprom() to read ethaddr from I2C EEPROM 455*4882a593Smuzhiyun * (see CONFIG_SYS_I2C_EEPROM) */ 456*4882a593Smuzhiyun /* MAC address offset in I2C EEPROM */ 457*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MAC_OFFSET 0x7f00 458*4882a593Smuzhiyun 459*4882a593Smuzhiyun #define CONFIG_NETDEV "eth1" 460*4882a593Smuzhiyun 461*4882a593Smuzhiyun #define CONFIG_HOSTNAME mpc8323erdb 462*4882a593Smuzhiyun #define CONFIG_ROOTPATH "/nfsroot" 463*4882a593Smuzhiyun #define CONFIG_BOOTFILE "uImage" 464*4882a593Smuzhiyun /* U-Boot image on TFTP server */ 465*4882a593Smuzhiyun #define CONFIG_UBOOTPATH "u-boot.bin" 466*4882a593Smuzhiyun #define CONFIG_FDTFILE "mpc832x_rdb.dtb" 467*4882a593Smuzhiyun #define CONFIG_RAMDISKFILE "rootfs.ext2.gz.uboot" 468*4882a593Smuzhiyun 469*4882a593Smuzhiyun /* default location for tftp and bootm */ 470*4882a593Smuzhiyun #define CONFIG_LOADADDR 800000 471*4882a593Smuzhiyun 472*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 473*4882a593Smuzhiyun "netdev=" CONFIG_NETDEV "\0" \ 474*4882a593Smuzhiyun "uboot=" CONFIG_UBOOTPATH "\0" \ 475*4882a593Smuzhiyun "tftpflash=tftp $loadaddr $uboot;" \ 476*4882a593Smuzhiyun "protect off " __stringify(CONFIG_SYS_TEXT_BASE) \ 477*4882a593Smuzhiyun " +$filesize; " \ 478*4882a593Smuzhiyun "erase " __stringify(CONFIG_SYS_TEXT_BASE) \ 479*4882a593Smuzhiyun " +$filesize; " \ 480*4882a593Smuzhiyun "cp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE) \ 481*4882a593Smuzhiyun " $filesize; " \ 482*4882a593Smuzhiyun "protect on " __stringify(CONFIG_SYS_TEXT_BASE) \ 483*4882a593Smuzhiyun " +$filesize; " \ 484*4882a593Smuzhiyun "cmp.b $loadaddr " __stringify(CONFIG_SYS_TEXT_BASE) \ 485*4882a593Smuzhiyun " $filesize\0" \ 486*4882a593Smuzhiyun "fdtaddr=780000\0" \ 487*4882a593Smuzhiyun "fdtfile=" CONFIG_FDTFILE "\0" \ 488*4882a593Smuzhiyun "ramdiskaddr=1000000\0" \ 489*4882a593Smuzhiyun "ramdiskfile=" CONFIG_RAMDISKFILE "\0" \ 490*4882a593Smuzhiyun "console=ttyS0\0" \ 491*4882a593Smuzhiyun "setbootargs=setenv bootargs " \ 492*4882a593Smuzhiyun "root=$rootdev rw console=$console,$baudrate $othbootargs\0"\ 493*4882a593Smuzhiyun "setipargs=setenv bootargs nfsroot=$serverip:$rootpath " \ 494*4882a593Smuzhiyun "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:"\ 495*4882a593Smuzhiyun "$netdev:off "\ 496*4882a593Smuzhiyun "root=$rootdev rw console=$console,$baudrate $othbootargs\0" 497*4882a593Smuzhiyun 498*4882a593Smuzhiyun #define CONFIG_NFSBOOTCOMMAND \ 499*4882a593Smuzhiyun "setenv rootdev /dev/nfs;" \ 500*4882a593Smuzhiyun "run setbootargs;" \ 501*4882a593Smuzhiyun "run setipargs;" \ 502*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 503*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 504*4882a593Smuzhiyun "bootm $loadaddr - $fdtaddr" 505*4882a593Smuzhiyun 506*4882a593Smuzhiyun #define CONFIG_RAMBOOTCOMMAND \ 507*4882a593Smuzhiyun "setenv rootdev /dev/ram;" \ 508*4882a593Smuzhiyun "run setbootargs;" \ 509*4882a593Smuzhiyun "tftp $ramdiskaddr $ramdiskfile;" \ 510*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 511*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 512*4882a593Smuzhiyun "bootm $loadaddr $ramdiskaddr $fdtaddr" 513*4882a593Smuzhiyun 514*4882a593Smuzhiyun #endif /* __CONFIG_H */ 515