1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2006-2010 3*4882a593Smuzhiyun * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* 9*4882a593Smuzhiyun * mpc8349emds board configuration file 10*4882a593Smuzhiyun * 11*4882a593Smuzhiyun */ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #ifndef __CONFIG_H 14*4882a593Smuzhiyun #define __CONFIG_H 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun /* 17*4882a593Smuzhiyun * High Level Configuration Options 18*4882a593Smuzhiyun */ 19*4882a593Smuzhiyun #define CONFIG_E300 1 /* E300 Family */ 20*4882a593Smuzhiyun #define CONFIG_MPC834x 1 /* MPC834x family */ 21*4882a593Smuzhiyun #define CONFIG_MPC8349 1 /* MPC8349 specific */ 22*4882a593Smuzhiyun #define CONFIG_MPC8349EMDS 1 /* MPC8349EMDS board specific */ 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0xFE000000 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #define CONFIG_PCI_66M 27*4882a593Smuzhiyun #ifdef CONFIG_PCI_66M 28*4882a593Smuzhiyun #define CONFIG_83XX_CLKIN 66000000 /* in Hz */ 29*4882a593Smuzhiyun #else 30*4882a593Smuzhiyun #define CONFIG_83XX_CLKIN 33000000 /* in Hz */ 31*4882a593Smuzhiyun #endif 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun #ifdef CONFIG_PCISLAVE 34*4882a593Smuzhiyun #define CONFIG_83XX_PCICLK 66666666 /* in Hz */ 35*4882a593Smuzhiyun #endif /* CONFIG_PCISLAVE */ 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #ifndef CONFIG_SYS_CLK_FREQ 38*4882a593Smuzhiyun #ifdef CONFIG_PCI_66M 39*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 66000000 40*4882a593Smuzhiyun #define HRCWL_CSB_TO_CLKIN HRCWL_CSB_TO_CLKIN_4X1 41*4882a593Smuzhiyun #else 42*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 33000000 43*4882a593Smuzhiyun #define HRCWL_CSB_TO_CLKIN HRCWL_CSB_TO_CLKIN_8X1 44*4882a593Smuzhiyun #endif 45*4882a593Smuzhiyun #endif 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun #define CONFIG_SYS_IMMR 0xE0000000 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ 50*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x00000000 /* memtest region */ 51*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x00100000 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun /* 54*4882a593Smuzhiyun * DDR Setup 55*4882a593Smuzhiyun */ 56*4882a593Smuzhiyun #define CONFIG_DDR_ECC /* support DDR ECC function */ 57*4882a593Smuzhiyun #define CONFIG_DDR_ECC_CMD /* use DDR ECC user commands */ 58*4882a593Smuzhiyun #define CONFIG_SPD_EEPROM /* use SPD EEPROM for DDR setup*/ 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun /* 61*4882a593Smuzhiyun * SYS_FSL_DDR2 is selected in Kconfig to use unified DDR driver 62*4882a593Smuzhiyun * unselect it to use old spd_sdram.c 63*4882a593Smuzhiyun */ 64*4882a593Smuzhiyun #define CONFIG_SYS_SPD_BUS_NUM 0 65*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS1 0x52 66*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS2 0x51 67*4882a593Smuzhiyun #define CONFIG_DIMM_SLOTS_PER_CTLR 2 68*4882a593Smuzhiyun #define CONFIG_CHIP_SELECTS_PER_CTRL (2 * CONFIG_DIMM_SLOTS_PER_CTLR) 69*4882a593Smuzhiyun #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 70*4882a593Smuzhiyun #define CONFIG_MEM_INIT_VALUE 0xDeadBeef 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun /* 73*4882a593Smuzhiyun * 32-bit data path mode. 74*4882a593Smuzhiyun * 75*4882a593Smuzhiyun * Please note that using this mode for devices with the real density of 64-bit 76*4882a593Smuzhiyun * effectively reduces the amount of available memory due to the effect of 77*4882a593Smuzhiyun * wrapping around while translating address to row/columns, for example in the 78*4882a593Smuzhiyun * 256MB module the upper 128MB get aliased with contents of the lower 79*4882a593Smuzhiyun * 128MB); normally this define should be used for devices with real 32-bit 80*4882a593Smuzhiyun * data path. 81*4882a593Smuzhiyun */ 82*4882a593Smuzhiyun #undef CONFIG_DDR_32BIT 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun #define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory*/ 85*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE 86*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE 87*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CLK_CNTL (DDR_SDRAM_CLK_CNTL_SS_EN \ 88*4882a593Smuzhiyun | DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05) 89*4882a593Smuzhiyun #undef CONFIG_DDR_2T_TIMING 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun /* 92*4882a593Smuzhiyun * DDRCDR - DDR Control Driver Register 93*4882a593Smuzhiyun */ 94*4882a593Smuzhiyun #define CONFIG_SYS_DDRCDR_VALUE 0x80080001 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun #if defined(CONFIG_SPD_EEPROM) 97*4882a593Smuzhiyun /* 98*4882a593Smuzhiyun * Determine DDR configuration from I2C interface. 99*4882a593Smuzhiyun */ 100*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS 0x51 /* DDR DIMM */ 101*4882a593Smuzhiyun #else 102*4882a593Smuzhiyun /* 103*4882a593Smuzhiyun * Manually set up DDR parameters 104*4882a593Smuzhiyun */ 105*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SIZE 256 /* MB */ 106*4882a593Smuzhiyun #if defined(CONFIG_DDR_II) 107*4882a593Smuzhiyun #define CONFIG_SYS_DDRCDR 0x80080001 108*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS2_BNDS 0x0000000f 109*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS2_CONFIG 0x80330102 110*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_0 0x00220802 111*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_1 0x38357322 112*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_2 0x2f9048c8 113*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_3 0x00000000 114*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CLK_CNTL 0x02000000 115*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE 0x47d00432 116*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE2 0x8000c000 117*4882a593Smuzhiyun #define CONFIG_SYS_DDR_INTERVAL 0x03cf0080 118*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG 0x43000000 119*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG2 0x00401000 120*4882a593Smuzhiyun #else 121*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS2_CONFIG (CSCONFIG_EN \ 122*4882a593Smuzhiyun | CSCONFIG_ROW_BIT_13 \ 123*4882a593Smuzhiyun | CSCONFIG_COL_BIT_10) 124*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_1 0x36332321 125*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_2 0x00000800 /* P9-45,may need tuning */ 126*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CONTROL 0xc2000000 /* unbuffered,no DYN_PWR */ 127*4882a593Smuzhiyun #define CONFIG_SYS_DDR_INTERVAL 0x04060100 /* autocharge,no open page */ 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun #if defined(CONFIG_DDR_32BIT) 130*4882a593Smuzhiyun /* set burst length to 8 for 32-bit data path */ 131*4882a593Smuzhiyun /* DLL,normal,seq,4/2.5, 8 burst len */ 132*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE 0x00000023 133*4882a593Smuzhiyun #else 134*4882a593Smuzhiyun /* the default burst length is 4 - for 64-bit data path */ 135*4882a593Smuzhiyun /* DLL,normal,seq,4/2.5, 4 burst len */ 136*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE 0x00000022 137*4882a593Smuzhiyun #endif 138*4882a593Smuzhiyun #endif 139*4882a593Smuzhiyun #endif 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun /* 142*4882a593Smuzhiyun * SDRAM on the Local Bus 143*4882a593Smuzhiyun */ 144*4882a593Smuzhiyun #define CONFIG_SYS_LBC_SDRAM_BASE 0xF0000000 /* Localbus SDRAM */ 145*4882a593Smuzhiyun #define CONFIG_SYS_LBC_SDRAM_SIZE 64 /* LBC SDRAM is 64MB */ 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun /* 148*4882a593Smuzhiyun * FLASH on the Local Bus 149*4882a593Smuzhiyun */ 150*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI /* use the Common Flash Interface */ 151*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER /* use the CFI driver */ 152*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0xFE000000 /* start of FLASH */ 153*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_SIZE 32 /* max flash size in MB */ 154*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_PROTECTION 1 /* Use h/w Flash protection. */ 155*4882a593Smuzhiyun /* #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE */ 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE \ 158*4882a593Smuzhiyun | BR_PS_16 /* 16 bit port */ \ 159*4882a593Smuzhiyun | BR_MS_GPCM /* MSEL = GPCM */ \ 160*4882a593Smuzhiyun | BR_V) /* valid */ 161*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM (MEG_TO_AM(CONFIG_SYS_FLASH_SIZE) \ 162*4882a593Smuzhiyun | OR_UPM_XAM \ 163*4882a593Smuzhiyun | OR_GPCM_CSNT \ 164*4882a593Smuzhiyun | OR_GPCM_ACS_DIV2 \ 165*4882a593Smuzhiyun | OR_GPCM_XACS \ 166*4882a593Smuzhiyun | OR_GPCM_SCY_15 \ 167*4882a593Smuzhiyun | OR_GPCM_TRLX_SET \ 168*4882a593Smuzhiyun | OR_GPCM_EHTR_SET \ 169*4882a593Smuzhiyun | OR_GPCM_EAD) 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun /* window base at flash base */ 172*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR0_PRELIM CONFIG_SYS_FLASH_BASE 173*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR0_PRELIM (LBLAWAR_EN | LBLAWAR_32MB) 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 176*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 256 /* max sectors per device */ 177*4882a593Smuzhiyun 178*4882a593Smuzhiyun #undef CONFIG_SYS_FLASH_CHECKSUM 179*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 180*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) 185*4882a593Smuzhiyun #define CONFIG_SYS_RAMBOOT 186*4882a593Smuzhiyun #else 187*4882a593Smuzhiyun #undef CONFIG_SYS_RAMBOOT 188*4882a593Smuzhiyun #endif 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun /* 191*4882a593Smuzhiyun * BCSR register on local bus 32KB, 8-bit wide for MDS config reg 192*4882a593Smuzhiyun */ 193*4882a593Smuzhiyun #define CONFIG_SYS_BCSR 0xE2400000 194*4882a593Smuzhiyun /* Access window base at BCSR base */ 195*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR1_PRELIM CONFIG_SYS_BCSR 196*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR1_PRELIM (LBLAWAR_EN | LBLAWAR_32KB) 197*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_BCSR \ 198*4882a593Smuzhiyun | BR_PS_8 \ 199*4882a593Smuzhiyun | BR_MS_GPCM \ 200*4882a593Smuzhiyun | BR_V) 201*4882a593Smuzhiyun /* 0x00000801 */ 202*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM (OR_AM_32KB \ 203*4882a593Smuzhiyun | OR_GPCM_XAM \ 204*4882a593Smuzhiyun | OR_GPCM_CSNT \ 205*4882a593Smuzhiyun | OR_GPCM_SCY_15 \ 206*4882a593Smuzhiyun | OR_GPCM_TRLX_CLEAR \ 207*4882a593Smuzhiyun | OR_GPCM_EHTR_CLEAR) 208*4882a593Smuzhiyun /* 0xFFFFE8F0 */ 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_LOCK 1 211*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR 0xFD000000 /* Initial RAM addr */ 212*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM*/ 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET \ 215*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 216*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Mon */ 219*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserved for malloc */ 220*4882a593Smuzhiyun 221*4882a593Smuzhiyun /* 222*4882a593Smuzhiyun * Local Bus LCRR and LBCR regs 223*4882a593Smuzhiyun * LCRR: DLL bypass, Clock divider is 4 224*4882a593Smuzhiyun * External Local Bus rate is 225*4882a593Smuzhiyun * CLKIN * HRCWL_CSB_TO_CLKIN / HRCWL_LCL_BUS_TO_SCB_CLK / LCRR_CLKDIV 226*4882a593Smuzhiyun */ 227*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_DBYP LCRR_DBYP 228*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_4 229*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LBCR 0x00000000 230*4882a593Smuzhiyun 231*4882a593Smuzhiyun /* 232*4882a593Smuzhiyun * The MPC834xEA MDS for 834xE rev3.1 may not be assembled SDRAM memory. 233*4882a593Smuzhiyun * if board has SRDAM on local bus, you can define CONFIG_SYS_LB_SDRAM 234*4882a593Smuzhiyun */ 235*4882a593Smuzhiyun #undef CONFIG_SYS_LB_SDRAM 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun #ifdef CONFIG_SYS_LB_SDRAM 238*4882a593Smuzhiyun /* Local bus BR2, OR2 definition for SDRAM if soldered on the MDS board */ 239*4882a593Smuzhiyun /* 240*4882a593Smuzhiyun * Base Register 2 and Option Register 2 configure SDRAM. 241*4882a593Smuzhiyun * The SDRAM base address, CONFIG_SYS_LBC_SDRAM_BASE, is 0xf0000000. 242*4882a593Smuzhiyun * 243*4882a593Smuzhiyun * For BR2, need: 244*4882a593Smuzhiyun * Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0 245*4882a593Smuzhiyun * port-size = 32-bits = BR2[19:20] = 11 246*4882a593Smuzhiyun * no parity checking = BR2[21:22] = 00 247*4882a593Smuzhiyun * SDRAM for MSEL = BR2[24:26] = 011 248*4882a593Smuzhiyun * Valid = BR[31] = 1 249*4882a593Smuzhiyun * 250*4882a593Smuzhiyun * 0 4 8 12 16 20 24 28 251*4882a593Smuzhiyun * 1111 0000 0000 0000 0001 1000 0110 0001 = F0001861 252*4882a593Smuzhiyun */ 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun #define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_LBC_SDRAM_BASE \ 255*4882a593Smuzhiyun | BR_PS_32 /* 32-bit port */ \ 256*4882a593Smuzhiyun | BR_MS_SDRAM /* MSEL = SDRAM */ \ 257*4882a593Smuzhiyun | BR_V) /* Valid */ 258*4882a593Smuzhiyun /* 0xF0001861 */ 259*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR2_PRELIM CONFIG_SYS_LBC_SDRAM_BASE 260*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR2_PRELIM (LBLAWAR_EN | LBLAWAR_64MB) 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun /* 263*4882a593Smuzhiyun * The SDRAM size in MB, CONFIG_SYS_LBC_SDRAM_SIZE, is 64. 264*4882a593Smuzhiyun * 265*4882a593Smuzhiyun * For OR2, need: 266*4882a593Smuzhiyun * 64MB mask for AM, OR2[0:7] = 1111 1100 267*4882a593Smuzhiyun * XAM, OR2[17:18] = 11 268*4882a593Smuzhiyun * 9 columns OR2[19-21] = 010 269*4882a593Smuzhiyun * 13 rows OR2[23-25] = 100 270*4882a593Smuzhiyun * EAD set for extra time OR[31] = 1 271*4882a593Smuzhiyun * 272*4882a593Smuzhiyun * 0 4 8 12 16 20 24 28 273*4882a593Smuzhiyun * 1111 1100 0000 0000 0110 1001 0000 0001 = FC006901 274*4882a593Smuzhiyun */ 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun #define CONFIG_SYS_OR2_PRELIM (OR_AM_64MB \ 277*4882a593Smuzhiyun | OR_SDRAM_XAM \ 278*4882a593Smuzhiyun | ((9 - OR_SDRAM_MIN_COLS) << OR_SDRAM_COLS_SHIFT) \ 279*4882a593Smuzhiyun | ((13 - OR_SDRAM_MIN_ROWS) << OR_SDRAM_ROWS_SHIFT) \ 280*4882a593Smuzhiyun | OR_SDRAM_EAD) 281*4882a593Smuzhiyun /* 0xFC006901 */ 282*4882a593Smuzhiyun 283*4882a593Smuzhiyun /* LB sdram refresh timer, about 6us */ 284*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSRT 0x32000000 285*4882a593Smuzhiyun /* LB refresh timer prescal, 266MHz/32 */ 286*4882a593Smuzhiyun #define CONFIG_SYS_LBC_MRTPR 0x20000000 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSDMR_COMMON (LSDMR_RFEN \ 289*4882a593Smuzhiyun | LSDMR_BSMA1516 \ 290*4882a593Smuzhiyun | LSDMR_RFCR8 \ 291*4882a593Smuzhiyun | LSDMR_PRETOACT6 \ 292*4882a593Smuzhiyun | LSDMR_ACTTORW3 \ 293*4882a593Smuzhiyun | LSDMR_BL8 \ 294*4882a593Smuzhiyun | LSDMR_WRC3 \ 295*4882a593Smuzhiyun | LSDMR_CL3) 296*4882a593Smuzhiyun 297*4882a593Smuzhiyun /* 298*4882a593Smuzhiyun * SDRAM Controller configuration sequence. 299*4882a593Smuzhiyun */ 300*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSDMR_1 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_PCHALL) 301*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSDMR_2 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH) 302*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSDMR_3 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_ARFRSH) 303*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSDMR_4 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_MRW) 304*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSDMR_5 (CONFIG_SYS_LBC_LSDMR_COMMON | LSDMR_OP_NORMAL) 305*4882a593Smuzhiyun #endif 306*4882a593Smuzhiyun 307*4882a593Smuzhiyun /* 308*4882a593Smuzhiyun * Serial Port 309*4882a593Smuzhiyun */ 310*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 311*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 312*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE 1 313*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 314*4882a593Smuzhiyun 315*4882a593Smuzhiyun #define CONFIG_SYS_BAUDRATE_TABLE \ 316*4882a593Smuzhiyun {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500) 319*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600) 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 322*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun /* I2C */ 325*4882a593Smuzhiyun #define CONFIG_SYS_I2C 326*4882a593Smuzhiyun #define CONFIG_SYS_I2C_FSL 327*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SPEED 400000 328*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 329*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 330*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_SPEED 400000 331*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F 332*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100 333*4882a593Smuzhiyun #define CONFIG_SYS_I2C_NOPROBES { {0, 0x69} } 334*4882a593Smuzhiyun 335*4882a593Smuzhiyun /* SPI */ 336*4882a593Smuzhiyun #undef CONFIG_SOFT_SPI /* SPI bit-banged */ 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun /* GPIOs. Used as SPI chip selects */ 339*4882a593Smuzhiyun #define CONFIG_SYS_GPIO1_PRELIM 340*4882a593Smuzhiyun #define CONFIG_SYS_GPIO1_DIR 0xC0000000 /* SPI CS on 0, LED on 1 */ 341*4882a593Smuzhiyun #define CONFIG_SYS_GPIO1_DAT 0xC0000000 /* Both are active LOW */ 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun /* TSEC */ 344*4882a593Smuzhiyun #define CONFIG_SYS_TSEC1_OFFSET 0x24000 345*4882a593Smuzhiyun #define CONFIG_SYS_TSEC1 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC1_OFFSET) 346*4882a593Smuzhiyun #define CONFIG_SYS_TSEC2_OFFSET 0x25000 347*4882a593Smuzhiyun #define CONFIG_SYS_TSEC2 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC2_OFFSET) 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun /* USB */ 350*4882a593Smuzhiyun #define CONFIG_SYS_USE_MPC834XSYS_USB_PHY 1 /* Use SYS board PHY */ 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun /* 353*4882a593Smuzhiyun * General PCI 354*4882a593Smuzhiyun * Addresses are mapped 1-1. 355*4882a593Smuzhiyun */ 356*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_BASE 0x80000000 357*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE 358*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */ 359*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_BASE 0x90000000 360*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_PHYS CONFIG_SYS_PCI1_MMIO_BASE 361*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_SIZE 0x10000000 /* 256M */ 362*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_BASE 0x00000000 363*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_PHYS 0xE2000000 364*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_SIZE 0x00100000 /* 1M */ 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_MEM_BASE 0xA0000000 367*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_MEM_PHYS CONFIG_SYS_PCI2_MEM_BASE 368*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_MEM_SIZE 0x10000000 /* 256M */ 369*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_MMIO_BASE 0xB0000000 370*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_MMIO_PHYS CONFIG_SYS_PCI2_MMIO_BASE 371*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_MMIO_SIZE 0x10000000 /* 256M */ 372*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_IO_BASE 0x00000000 373*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_IO_PHYS 0xE2100000 374*4882a593Smuzhiyun #define CONFIG_SYS_PCI2_IO_SIZE 0x00100000 /* 1M */ 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun #if defined(CONFIG_PCI) 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun #define PCI_ONE_PCI1 379*4882a593Smuzhiyun #if defined(PCI_64BIT) 380*4882a593Smuzhiyun #undef PCI_ALL_PCI1 381*4882a593Smuzhiyun #undef PCI_TWO_PCI1 382*4882a593Smuzhiyun #undef PCI_ONE_PCI1 383*4882a593Smuzhiyun #endif 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun #define CONFIG_83XX_PCI_STREAMING 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun #undef CONFIG_EEPRO100 388*4882a593Smuzhiyun #undef CONFIG_TULIP 389*4882a593Smuzhiyun 390*4882a593Smuzhiyun #if !defined(CONFIG_PCI_PNP) 391*4882a593Smuzhiyun #define PCI_ENET0_IOADDR 0xFIXME 392*4882a593Smuzhiyun #define PCI_ENET0_MEMADDR 0xFIXME 393*4882a593Smuzhiyun #define PCI_IDSEL_NUMBER 0x0c /* slot0->3(IDSEL)=12->15 */ 394*4882a593Smuzhiyun #endif 395*4882a593Smuzhiyun 396*4882a593Smuzhiyun #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 397*4882a593Smuzhiyun #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 398*4882a593Smuzhiyun 399*4882a593Smuzhiyun #endif /* CONFIG_PCI */ 400*4882a593Smuzhiyun 401*4882a593Smuzhiyun /* 402*4882a593Smuzhiyun * TSEC configuration 403*4882a593Smuzhiyun */ 404*4882a593Smuzhiyun #define CONFIG_TSEC_ENET /* TSEC ethernet support */ 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun #if defined(CONFIG_TSEC_ENET) 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun #define CONFIG_GMII 1 /* MII PHY management */ 409*4882a593Smuzhiyun #define CONFIG_TSEC1 1 410*4882a593Smuzhiyun #define CONFIG_TSEC1_NAME "TSEC0" 411*4882a593Smuzhiyun #define CONFIG_TSEC2 1 412*4882a593Smuzhiyun #define CONFIG_TSEC2_NAME "TSEC1" 413*4882a593Smuzhiyun #define TSEC1_PHY_ADDR 0 414*4882a593Smuzhiyun #define TSEC2_PHY_ADDR 1 415*4882a593Smuzhiyun #define TSEC1_PHYIDX 0 416*4882a593Smuzhiyun #define TSEC2_PHYIDX 0 417*4882a593Smuzhiyun #define TSEC1_FLAGS TSEC_GIGABIT 418*4882a593Smuzhiyun #define TSEC2_FLAGS TSEC_GIGABIT 419*4882a593Smuzhiyun 420*4882a593Smuzhiyun /* Options are: TSEC[0-1] */ 421*4882a593Smuzhiyun #define CONFIG_ETHPRIME "TSEC0" 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun #endif /* CONFIG_TSEC_ENET */ 424*4882a593Smuzhiyun 425*4882a593Smuzhiyun /* 426*4882a593Smuzhiyun * Configure on-board RTC 427*4882a593Smuzhiyun */ 428*4882a593Smuzhiyun #define CONFIG_RTC_DS1374 /* use ds1374 rtc via i2c */ 429*4882a593Smuzhiyun #define CONFIG_SYS_I2C_RTC_ADDR 0x68 /* at address 0x68 */ 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun /* 432*4882a593Smuzhiyun * Environment 433*4882a593Smuzhiyun */ 434*4882a593Smuzhiyun #ifndef CONFIG_SYS_RAMBOOT 435*4882a593Smuzhiyun #define CONFIG_ENV_ADDR \ 436*4882a593Smuzhiyun (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 437*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */ 438*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 439*4882a593Smuzhiyun 440*4882a593Smuzhiyun /* Address and size of Redundant Environment Sector */ 441*4882a593Smuzhiyun #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) 442*4882a593Smuzhiyun #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) 443*4882a593Smuzhiyun 444*4882a593Smuzhiyun #else 445*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000) 446*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 447*4882a593Smuzhiyun #endif 448*4882a593Smuzhiyun 449*4882a593Smuzhiyun #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 450*4882a593Smuzhiyun #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 451*4882a593Smuzhiyun 452*4882a593Smuzhiyun /* 453*4882a593Smuzhiyun * BOOTP options 454*4882a593Smuzhiyun */ 455*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 456*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 457*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 458*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 459*4882a593Smuzhiyun 460*4882a593Smuzhiyun /* 461*4882a593Smuzhiyun * Command line configuration. 462*4882a593Smuzhiyun */ 463*4882a593Smuzhiyun 464*4882a593Smuzhiyun #undef CONFIG_WATCHDOG /* watchdog disabled */ 465*4882a593Smuzhiyun 466*4882a593Smuzhiyun /* 467*4882a593Smuzhiyun * Miscellaneous configurable options 468*4882a593Smuzhiyun */ 469*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 470*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 471*4882a593Smuzhiyun 472*4882a593Smuzhiyun /* 473*4882a593Smuzhiyun * For booting Linux, the board info and command line data 474*4882a593Smuzhiyun * have to be in the first 256 MB of memory, since this is 475*4882a593Smuzhiyun * the maximum mapped by the Linux kernel during initialization. 476*4882a593Smuzhiyun */ 477*4882a593Smuzhiyun /* Initial Memory map for Linux*/ 478*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ (256 << 20) 479*4882a593Smuzhiyun #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 480*4882a593Smuzhiyun 481*4882a593Smuzhiyun #define CONFIG_SYS_RCWH_PCIHOST 0x80000000 /* PCIHOST */ 482*4882a593Smuzhiyun 483*4882a593Smuzhiyun #if 1 /*528/264*/ 484*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 485*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 486*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_1X1 |\ 487*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN |\ 488*4882a593Smuzhiyun HRCWL_VCO_1X2 |\ 489*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_2X1) 490*4882a593Smuzhiyun #elif 0 /*396/132*/ 491*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 492*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 493*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_1X1 |\ 494*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN |\ 495*4882a593Smuzhiyun HRCWL_VCO_1X4 |\ 496*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_3X1) 497*4882a593Smuzhiyun #elif 0 /*264/132*/ 498*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 499*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 500*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_1X1 |\ 501*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN |\ 502*4882a593Smuzhiyun HRCWL_VCO_1X4 |\ 503*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_2X1) 504*4882a593Smuzhiyun #elif 0 /*132/132*/ 505*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 506*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 507*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_1X1 |\ 508*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN |\ 509*4882a593Smuzhiyun HRCWL_VCO_1X4 |\ 510*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_1X1) 511*4882a593Smuzhiyun #elif 0 /*264/264 */ 512*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 513*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 514*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_1X1 |\ 515*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN |\ 516*4882a593Smuzhiyun HRCWL_VCO_1X4 |\ 517*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_1X1) 518*4882a593Smuzhiyun #endif 519*4882a593Smuzhiyun 520*4882a593Smuzhiyun #ifdef CONFIG_PCISLAVE 521*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 522*4882a593Smuzhiyun HRCWH_PCI_AGENT |\ 523*4882a593Smuzhiyun HRCWH_64_BIT_PCI |\ 524*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_DISABLE |\ 525*4882a593Smuzhiyun HRCWH_PCI2_ARBITER_DISABLE |\ 526*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 527*4882a593Smuzhiyun HRCWH_FROM_0X00000100 |\ 528*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 529*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 530*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 531*4882a593Smuzhiyun HRCWH_TSEC1M_IN_GMII |\ 532*4882a593Smuzhiyun HRCWH_TSEC2M_IN_GMII) 533*4882a593Smuzhiyun #else 534*4882a593Smuzhiyun #if defined(PCI_64BIT) 535*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 536*4882a593Smuzhiyun HRCWH_PCI_HOST |\ 537*4882a593Smuzhiyun HRCWH_64_BIT_PCI |\ 538*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_ENABLE |\ 539*4882a593Smuzhiyun HRCWH_PCI2_ARBITER_DISABLE |\ 540*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 541*4882a593Smuzhiyun HRCWH_FROM_0X00000100 |\ 542*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 543*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 544*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 545*4882a593Smuzhiyun HRCWH_TSEC1M_IN_GMII |\ 546*4882a593Smuzhiyun HRCWH_TSEC2M_IN_GMII) 547*4882a593Smuzhiyun #else 548*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 549*4882a593Smuzhiyun HRCWH_PCI_HOST |\ 550*4882a593Smuzhiyun HRCWH_32_BIT_PCI |\ 551*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_ENABLE |\ 552*4882a593Smuzhiyun HRCWH_PCI2_ARBITER_ENABLE |\ 553*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 554*4882a593Smuzhiyun HRCWH_FROM_0X00000100 |\ 555*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 556*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 557*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 558*4882a593Smuzhiyun HRCWH_TSEC1M_IN_GMII |\ 559*4882a593Smuzhiyun HRCWH_TSEC2M_IN_GMII) 560*4882a593Smuzhiyun #endif /* PCI_64BIT */ 561*4882a593Smuzhiyun #endif /* CONFIG_PCISLAVE */ 562*4882a593Smuzhiyun 563*4882a593Smuzhiyun /* 564*4882a593Smuzhiyun * System performance 565*4882a593Smuzhiyun */ 566*4882a593Smuzhiyun #define CONFIG_SYS_ACR_PIPE_DEP 3 /* Arbiter pipeline depth (0-3) */ 567*4882a593Smuzhiyun #define CONFIG_SYS_ACR_RPTCNT 3 /* Arbiter repeat count (0-7) */ 568*4882a593Smuzhiyun #define CONFIG_SYS_SPCR_TSEC1EP 3 /* TSEC1 emergency priority (0-3) */ 569*4882a593Smuzhiyun #define CONFIG_SYS_SPCR_TSEC2EP 3 /* TSEC2 emergency priority (0-3) */ 570*4882a593Smuzhiyun #define CONFIG_SYS_SCCR_TSEC1CM 1 /* TSEC1 clock mode (0-3) */ 571*4882a593Smuzhiyun #define CONFIG_SYS_SCCR_TSEC2CM 1 /* TSEC2 & I2C0 clock mode (0-3) */ 572*4882a593Smuzhiyun 573*4882a593Smuzhiyun /* System IO Config */ 574*4882a593Smuzhiyun #define CONFIG_SYS_SICRH 0 575*4882a593Smuzhiyun #define CONFIG_SYS_SICRL SICRL_LDP_A 576*4882a593Smuzhiyun 577*4882a593Smuzhiyun #define CONFIG_SYS_HID0_INIT 0x000000000 578*4882a593Smuzhiyun #define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK \ 579*4882a593Smuzhiyun | HID0_ENABLE_INSTRUCTION_CACHE) 580*4882a593Smuzhiyun 581*4882a593Smuzhiyun /* #define CONFIG_SYS_HID0_FINAL (\ 582*4882a593Smuzhiyun HID0_ENABLE_INSTRUCTION_CACHE |\ 583*4882a593Smuzhiyun HID0_ENABLE_M_BIT |\ 584*4882a593Smuzhiyun HID0_ENABLE_ADDRESS_BROADCAST) */ 585*4882a593Smuzhiyun 586*4882a593Smuzhiyun #define CONFIG_SYS_HID2 HID2_HBE 587*4882a593Smuzhiyun #define CONFIG_HIGH_BATS 1 /* High BATs supported */ 588*4882a593Smuzhiyun 589*4882a593Smuzhiyun /* DDR @ 0x00000000 */ 590*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE \ 591*4882a593Smuzhiyun | BATL_PP_RW \ 592*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 593*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE \ 594*4882a593Smuzhiyun | BATU_BL_256M \ 595*4882a593Smuzhiyun | BATU_VS \ 596*4882a593Smuzhiyun | BATU_VP) 597*4882a593Smuzhiyun 598*4882a593Smuzhiyun /* PCI @ 0x80000000 */ 599*4882a593Smuzhiyun #ifdef CONFIG_PCI 600*4882a593Smuzhiyun #define CONFIG_PCI_INDIRECT_BRIDGE 601*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1L (CONFIG_SYS_PCI1_MEM_BASE \ 602*4882a593Smuzhiyun | BATL_PP_RW \ 603*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 604*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1U (CONFIG_SYS_PCI1_MEM_BASE \ 605*4882a593Smuzhiyun | BATU_BL_256M \ 606*4882a593Smuzhiyun | BATU_VS \ 607*4882a593Smuzhiyun | BATU_VP) 608*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2L (CONFIG_SYS_PCI1_MMIO_BASE \ 609*4882a593Smuzhiyun | BATL_PP_RW \ 610*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 611*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 612*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2U (CONFIG_SYS_PCI1_MMIO_BASE \ 613*4882a593Smuzhiyun | BATU_BL_256M \ 614*4882a593Smuzhiyun | BATU_VS \ 615*4882a593Smuzhiyun | BATU_VP) 616*4882a593Smuzhiyun #else 617*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1L (0) 618*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1U (0) 619*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2L (0) 620*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2U (0) 621*4882a593Smuzhiyun #endif 622*4882a593Smuzhiyun 623*4882a593Smuzhiyun #ifdef CONFIG_MPC83XX_PCI2 624*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3L (CONFIG_SYS_PCI2_MEM_BASE \ 625*4882a593Smuzhiyun | BATL_PP_RW \ 626*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 627*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3U (CONFIG_SYS_PCI2_MEM_BASE \ 628*4882a593Smuzhiyun | BATU_BL_256M \ 629*4882a593Smuzhiyun | BATU_VS \ 630*4882a593Smuzhiyun | BATU_VP) 631*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4L (CONFIG_SYS_PCI2_MMIO_BASE \ 632*4882a593Smuzhiyun | BATL_PP_RW \ 633*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 634*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 635*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4U (CONFIG_SYS_PCI2_MMIO_BASE \ 636*4882a593Smuzhiyun | BATU_BL_256M \ 637*4882a593Smuzhiyun | BATU_VS \ 638*4882a593Smuzhiyun | BATU_VP) 639*4882a593Smuzhiyun #else 640*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3L (0) 641*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3U (0) 642*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4L (0) 643*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4U (0) 644*4882a593Smuzhiyun #endif 645*4882a593Smuzhiyun 646*4882a593Smuzhiyun /* IMMRBAR @ 0xE0000000, PCI IO @ 0xE2000000 & BCSR @ 0xE2400000 */ 647*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5L (CONFIG_SYS_IMMR \ 648*4882a593Smuzhiyun | BATL_PP_RW \ 649*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 650*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 651*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5U (CONFIG_SYS_IMMR \ 652*4882a593Smuzhiyun | BATU_BL_256M \ 653*4882a593Smuzhiyun | BATU_VS \ 654*4882a593Smuzhiyun | BATU_VP) 655*4882a593Smuzhiyun 656*4882a593Smuzhiyun /* SDRAM @ 0xF0000000, stack in DCACHE 0xFDF00000 & FLASH @ 0xFE000000 */ 657*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6L (0xF0000000 \ 658*4882a593Smuzhiyun | BATL_PP_RW \ 659*4882a593Smuzhiyun | BATL_MEMCOHERENCE \ 660*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 661*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6U (0xF0000000 \ 662*4882a593Smuzhiyun | BATU_BL_256M \ 663*4882a593Smuzhiyun | BATU_VS \ 664*4882a593Smuzhiyun | BATU_VP) 665*4882a593Smuzhiyun 666*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7L (0) 667*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7U (0) 668*4882a593Smuzhiyun 669*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L 670*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U 671*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L 672*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U 673*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L 674*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U 675*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L 676*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U 677*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4L CONFIG_SYS_IBAT4L 678*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U 679*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 680*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 681*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 682*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 683*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L 684*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U 685*4882a593Smuzhiyun 686*4882a593Smuzhiyun #if defined(CONFIG_CMD_KGDB) 687*4882a593Smuzhiyun #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ 688*4882a593Smuzhiyun #endif 689*4882a593Smuzhiyun 690*4882a593Smuzhiyun /* 691*4882a593Smuzhiyun * Environment Configuration 692*4882a593Smuzhiyun */ 693*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 694*4882a593Smuzhiyun 695*4882a593Smuzhiyun #if defined(CONFIG_TSEC_ENET) 696*4882a593Smuzhiyun #define CONFIG_HAS_ETH1 697*4882a593Smuzhiyun #define CONFIG_HAS_ETH0 698*4882a593Smuzhiyun #endif 699*4882a593Smuzhiyun 700*4882a593Smuzhiyun #define CONFIG_HOSTNAME mpc8349emds 701*4882a593Smuzhiyun #define CONFIG_ROOTPATH "/nfsroot/rootfs" 702*4882a593Smuzhiyun #define CONFIG_BOOTFILE "uImage" 703*4882a593Smuzhiyun 704*4882a593Smuzhiyun #define CONFIG_LOADADDR 800000 /* default location for tftp and bootm */ 705*4882a593Smuzhiyun 706*4882a593Smuzhiyun #define CONFIG_PREBOOT "echo;" \ 707*4882a593Smuzhiyun "echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \ 708*4882a593Smuzhiyun "echo" 709*4882a593Smuzhiyun 710*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 711*4882a593Smuzhiyun "netdev=eth0\0" \ 712*4882a593Smuzhiyun "hostname=mpc8349emds\0" \ 713*4882a593Smuzhiyun "nfsargs=setenv bootargs root=/dev/nfs rw " \ 714*4882a593Smuzhiyun "nfsroot=${serverip}:${rootpath}\0" \ 715*4882a593Smuzhiyun "ramargs=setenv bootargs root=/dev/ram rw\0" \ 716*4882a593Smuzhiyun "addip=setenv bootargs ${bootargs} " \ 717*4882a593Smuzhiyun "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ 718*4882a593Smuzhiyun ":${hostname}:${netdev}:off panic=1\0" \ 719*4882a593Smuzhiyun "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\ 720*4882a593Smuzhiyun "flash_nfs=run nfsargs addip addtty;" \ 721*4882a593Smuzhiyun "bootm ${kernel_addr}\0" \ 722*4882a593Smuzhiyun "flash_self=run ramargs addip addtty;" \ 723*4882a593Smuzhiyun "bootm ${kernel_addr} ${ramdisk_addr}\0" \ 724*4882a593Smuzhiyun "net_nfs=tftp 200000 ${bootfile};run nfsargs addip addtty;" \ 725*4882a593Smuzhiyun "bootm\0" \ 726*4882a593Smuzhiyun "load=tftp 100000 /tftpboot/mpc8349emds/u-boot.bin\0" \ 727*4882a593Smuzhiyun "update=protect off fe000000 fe03ffff; " \ 728*4882a593Smuzhiyun "era fe000000 fe03ffff; cp.b 100000 fe000000 ${filesize}\0"\ 729*4882a593Smuzhiyun "upd=run load update\0" \ 730*4882a593Smuzhiyun "fdtaddr=780000\0" \ 731*4882a593Smuzhiyun "fdtfile=mpc834x_mds.dtb\0" \ 732*4882a593Smuzhiyun "" 733*4882a593Smuzhiyun 734*4882a593Smuzhiyun #define CONFIG_NFSBOOTCOMMAND \ 735*4882a593Smuzhiyun "setenv bootargs root=/dev/nfs rw " \ 736*4882a593Smuzhiyun "nfsroot=$serverip:$rootpath " \ 737*4882a593Smuzhiyun "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:" \ 738*4882a593Smuzhiyun "$netdev:off " \ 739*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs;" \ 740*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 741*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 742*4882a593Smuzhiyun "bootm $loadaddr - $fdtaddr" 743*4882a593Smuzhiyun 744*4882a593Smuzhiyun #define CONFIG_RAMBOOTCOMMAND \ 745*4882a593Smuzhiyun "setenv bootargs root=/dev/ram rw " \ 746*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs;" \ 747*4882a593Smuzhiyun "tftp $ramdiskaddr $ramdiskfile;" \ 748*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 749*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 750*4882a593Smuzhiyun "bootm $loadaddr $ramdiskaddr $fdtaddr" 751*4882a593Smuzhiyun 752*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run flash_self" 753*4882a593Smuzhiyun 754*4882a593Smuzhiyun #endif /* __CONFIG_H */ 755