1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2006 Freescale Semiconductor, Inc. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef __CONFIG_H 8*4882a593Smuzhiyun #define __CONFIG_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun /* 11*4882a593Smuzhiyun * High Level Configuration Options 12*4882a593Smuzhiyun */ 13*4882a593Smuzhiyun #define CONFIG_E300 1 /* E300 family */ 14*4882a593Smuzhiyun #define CONFIG_QE 1 /* Has QE */ 15*4882a593Smuzhiyun #define CONFIG_MPC832x 1 /* MPC832x CPU specific */ 16*4882a593Smuzhiyun #define CONFIG_MPC832XEMDS 1 /* MPC832XEMDS board specific */ 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0xFE000000 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun /* 21*4882a593Smuzhiyun * System Clock Setup 22*4882a593Smuzhiyun */ 23*4882a593Smuzhiyun #ifdef CONFIG_PCISLAVE 24*4882a593Smuzhiyun #define CONFIG_83XX_PCICLK 66000000 /* in HZ */ 25*4882a593Smuzhiyun #else 26*4882a593Smuzhiyun #define CONFIG_83XX_CLKIN 66000000 /* in Hz */ 27*4882a593Smuzhiyun #endif 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun #ifndef CONFIG_SYS_CLK_FREQ 30*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 66000000 31*4882a593Smuzhiyun #endif 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun /* 34*4882a593Smuzhiyun * Hardware Reset Configuration Word 35*4882a593Smuzhiyun */ 36*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 37*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 38*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_2X1 |\ 39*4882a593Smuzhiyun HRCWL_VCO_1X2 |\ 40*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN_2X1 |\ 41*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_2X1 |\ 42*4882a593Smuzhiyun HRCWL_CE_PLL_VCO_DIV_2 |\ 43*4882a593Smuzhiyun HRCWL_CE_PLL_DIV_1X1 |\ 44*4882a593Smuzhiyun HRCWL_CE_TO_PLL_1X3) 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #ifdef CONFIG_PCISLAVE 47*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 48*4882a593Smuzhiyun HRCWH_PCI_AGENT |\ 49*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_DISABLE |\ 50*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 51*4882a593Smuzhiyun HRCWH_FROM_0XFFF00100 |\ 52*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 53*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 54*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 55*4882a593Smuzhiyun HRCWH_BIG_ENDIAN |\ 56*4882a593Smuzhiyun HRCWH_LALE_NORMAL) 57*4882a593Smuzhiyun #else 58*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 59*4882a593Smuzhiyun HRCWH_PCI_HOST |\ 60*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_ENABLE |\ 61*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 62*4882a593Smuzhiyun HRCWH_FROM_0X00000100 |\ 63*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 64*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 65*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 66*4882a593Smuzhiyun HRCWH_BIG_ENDIAN |\ 67*4882a593Smuzhiyun HRCWH_LALE_NORMAL) 68*4882a593Smuzhiyun #endif 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun /* 71*4882a593Smuzhiyun * System IO Config 72*4882a593Smuzhiyun */ 73*4882a593Smuzhiyun #define CONFIG_SYS_SICRL 0x00000000 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun #define CONFIG_BOARD_EARLY_INIT_R 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun /* 78*4882a593Smuzhiyun * IMMR new address 79*4882a593Smuzhiyun */ 80*4882a593Smuzhiyun #define CONFIG_SYS_IMMR 0xE0000000 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun /* 83*4882a593Smuzhiyun * DDR Setup 84*4882a593Smuzhiyun */ 85*4882a593Smuzhiyun #define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory */ 86*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE 87*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE 88*4882a593Smuzhiyun #define CONFIG_SYS_DDRCDR 0x73000002 /* DDR II voltage is 1.8V */ 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun #undef CONFIG_SPD_EEPROM 91*4882a593Smuzhiyun #if defined(CONFIG_SPD_EEPROM) 92*4882a593Smuzhiyun /* Determine DDR configuration from I2C interface 93*4882a593Smuzhiyun */ 94*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS 0x51 /* DDR SODIMM */ 95*4882a593Smuzhiyun #else 96*4882a593Smuzhiyun /* Manually set up DDR parameters 97*4882a593Smuzhiyun */ 98*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SIZE 128 /* MB */ 99*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN \ 100*4882a593Smuzhiyun | CSCONFIG_AP \ 101*4882a593Smuzhiyun | CSCONFIG_ODT_WR_CFG \ 102*4882a593Smuzhiyun | CSCONFIG_ROW_BIT_13 \ 103*4882a593Smuzhiyun | CSCONFIG_COL_BIT_10) 104*4882a593Smuzhiyun /* 0x80840102 */ 105*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_0 ((0 << TIMING_CFG0_RWT_SHIFT) \ 106*4882a593Smuzhiyun | (0 << TIMING_CFG0_WRT_SHIFT) \ 107*4882a593Smuzhiyun | (0 << TIMING_CFG0_RRT_SHIFT) \ 108*4882a593Smuzhiyun | (0 << TIMING_CFG0_WWT_SHIFT) \ 109*4882a593Smuzhiyun | (2 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) \ 110*4882a593Smuzhiyun | (2 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) \ 111*4882a593Smuzhiyun | (8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) \ 112*4882a593Smuzhiyun | (2 << TIMING_CFG0_MRS_CYC_SHIFT)) 113*4882a593Smuzhiyun /* 0x00220802 */ 114*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_1 ((3 << TIMING_CFG1_PRETOACT_SHIFT) \ 115*4882a593Smuzhiyun | (9 << TIMING_CFG1_ACTTOPRE_SHIFT) \ 116*4882a593Smuzhiyun | (3 << TIMING_CFG1_ACTTORW_SHIFT) \ 117*4882a593Smuzhiyun | (5 << TIMING_CFG1_CASLAT_SHIFT) \ 118*4882a593Smuzhiyun | (13 << TIMING_CFG1_REFREC_SHIFT) \ 119*4882a593Smuzhiyun | (3 << TIMING_CFG1_WRREC_SHIFT) \ 120*4882a593Smuzhiyun | (2 << TIMING_CFG1_ACTTOACT_SHIFT) \ 121*4882a593Smuzhiyun | (2 << TIMING_CFG1_WRTORD_SHIFT)) 122*4882a593Smuzhiyun /* 0x3935D322 */ 123*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_2 ((0 << TIMING_CFG2_ADD_LAT_SHIFT) \ 124*4882a593Smuzhiyun | (31 << TIMING_CFG2_CPO_SHIFT) \ 125*4882a593Smuzhiyun | (2 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) \ 126*4882a593Smuzhiyun | (2 << TIMING_CFG2_RD_TO_PRE_SHIFT) \ 127*4882a593Smuzhiyun | (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) \ 128*4882a593Smuzhiyun | (3 << TIMING_CFG2_CKE_PLS_SHIFT) \ 129*4882a593Smuzhiyun | (10 << TIMING_CFG2_FOUR_ACT_SHIFT)) 130*4882a593Smuzhiyun /* 0x0F9048CA */ 131*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_3 0x00000000 132*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05 133*4882a593Smuzhiyun /* 0x02000000 */ 134*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE ((0x4440 << SDRAM_MODE_ESD_SHIFT) \ 135*4882a593Smuzhiyun | (0x0232 << SDRAM_MODE_SD_SHIFT)) 136*4882a593Smuzhiyun /* 0x44400232 */ 137*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE2 0x8000c000 138*4882a593Smuzhiyun #define CONFIG_SYS_DDR_INTERVAL ((800 << SDRAM_INTERVAL_REFINT_SHIFT) \ 139*4882a593Smuzhiyun | (100 << SDRAM_INTERVAL_BSTOPRE_SHIFT)) 140*4882a593Smuzhiyun /* 0x03200064 */ 141*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_BNDS 0x00000007 142*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG (SDRAM_CFG_SREN \ 143*4882a593Smuzhiyun | SDRAM_CFG_SDRAM_TYPE_DDR2 \ 144*4882a593Smuzhiyun | SDRAM_CFG_32_BE) 145*4882a593Smuzhiyun /* 0x43080000 */ 146*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG2 0x00401000 147*4882a593Smuzhiyun #endif 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun /* 150*4882a593Smuzhiyun * Memory test 151*4882a593Smuzhiyun */ 152*4882a593Smuzhiyun #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ 153*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x00000000 /* memtest region */ 154*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x00100000 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun /* 157*4882a593Smuzhiyun * The reserved memory 158*4882a593Smuzhiyun */ 159*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) 162*4882a593Smuzhiyun #define CONFIG_SYS_RAMBOOT 163*4882a593Smuzhiyun #else 164*4882a593Smuzhiyun #undef CONFIG_SYS_RAMBOOT 165*4882a593Smuzhiyun #endif 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun /* CONFIG_SYS_MONITOR_LEN must be a multiple of CONFIG_ENV_SECT_SIZE */ 168*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Mon */ 169*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserved for malloc */ 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun /* 172*4882a593Smuzhiyun * Initial RAM Base Address Setup 173*4882a593Smuzhiyun */ 174*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_LOCK 1 175*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR 0xE6000000 /* Initial RAM addr */ 176*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM */ 177*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET \ 178*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 179*4882a593Smuzhiyun 180*4882a593Smuzhiyun /* 181*4882a593Smuzhiyun * Local Bus Configuration & Clock Setup 182*4882a593Smuzhiyun */ 183*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_DBYP LCRR_DBYP 184*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_2 185*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LBCR 0x00000000 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun /* 188*4882a593Smuzhiyun * FLASH on the Local Bus 189*4882a593Smuzhiyun */ 190*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI /* use the Common Flash Interface */ 191*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER /* use the CFI driver */ 192*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0xFE000000 /* FLASH base address */ 193*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_SIZE 16 /* FLASH size is 16M */ 194*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_PROTECTION 1 /* Use h/w Flash protection. */ 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun /* Window base at flash base */ 197*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR0_PRELIM CONFIG_SYS_FLASH_BASE 198*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR0_PRELIM (LBLAWAR_EN | LBLAWAR_32MB) 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE \ 201*4882a593Smuzhiyun | BR_PS_16 /* 16 bit port */ \ 202*4882a593Smuzhiyun | BR_MS_GPCM /* MSEL = GPCM */ \ 203*4882a593Smuzhiyun | BR_V) /* valid */ 204*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM (MEG_TO_AM(CONFIG_SYS_FLASH_SIZE) \ 205*4882a593Smuzhiyun | OR_GPCM_XAM \ 206*4882a593Smuzhiyun | OR_GPCM_CSNT \ 207*4882a593Smuzhiyun | OR_GPCM_ACS_DIV2 \ 208*4882a593Smuzhiyun | OR_GPCM_XACS \ 209*4882a593Smuzhiyun | OR_GPCM_SCY_15 \ 210*4882a593Smuzhiyun | OR_GPCM_TRLX_SET \ 211*4882a593Smuzhiyun | OR_GPCM_EHTR_SET \ 212*4882a593Smuzhiyun | OR_GPCM_EAD) 213*4882a593Smuzhiyun /* 0xfe006ff7 */ 214*4882a593Smuzhiyun 215*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 216*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 128 /* sectors per device */ 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun #undef CONFIG_SYS_FLASH_CHECKSUM 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun /* 221*4882a593Smuzhiyun * BCSR on the Local Bus 222*4882a593Smuzhiyun */ 223*4882a593Smuzhiyun #define CONFIG_SYS_BCSR 0xF8000000 224*4882a593Smuzhiyun /* Access window base at BCSR base */ 225*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR1_PRELIM CONFIG_SYS_BCSR 226*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR1_PRELIM (LBLAWAR_EN | LBLAWAR_32KB) 227*4882a593Smuzhiyun 228*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_BCSR \ 229*4882a593Smuzhiyun | BR_PS_8 \ 230*4882a593Smuzhiyun | BR_MS_GPCM \ 231*4882a593Smuzhiyun | BR_V) 232*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM (OR_AM_32KB \ 233*4882a593Smuzhiyun | OR_GPCM_XAM \ 234*4882a593Smuzhiyun | OR_GPCM_CSNT \ 235*4882a593Smuzhiyun | OR_GPCM_XACS \ 236*4882a593Smuzhiyun | OR_GPCM_SCY_15 \ 237*4882a593Smuzhiyun | OR_GPCM_TRLX_SET \ 238*4882a593Smuzhiyun | OR_GPCM_EHTR_SET \ 239*4882a593Smuzhiyun | OR_GPCM_EAD) 240*4882a593Smuzhiyun /* 0xFFFFE9F7 */ 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun /* 243*4882a593Smuzhiyun * Windows to access PIB via local bus 244*4882a593Smuzhiyun */ 245*4882a593Smuzhiyun /* PIB window base 0xF8008000 */ 246*4882a593Smuzhiyun #define CONFIG_SYS_PIB_BASE 0xF8008000 247*4882a593Smuzhiyun #define CONFIG_SYS_PIB_WINDOW_SIZE (32 * 1024) 248*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR3_PRELIM CONFIG_SYS_PIB_BASE 249*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR3_PRELIM (LBLAWAR_EN | LBLAWAR_64KB) 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun /* 252*4882a593Smuzhiyun * CS2 on Local Bus, to PIB 253*4882a593Smuzhiyun */ 254*4882a593Smuzhiyun #define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_PIB_BASE \ 255*4882a593Smuzhiyun | BR_PS_8 \ 256*4882a593Smuzhiyun | BR_MS_GPCM \ 257*4882a593Smuzhiyun | BR_V) 258*4882a593Smuzhiyun /* 0xF8008801 */ 259*4882a593Smuzhiyun #define CONFIG_SYS_OR2_PRELIM (P2SZ_TO_AM(CONFIG_SYS_PIB_WINDOW_SIZE) \ 260*4882a593Smuzhiyun | OR_GPCM_XAM \ 261*4882a593Smuzhiyun | OR_GPCM_CSNT \ 262*4882a593Smuzhiyun | OR_GPCM_XACS \ 263*4882a593Smuzhiyun | OR_GPCM_SCY_15 \ 264*4882a593Smuzhiyun | OR_GPCM_TRLX_SET \ 265*4882a593Smuzhiyun | OR_GPCM_EHTR_SET \ 266*4882a593Smuzhiyun | OR_GPCM_EAD) 267*4882a593Smuzhiyun /* 0xffffe9f7 */ 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun /* 270*4882a593Smuzhiyun * CS3 on Local Bus, to PIB 271*4882a593Smuzhiyun */ 272*4882a593Smuzhiyun #define CONFIG_SYS_BR3_PRELIM ((CONFIG_SYS_PIB_BASE + \ 273*4882a593Smuzhiyun CONFIG_SYS_PIB_WINDOW_SIZE) \ 274*4882a593Smuzhiyun | BR_PS_8 \ 275*4882a593Smuzhiyun | BR_MS_GPCM \ 276*4882a593Smuzhiyun | BR_V) 277*4882a593Smuzhiyun /* 0xF8010801 */ 278*4882a593Smuzhiyun #define CONFIG_SYS_OR3_PRELIM (P2SZ_TO_AM(CONFIG_SYS_PIB_WINDOW_SIZE) \ 279*4882a593Smuzhiyun | OR_GPCM_XAM \ 280*4882a593Smuzhiyun | OR_GPCM_CSNT \ 281*4882a593Smuzhiyun | OR_GPCM_XACS \ 282*4882a593Smuzhiyun | OR_GPCM_SCY_15 \ 283*4882a593Smuzhiyun | OR_GPCM_TRLX_SET \ 284*4882a593Smuzhiyun | OR_GPCM_EHTR_SET \ 285*4882a593Smuzhiyun | OR_GPCM_EAD) 286*4882a593Smuzhiyun /* 0xffffe9f7 */ 287*4882a593Smuzhiyun 288*4882a593Smuzhiyun /* 289*4882a593Smuzhiyun * Serial Port 290*4882a593Smuzhiyun */ 291*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 292*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 293*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE 1 294*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun #define CONFIG_SYS_BAUDRATE_TABLE \ 297*4882a593Smuzhiyun {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR+0x4500) 300*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR+0x4600) 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 303*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 304*4882a593Smuzhiyun 305*4882a593Smuzhiyun /* I2C */ 306*4882a593Smuzhiyun #define CONFIG_SYS_I2C 307*4882a593Smuzhiyun #define CONFIG_SYS_I2C_FSL 308*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SPEED 400000 309*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 310*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 311*4882a593Smuzhiyun #define CONFIG_SYS_I2C_NOPROBES { {0, 0x51} } 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun /* 314*4882a593Smuzhiyun * Config on-board RTC 315*4882a593Smuzhiyun */ 316*4882a593Smuzhiyun #define CONFIG_RTC_DS1374 /* use ds1374 rtc via i2c */ 317*4882a593Smuzhiyun #define CONFIG_SYS_I2C_RTC_ADDR 0x68 /* at address 0x68 */ 318*4882a593Smuzhiyun 319*4882a593Smuzhiyun /* 320*4882a593Smuzhiyun * General PCI 321*4882a593Smuzhiyun * Addresses are mapped 1-1. 322*4882a593Smuzhiyun */ 323*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_BASE 0x80000000 324*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE 325*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */ 326*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_BASE 0x90000000 327*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_PHYS CONFIG_SYS_PCI1_MMIO_BASE 328*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_SIZE 0x10000000 /* 256M */ 329*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_BASE 0x00000000 330*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_PHYS 0xE0300000 331*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_SIZE 0x100000 /* 1M */ 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun #define CONFIG_SYS_PCI_SLV_MEM_LOCAL CONFIG_SYS_SDRAM_BASE 334*4882a593Smuzhiyun #define CONFIG_SYS_PCI_SLV_MEM_BUS 0x00000000 335*4882a593Smuzhiyun #define CONFIG_SYS_PCI_SLV_MEM_SIZE 0x80000000 336*4882a593Smuzhiyun 337*4882a593Smuzhiyun #ifdef CONFIG_PCI 338*4882a593Smuzhiyun #define CONFIG_PCI_INDIRECT_BRIDGE 339*4882a593Smuzhiyun 340*4882a593Smuzhiyun #define CONFIG_83XX_PCI_STREAMING 341*4882a593Smuzhiyun 342*4882a593Smuzhiyun #undef CONFIG_EEPRO100 343*4882a593Smuzhiyun #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 344*4882a593Smuzhiyun #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun #endif /* CONFIG_PCI */ 347*4882a593Smuzhiyun 348*4882a593Smuzhiyun /* 349*4882a593Smuzhiyun * QE UEC ethernet configuration 350*4882a593Smuzhiyun */ 351*4882a593Smuzhiyun #define CONFIG_UEC_ETH 352*4882a593Smuzhiyun #define CONFIG_ETHPRIME "UEC0" 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun #define CONFIG_UEC_ETH1 /* ETH3 */ 355*4882a593Smuzhiyun 356*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH1 357*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_UCC_NUM 2 /* UCC3 */ 358*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_RX_CLK QE_CLK9 359*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_TX_CLK QE_CLK10 360*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_ETH_TYPE FAST_ETH 361*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_PHY_ADDR 3 362*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_TYPE PHY_INTERFACE_MODE_MII 363*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_SPEED 100 364*4882a593Smuzhiyun #endif 365*4882a593Smuzhiyun 366*4882a593Smuzhiyun #define CONFIG_UEC_ETH2 /* ETH4 */ 367*4882a593Smuzhiyun 368*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH2 369*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_UCC_NUM 3 /* UCC4 */ 370*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_RX_CLK QE_CLK7 371*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_TX_CLK QE_CLK8 372*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_ETH_TYPE FAST_ETH 373*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_PHY_ADDR 4 374*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_TYPE PHY_INTERFACE_MODE_MII 375*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_SPEED 100 376*4882a593Smuzhiyun #endif 377*4882a593Smuzhiyun 378*4882a593Smuzhiyun /* 379*4882a593Smuzhiyun * Environment 380*4882a593Smuzhiyun */ 381*4882a593Smuzhiyun #ifndef CONFIG_SYS_RAMBOOT 382*4882a593Smuzhiyun #define CONFIG_ENV_ADDR \ 383*4882a593Smuzhiyun (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 384*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 385*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 386*4882a593Smuzhiyun #else 387*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000) 388*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 389*4882a593Smuzhiyun #endif 390*4882a593Smuzhiyun 391*4882a593Smuzhiyun #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 392*4882a593Smuzhiyun #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 393*4882a593Smuzhiyun 394*4882a593Smuzhiyun /* 395*4882a593Smuzhiyun * BOOTP options 396*4882a593Smuzhiyun */ 397*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 398*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 399*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 400*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 401*4882a593Smuzhiyun 402*4882a593Smuzhiyun /* 403*4882a593Smuzhiyun * Command line configuration. 404*4882a593Smuzhiyun */ 405*4882a593Smuzhiyun 406*4882a593Smuzhiyun #undef CONFIG_WATCHDOG /* watchdog disabled */ 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun /* 409*4882a593Smuzhiyun * Miscellaneous configurable options 410*4882a593Smuzhiyun */ 411*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 412*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun /* 415*4882a593Smuzhiyun * For booting Linux, the board info and command line data 416*4882a593Smuzhiyun * have to be in the first 256 MB of memory, since this is 417*4882a593Smuzhiyun * the maximum mapped by the Linux kernel during initialization. 418*4882a593Smuzhiyun */ 419*4882a593Smuzhiyun /* Initial Memory map for Linux */ 420*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ (256 << 20) 421*4882a593Smuzhiyun #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 422*4882a593Smuzhiyun 423*4882a593Smuzhiyun /* 424*4882a593Smuzhiyun * Core HID Setup 425*4882a593Smuzhiyun */ 426*4882a593Smuzhiyun #define CONFIG_SYS_HID0_INIT 0x000000000 427*4882a593Smuzhiyun #define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \ 428*4882a593Smuzhiyun HID0_ENABLE_INSTRUCTION_CACHE) 429*4882a593Smuzhiyun #define CONFIG_SYS_HID2 HID2_HBE 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun /* 432*4882a593Smuzhiyun * MMU Setup 433*4882a593Smuzhiyun */ 434*4882a593Smuzhiyun 435*4882a593Smuzhiyun #define CONFIG_HIGH_BATS 1 /* High BATs supported */ 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun /* DDR: cache cacheable */ 438*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE \ 439*4882a593Smuzhiyun | BATL_PP_RW \ 440*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 441*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE \ 442*4882a593Smuzhiyun | BATU_BL_256M \ 443*4882a593Smuzhiyun | BATU_VS \ 444*4882a593Smuzhiyun | BATU_VP) 445*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L 446*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U 447*4882a593Smuzhiyun 448*4882a593Smuzhiyun /* IMMRBAR & PCI IO: cache-inhibit and guarded */ 449*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1L (CONFIG_SYS_IMMR \ 450*4882a593Smuzhiyun | BATL_PP_RW \ 451*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 452*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 453*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1U (CONFIG_SYS_IMMR \ 454*4882a593Smuzhiyun | BATU_BL_4M \ 455*4882a593Smuzhiyun | BATU_VS \ 456*4882a593Smuzhiyun | BATU_VP) 457*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L 458*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U 459*4882a593Smuzhiyun 460*4882a593Smuzhiyun /* BCSR: cache-inhibit and guarded */ 461*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2L (CONFIG_SYS_BCSR \ 462*4882a593Smuzhiyun | BATL_PP_RW \ 463*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 464*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 465*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2U (CONFIG_SYS_BCSR \ 466*4882a593Smuzhiyun | BATU_BL_128K \ 467*4882a593Smuzhiyun | BATU_VS \ 468*4882a593Smuzhiyun | BATU_VP) 469*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L 470*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U 471*4882a593Smuzhiyun 472*4882a593Smuzhiyun /* FLASH: icache cacheable, but dcache-inhibit and guarded */ 473*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3L (CONFIG_SYS_FLASH_BASE \ 474*4882a593Smuzhiyun | BATL_PP_RW \ 475*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 476*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3U (CONFIG_SYS_FLASH_BASE \ 477*4882a593Smuzhiyun | BATU_BL_32M \ 478*4882a593Smuzhiyun | BATU_VS \ 479*4882a593Smuzhiyun | BATU_VP) 480*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3L (CONFIG_SYS_FLASH_BASE \ 481*4882a593Smuzhiyun | BATL_PP_RW \ 482*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 483*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 484*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U 485*4882a593Smuzhiyun 486*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4L (0) 487*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4U (0) 488*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4L CONFIG_SYS_IBAT4L 489*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U 490*4882a593Smuzhiyun 491*4882a593Smuzhiyun /* Stack in dcache: cacheable, no memory coherence */ 492*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW) 493*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5U (CONFIG_SYS_INIT_RAM_ADDR \ 494*4882a593Smuzhiyun | BATU_BL_128K \ 495*4882a593Smuzhiyun | BATU_VS \ 496*4882a593Smuzhiyun | BATU_VP) 497*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 498*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun #ifdef CONFIG_PCI 501*4882a593Smuzhiyun /* PCI MEM space: cacheable */ 502*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6L (CONFIG_SYS_PCI1_MEM_PHYS \ 503*4882a593Smuzhiyun | BATL_PP_RW \ 504*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 505*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6U (CONFIG_SYS_PCI1_MEM_PHYS \ 506*4882a593Smuzhiyun | BATU_BL_256M \ 507*4882a593Smuzhiyun | BATU_VS \ 508*4882a593Smuzhiyun | BATU_VP) 509*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 510*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 511*4882a593Smuzhiyun /* PCI MMIO space: cache-inhibit and guarded */ 512*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7L (CONFIG_SYS_PCI1_MMIO_PHYS \ 513*4882a593Smuzhiyun | BATL_PP_RW \ 514*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 515*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 516*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7U (CONFIG_SYS_PCI1_MMIO_PHYS \ 517*4882a593Smuzhiyun | BATU_BL_256M \ 518*4882a593Smuzhiyun | BATU_VS \ 519*4882a593Smuzhiyun | BATU_VP) 520*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L 521*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U 522*4882a593Smuzhiyun #else 523*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6L (0) 524*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6U (0) 525*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7L (0) 526*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7U (0) 527*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 528*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 529*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L 530*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U 531*4882a593Smuzhiyun #endif 532*4882a593Smuzhiyun 533*4882a593Smuzhiyun #if defined(CONFIG_CMD_KGDB) 534*4882a593Smuzhiyun #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ 535*4882a593Smuzhiyun #endif 536*4882a593Smuzhiyun 537*4882a593Smuzhiyun /* 538*4882a593Smuzhiyun * Environment Configuration 539*4882a593Smuzhiyun */ #define CONFIG_ENV_OVERWRITE 540*4882a593Smuzhiyun 541*4882a593Smuzhiyun #if defined(CONFIG_UEC_ETH) 542*4882a593Smuzhiyun #define CONFIG_HAS_ETH0 543*4882a593Smuzhiyun #define CONFIG_HAS_ETH1 544*4882a593Smuzhiyun #endif 545*4882a593Smuzhiyun 546*4882a593Smuzhiyun #define CONFIG_LOADADDR 800000 /* default location for tftp and bootm */ 547*4882a593Smuzhiyun 548*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 549*4882a593Smuzhiyun "netdev=eth0\0" \ 550*4882a593Smuzhiyun "consoledev=ttyS0\0" \ 551*4882a593Smuzhiyun "ramdiskaddr=1000000\0" \ 552*4882a593Smuzhiyun "ramdiskfile=ramfs.83xx\0" \ 553*4882a593Smuzhiyun "fdtaddr=780000\0" \ 554*4882a593Smuzhiyun "fdtfile=mpc832x_mds.dtb\0" \ 555*4882a593Smuzhiyun "" 556*4882a593Smuzhiyun 557*4882a593Smuzhiyun #define CONFIG_NFSBOOTCOMMAND \ 558*4882a593Smuzhiyun "setenv bootargs root=/dev/nfs rw " \ 559*4882a593Smuzhiyun "nfsroot=$serverip:$rootpath " \ 560*4882a593Smuzhiyun "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:" \ 561*4882a593Smuzhiyun "$netdev:off " \ 562*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs;" \ 563*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 564*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 565*4882a593Smuzhiyun "bootm $loadaddr - $fdtaddr" 566*4882a593Smuzhiyun 567*4882a593Smuzhiyun #define CONFIG_RAMBOOTCOMMAND \ 568*4882a593Smuzhiyun "setenv bootargs root=/dev/ram rw " \ 569*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs;" \ 570*4882a593Smuzhiyun "tftp $ramdiskaddr $ramdiskfile;" \ 571*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 572*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 573*4882a593Smuzhiyun "bootm $loadaddr $ramdiskaddr $fdtaddr" 574*4882a593Smuzhiyun 575*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND 576*4882a593Smuzhiyun 577*4882a593Smuzhiyun #endif /* __CONFIG_H */ 578