1*1c274c4eSKim Phillips /* 2*1c274c4eSKim Phillips * Copyright (C) 2007 Freescale Semiconductor, Inc. 3*1c274c4eSKim Phillips * 4*1c274c4eSKim Phillips * This program is free software; you can redistribute it and/or modify it 5*1c274c4eSKim Phillips * under the terms of the GNU General Public License version 2 as published 6*1c274c4eSKim Phillips * by the Free Software Foundation. 7*1c274c4eSKim Phillips */ 8*1c274c4eSKim Phillips 9*1c274c4eSKim Phillips #ifndef __CONFIG_H 10*1c274c4eSKim Phillips #define __CONFIG_H 11*1c274c4eSKim Phillips 12*1c274c4eSKim Phillips #undef DEBUG 13*1c274c4eSKim Phillips 14*1c274c4eSKim Phillips /* 15*1c274c4eSKim Phillips * High Level Configuration Options 16*1c274c4eSKim Phillips */ 17*1c274c4eSKim Phillips #define CONFIG_E300 1 /* E300 family */ 18*1c274c4eSKim Phillips #define CONFIG_QE 1 /* Has QE */ 19*1c274c4eSKim Phillips #define CONFIG_MPC83XX 1 /* MPC83xx family */ 20*1c274c4eSKim Phillips #define CONFIG_MPC832X 1 /* MPC832x CPU specific */ 21*1c274c4eSKim Phillips 22*1c274c4eSKim Phillips #define CONFIG_PCI 1 23*1c274c4eSKim Phillips #define CONFIG_83XX_GENERIC_PCI 1 24*1c274c4eSKim Phillips 25*1c274c4eSKim Phillips /* 26*1c274c4eSKim Phillips * System Clock Setup 27*1c274c4eSKim Phillips */ 28*1c274c4eSKim Phillips #define CONFIG_83XX_CLKIN 66666667 /* in Hz */ 29*1c274c4eSKim Phillips 30*1c274c4eSKim Phillips #ifndef CONFIG_SYS_CLK_FREQ 31*1c274c4eSKim Phillips #define CONFIG_SYS_CLK_FREQ CONFIG_83XX_CLKIN 32*1c274c4eSKim Phillips #endif 33*1c274c4eSKim Phillips 34*1c274c4eSKim Phillips /* 35*1c274c4eSKim Phillips * Hardware Reset Configuration Word 36*1c274c4eSKim Phillips */ 37*1c274c4eSKim Phillips #define CFG_HRCW_LOW (\ 38*1c274c4eSKim Phillips HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 39*1c274c4eSKim Phillips HRCWL_DDR_TO_SCB_CLK_2X1 |\ 40*1c274c4eSKim Phillips HRCWL_VCO_1X2 |\ 41*1c274c4eSKim Phillips HRCWL_CSB_TO_CLKIN_2X1 |\ 42*1c274c4eSKim Phillips HRCWL_CORE_TO_CSB_2_5X1 |\ 43*1c274c4eSKim Phillips HRCWL_CE_PLL_VCO_DIV_2 |\ 44*1c274c4eSKim Phillips HRCWL_CE_PLL_DIV_1X1 |\ 45*1c274c4eSKim Phillips HRCWL_CE_TO_PLL_1X3) 46*1c274c4eSKim Phillips 47*1c274c4eSKim Phillips #define CFG_HRCW_HIGH (\ 48*1c274c4eSKim Phillips HRCWH_PCI_HOST |\ 49*1c274c4eSKim Phillips HRCWH_PCI1_ARBITER_ENABLE |\ 50*1c274c4eSKim Phillips HRCWH_CORE_ENABLE |\ 51*1c274c4eSKim Phillips HRCWH_FROM_0X00000100 |\ 52*1c274c4eSKim Phillips HRCWH_BOOTSEQ_DISABLE |\ 53*1c274c4eSKim Phillips HRCWH_SW_WATCHDOG_DISABLE |\ 54*1c274c4eSKim Phillips HRCWH_ROM_LOC_LOCAL_16BIT |\ 55*1c274c4eSKim Phillips HRCWH_BIG_ENDIAN |\ 56*1c274c4eSKim Phillips HRCWH_LALE_NORMAL) 57*1c274c4eSKim Phillips 58*1c274c4eSKim Phillips /* 59*1c274c4eSKim Phillips * System IO Config 60*1c274c4eSKim Phillips */ 61*1c274c4eSKim Phillips #define CFG_SICRL 0x00000000 62*1c274c4eSKim Phillips 63*1c274c4eSKim Phillips #define CONFIG_BOARD_EARLY_INIT_F /* call board_pre_init */ 64*1c274c4eSKim Phillips 65*1c274c4eSKim Phillips /* 66*1c274c4eSKim Phillips * IMMR new address 67*1c274c4eSKim Phillips */ 68*1c274c4eSKim Phillips #define CFG_IMMR 0xE0000000 69*1c274c4eSKim Phillips 70*1c274c4eSKim Phillips /* 71*1c274c4eSKim Phillips * DDR Setup 72*1c274c4eSKim Phillips */ 73*1c274c4eSKim Phillips #define CFG_DDR_BASE 0x00000000 /* DDR is system memory */ 74*1c274c4eSKim Phillips #define CFG_SDRAM_BASE CFG_DDR_BASE 75*1c274c4eSKim Phillips #define CFG_DDR_SDRAM_BASE CFG_DDR_BASE 76*1c274c4eSKim Phillips #define CFG_DDRCDR 0x73000002 /* DDR II voltage is 1.8V */ 77*1c274c4eSKim Phillips 78*1c274c4eSKim Phillips #undef CONFIG_SPD_EEPROM 79*1c274c4eSKim Phillips #if defined(CONFIG_SPD_EEPROM) 80*1c274c4eSKim Phillips /* Determine DDR configuration from I2C interface 81*1c274c4eSKim Phillips */ 82*1c274c4eSKim Phillips #define SPD_EEPROM_ADDRESS 0x51 /* DDR SODIMM */ 83*1c274c4eSKim Phillips #else 84*1c274c4eSKim Phillips /* Manually set up DDR parameters 85*1c274c4eSKim Phillips */ 86*1c274c4eSKim Phillips #define CFG_DDR_SIZE 64 /* MB */ 87*1c274c4eSKim Phillips #define CFG_DDR_CS0_CONFIG 0x80840101 88*1c274c4eSKim Phillips #define CFG_DDR_TIMING_0 0x00220802 89*1c274c4eSKim Phillips #define CFG_DDR_TIMING_1 0x3935d322 90*1c274c4eSKim Phillips #define CFG_DDR_TIMING_2 0x0f9048ca 91*1c274c4eSKim Phillips #define CFG_DDR_TIMING_3 0x00000000 92*1c274c4eSKim Phillips #define CFG_DDR_CLK_CNTL 0x02000000 93*1c274c4eSKim Phillips #define CFG_DDR_MODE 0x44400232 94*1c274c4eSKim Phillips #define CFG_DDR_MODE2 0x8000c000 95*1c274c4eSKim Phillips #define CFG_DDR_INTERVAL 0x03200064 96*1c274c4eSKim Phillips #define CFG_DDR_CS0_BNDS 0x00000003 97*1c274c4eSKim Phillips #define CFG_DDR_SDRAM_CFG 0x43080000 98*1c274c4eSKim Phillips #define CFG_DDR_SDRAM_CFG2 0x00401000 99*1c274c4eSKim Phillips #endif 100*1c274c4eSKim Phillips 101*1c274c4eSKim Phillips /* 102*1c274c4eSKim Phillips * Memory test 103*1c274c4eSKim Phillips */ 104*1c274c4eSKim Phillips #undef CFG_DRAM_TEST /* memory test, takes time */ 105*1c274c4eSKim Phillips #define CFG_MEMTEST_START 0x00030000 /* memtest region */ 106*1c274c4eSKim Phillips #define CFG_MEMTEST_END 0x03f00000 107*1c274c4eSKim Phillips 108*1c274c4eSKim Phillips /* 109*1c274c4eSKim Phillips * The reserved memory 110*1c274c4eSKim Phillips */ 111*1c274c4eSKim Phillips #define CFG_MONITOR_BASE TEXT_BASE /* start of monitor */ 112*1c274c4eSKim Phillips 113*1c274c4eSKim Phillips #if (CFG_MONITOR_BASE < CFG_FLASH_BASE) 114*1c274c4eSKim Phillips #define CFG_RAMBOOT 115*1c274c4eSKim Phillips #else 116*1c274c4eSKim Phillips #undef CFG_RAMBOOT 117*1c274c4eSKim Phillips #endif 118*1c274c4eSKim Phillips 119*1c274c4eSKim Phillips #define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */ 120*1c274c4eSKim Phillips #define CFG_MALLOC_LEN (128 * 1024) /* Reserved for malloc */ 121*1c274c4eSKim Phillips 122*1c274c4eSKim Phillips /* 123*1c274c4eSKim Phillips * Initial RAM Base Address Setup 124*1c274c4eSKim Phillips */ 125*1c274c4eSKim Phillips #define CFG_INIT_RAM_LOCK 1 126*1c274c4eSKim Phillips #define CFG_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */ 127*1c274c4eSKim Phillips #define CFG_INIT_RAM_END 0x1000 /* End of used area in RAM */ 128*1c274c4eSKim Phillips #define CFG_GBL_DATA_SIZE 0x100 /* num bytes initial data */ 129*1c274c4eSKim Phillips #define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) 130*1c274c4eSKim Phillips 131*1c274c4eSKim Phillips /* 132*1c274c4eSKim Phillips * Local Bus Configuration & Clock Setup 133*1c274c4eSKim Phillips */ 134*1c274c4eSKim Phillips #define CFG_LCRR (LCRR_DBYP | LCRR_CLKDIV_2) 135*1c274c4eSKim Phillips #define CFG_LBC_LBCR 0x00000000 136*1c274c4eSKim Phillips 137*1c274c4eSKim Phillips /* 138*1c274c4eSKim Phillips * FLASH on the Local Bus 139*1c274c4eSKim Phillips */ 140*1c274c4eSKim Phillips #define CFG_FLASH_CFI /* use the Common Flash Interface */ 141*1c274c4eSKim Phillips #define CFG_FLASH_CFI_DRIVER /* use the CFI driver */ 142*1c274c4eSKim Phillips #define CFG_FLASH_BASE 0xFE000000 /* FLASH base address */ 143*1c274c4eSKim Phillips #define CFG_FLASH_SIZE 16 /* FLASH size is 16M */ 144*1c274c4eSKim Phillips 145*1c274c4eSKim Phillips #define CFG_LBLAWBAR0_PRELIM CFG_FLASH_BASE /* Window base at flash base */ 146*1c274c4eSKim Phillips #define CFG_LBLAWAR0_PRELIM 0x80000018 /* 32MB window size */ 147*1c274c4eSKim Phillips 148*1c274c4eSKim Phillips #define CFG_BR0_PRELIM (CFG_FLASH_BASE | /* Flash Base address */ \ 149*1c274c4eSKim Phillips (2 << BR_PS_SHIFT) | /* 16 bit port size */ \ 150*1c274c4eSKim Phillips BR_V) /* valid */ 151*1c274c4eSKim Phillips #define CFG_OR0_PRELIM 0xfe006ff7 /* 16MB Flash size */ 152*1c274c4eSKim Phillips 153*1c274c4eSKim Phillips #define CFG_MAX_FLASH_BANKS 1 /* number of banks */ 154*1c274c4eSKim Phillips #define CFG_MAX_FLASH_SECT 128 /* sectors per device */ 155*1c274c4eSKim Phillips 156*1c274c4eSKim Phillips #undef CFG_FLASH_CHECKSUM 157*1c274c4eSKim Phillips 158*1c274c4eSKim Phillips /* 159*1c274c4eSKim Phillips * SDRAM on the Local Bus 160*1c274c4eSKim Phillips */ 161*1c274c4eSKim Phillips #undef CFG_LB_SDRAM /* The board has not SRDAM on local bus */ 162*1c274c4eSKim Phillips 163*1c274c4eSKim Phillips #ifdef CFG_LB_SDRAM 164*1c274c4eSKim Phillips #define CFG_LBC_SDRAM_BASE 0xF0000000 /* SDRAM base address */ 165*1c274c4eSKim Phillips #define CFG_LBC_SDRAM_SIZE 64 /* LBC SDRAM is 64MB */ 166*1c274c4eSKim Phillips 167*1c274c4eSKim Phillips #define CFG_LBLAWBAR2_PRELIM CFG_LBC_SDRAM_BASE 168*1c274c4eSKim Phillips #define CFG_LBLAWAR2_PRELIM 0x80000019 /* 64MB */ 169*1c274c4eSKim Phillips 170*1c274c4eSKim Phillips /*local bus BR2, OR2 definition for SDRAM if soldered on the EPB board */ 171*1c274c4eSKim Phillips /* 172*1c274c4eSKim Phillips * Base Register 2 and Option Register 2 configure SDRAM. 173*1c274c4eSKim Phillips * The SDRAM base address, CFG_LBC_SDRAM_BASE, is 0xf0000000. 174*1c274c4eSKim Phillips * 175*1c274c4eSKim Phillips * For BR2, need: 176*1c274c4eSKim Phillips * Base address of 0xf0000000 = BR[0:16] = 1111 0000 0000 0000 0 177*1c274c4eSKim Phillips * port size = 32-bits = BR2[19:20] = 11 178*1c274c4eSKim Phillips * no parity checking = BR2[21:22] = 00 179*1c274c4eSKim Phillips * SDRAM for MSEL = BR2[24:26] = 011 180*1c274c4eSKim Phillips * Valid = BR[31] = 1 181*1c274c4eSKim Phillips * 182*1c274c4eSKim Phillips * 0 4 8 12 16 20 24 28 183*1c274c4eSKim Phillips * 1111 0000 0000 0000 0001 1000 0110 0001 = f0001861 184*1c274c4eSKim Phillips * 185*1c274c4eSKim Phillips * CFG_LBC_SDRAM_BASE should be masked and OR'ed into 186*1c274c4eSKim Phillips * the top 17 bits of BR2. 187*1c274c4eSKim Phillips */ 188*1c274c4eSKim Phillips 189*1c274c4eSKim Phillips #define CFG_BR2_PRELIM 0xf0001861 /*Port size=32bit, MSEL=SDRAM */ 190*1c274c4eSKim Phillips 191*1c274c4eSKim Phillips /* 192*1c274c4eSKim Phillips * The SDRAM size in MB, CFG_LBC_SDRAM_SIZE, is 64. 193*1c274c4eSKim Phillips * 194*1c274c4eSKim Phillips * For OR2, need: 195*1c274c4eSKim Phillips * 64MB mask for AM, OR2[0:7] = 1111 1100 196*1c274c4eSKim Phillips * XAM, OR2[17:18] = 11 197*1c274c4eSKim Phillips * 9 columns OR2[19-21] = 010 198*1c274c4eSKim Phillips * 13 rows OR2[23-25] = 100 199*1c274c4eSKim Phillips * EAD set for extra time OR[31] = 1 200*1c274c4eSKim Phillips * 201*1c274c4eSKim Phillips * 0 4 8 12 16 20 24 28 202*1c274c4eSKim Phillips * 1111 1100 0000 0000 0110 1001 0000 0001 = fc006901 203*1c274c4eSKim Phillips */ 204*1c274c4eSKim Phillips 205*1c274c4eSKim Phillips #define CFG_OR2_PRELIM 0xfc006901 206*1c274c4eSKim Phillips 207*1c274c4eSKim Phillips #define CFG_LBC_LSRT 0x32000000 /* LB sdram refresh timer, about 6us */ 208*1c274c4eSKim Phillips #define CFG_LBC_MRTPR 0x20000000 /* LB refresh timer prescal, 266MHz/32 */ 209*1c274c4eSKim Phillips 210*1c274c4eSKim Phillips /* 211*1c274c4eSKim Phillips * LSDMR masks 212*1c274c4eSKim Phillips */ 213*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_NORMAL (0 << (31 - 4)) 214*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_ARFRSH (1 << (31 - 4)) 215*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_SRFRSH (2 << (31 - 4)) 216*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_MRW (3 << (31 - 4)) 217*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_PRECH (4 << (31 - 4)) 218*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_PCHALL (5 << (31 - 4)) 219*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_ACTBNK (6 << (31 - 4)) 220*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_OP_RWINV (7 << (31 - 4)) 221*1c274c4eSKim Phillips 222*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_COMMON 0x0063b723 223*1c274c4eSKim Phillips 224*1c274c4eSKim Phillips /* 225*1c274c4eSKim Phillips * SDRAM Controller configuration sequence. 226*1c274c4eSKim Phillips */ 227*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_1 ( CFG_LBC_LSDMR_COMMON \ 228*1c274c4eSKim Phillips | CFG_LBC_LSDMR_OP_PCHALL) 229*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_2 ( CFG_LBC_LSDMR_COMMON \ 230*1c274c4eSKim Phillips | CFG_LBC_LSDMR_OP_ARFRSH) 231*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_3 ( CFG_LBC_LSDMR_COMMON \ 232*1c274c4eSKim Phillips | CFG_LBC_LSDMR_OP_ARFRSH) 233*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_4 ( CFG_LBC_LSDMR_COMMON \ 234*1c274c4eSKim Phillips | CFG_LBC_LSDMR_OP_MRW) 235*1c274c4eSKim Phillips #define CFG_LBC_LSDMR_5 ( CFG_LBC_LSDMR_COMMON \ 236*1c274c4eSKim Phillips | CFG_LBC_LSDMR_OP_NORMAL) 237*1c274c4eSKim Phillips 238*1c274c4eSKim Phillips #endif 239*1c274c4eSKim Phillips 240*1c274c4eSKim Phillips /* 241*1c274c4eSKim Phillips * Windows to access PIB via local bus 242*1c274c4eSKim Phillips */ 243*1c274c4eSKim Phillips #define CFG_LBLAWBAR3_PRELIM 0xf8008000 /* windows base 0xf8008000 */ 244*1c274c4eSKim Phillips #define CFG_LBLAWAR3_PRELIM 0x8000000f /* windows size 64KB */ 245*1c274c4eSKim Phillips 246*1c274c4eSKim Phillips /* 247*1c274c4eSKim Phillips * Serial Port 248*1c274c4eSKim Phillips */ 249*1c274c4eSKim Phillips #define CONFIG_CONS_INDEX 1 250*1c274c4eSKim Phillips #undef CONFIG_SERIAL_SOFTWARE_FIFO 251*1c274c4eSKim Phillips #define CFG_NS16550 252*1c274c4eSKim Phillips #define CFG_NS16550_SERIAL 253*1c274c4eSKim Phillips #define CFG_NS16550_REG_SIZE 1 254*1c274c4eSKim Phillips #define CFG_NS16550_CLK get_bus_freq(0) 255*1c274c4eSKim Phillips 256*1c274c4eSKim Phillips #define CFG_BAUDRATE_TABLE \ 257*1c274c4eSKim Phillips {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200} 258*1c274c4eSKim Phillips 259*1c274c4eSKim Phillips #define CFG_NS16550_COM1 (CFG_IMMR+0x4500) 260*1c274c4eSKim Phillips #define CFG_NS16550_COM2 (CFG_IMMR+0x4600) 261*1c274c4eSKim Phillips 262*1c274c4eSKim Phillips #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 263*1c274c4eSKim Phillips /* Use the HUSH parser */ 264*1c274c4eSKim Phillips #define CFG_HUSH_PARSER 265*1c274c4eSKim Phillips #ifdef CFG_HUSH_PARSER 266*1c274c4eSKim Phillips #define CFG_PROMPT_HUSH_PS2 "> " 267*1c274c4eSKim Phillips #endif 268*1c274c4eSKim Phillips 269*1c274c4eSKim Phillips /* pass open firmware flat tree */ 270*1c274c4eSKim Phillips #define CONFIG_OF_LIBFDT 1 271*1c274c4eSKim Phillips #define CONFIG_OF_BOARD_SETUP 1 272*1c274c4eSKim Phillips 273*1c274c4eSKim Phillips #define OF_CPU "PowerPC,8323@0" 274*1c274c4eSKim Phillips #define OF_SOC "soc8323@e0000000" 275*1c274c4eSKim Phillips #define OF_QE "qe@e0100000" 276*1c274c4eSKim Phillips #define OF_TBCLK (bd->bi_busfreq / 4) 277*1c274c4eSKim Phillips #define OF_STDOUT_PATH "/soc8323@e0000000/serial@4500" 278*1c274c4eSKim Phillips 279*1c274c4eSKim Phillips /* I2C */ 280*1c274c4eSKim Phillips #define CONFIG_HARD_I2C /* I2C with hardware support */ 281*1c274c4eSKim Phillips #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 282*1c274c4eSKim Phillips #define CONFIG_FSL_I2C 283*1c274c4eSKim Phillips #define CFG_I2C_SPEED 400000 /* I2C speed and slave address */ 284*1c274c4eSKim Phillips #define CFG_I2C_SLAVE 0x7F 285*1c274c4eSKim Phillips #define CFG_I2C_NOPROBES {0x51} /* Don't probe these addrs */ 286*1c274c4eSKim Phillips #define CFG_I2C_OFFSET 0x3000 287*1c274c4eSKim Phillips 288*1c274c4eSKim Phillips /* 289*1c274c4eSKim Phillips * Config on-board RTC 290*1c274c4eSKim Phillips */ 291*1c274c4eSKim Phillips #define CONFIG_RTC_DS1374 /* use ds1374 rtc via i2c */ 292*1c274c4eSKim Phillips #define CFG_I2C_RTC_ADDR 0x68 /* at address 0x68 */ 293*1c274c4eSKim Phillips 294*1c274c4eSKim Phillips /* 295*1c274c4eSKim Phillips * General PCI 296*1c274c4eSKim Phillips * Addresses are mapped 1-1. 297*1c274c4eSKim Phillips */ 298*1c274c4eSKim Phillips #define CFG_PCI1_MEM_BASE 0x80000000 299*1c274c4eSKim Phillips #define CFG_PCI1_MEM_PHYS CFG_PCI1_MEM_BASE 300*1c274c4eSKim Phillips #define CFG_PCI1_MEM_SIZE 0x10000000 /* 256M */ 301*1c274c4eSKim Phillips #define CFG_PCI1_MMIO_BASE 0x90000000 302*1c274c4eSKim Phillips #define CFG_PCI1_MMIO_PHYS CFG_PCI1_MMIO_BASE 303*1c274c4eSKim Phillips #define CFG_PCI1_MMIO_SIZE 0x10000000 /* 256M */ 304*1c274c4eSKim Phillips #define CFG_PCI1_IO_BASE 0xd0000000 305*1c274c4eSKim Phillips #define CFG_PCI1_IO_PHYS CFG_PCI1_IO_BASE 306*1c274c4eSKim Phillips #define CFG_PCI1_IO_SIZE 0x04000000 /* 64M */ 307*1c274c4eSKim Phillips 308*1c274c4eSKim Phillips #ifdef CONFIG_PCI 309*1c274c4eSKim Phillips 310*1c274c4eSKim Phillips #define CONFIG_NET_MULTI 311*1c274c4eSKim Phillips #define CONFIG_PCI_PNP /* do pci plug-and-play */ 312*1c274c4eSKim Phillips 313*1c274c4eSKim Phillips #undef CONFIG_EEPRO100 314*1c274c4eSKim Phillips #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 315*1c274c4eSKim Phillips #define CFG_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 316*1c274c4eSKim Phillips 317*1c274c4eSKim Phillips #endif /* CONFIG_PCI */ 318*1c274c4eSKim Phillips 319*1c274c4eSKim Phillips 320*1c274c4eSKim Phillips #ifndef CONFIG_NET_MULTI 321*1c274c4eSKim Phillips #define CONFIG_NET_MULTI 1 322*1c274c4eSKim Phillips #endif 323*1c274c4eSKim Phillips 324*1c274c4eSKim Phillips /* 325*1c274c4eSKim Phillips * QE UEC ethernet configuration 326*1c274c4eSKim Phillips */ 327*1c274c4eSKim Phillips #define CONFIG_UEC_ETH 328*1c274c4eSKim Phillips #define CONFIG_ETHPRIME "Freescale GETH" 329*1c274c4eSKim Phillips 330*1c274c4eSKim Phillips #define CONFIG_UEC_ETH1 /* ETH3 */ 331*1c274c4eSKim Phillips 332*1c274c4eSKim Phillips #ifdef CONFIG_UEC_ETH1 333*1c274c4eSKim Phillips #define CFG_UEC1_UCC_NUM 2 /* UCC3 */ 334*1c274c4eSKim Phillips #define CFG_UEC1_RX_CLK QE_CLK9 335*1c274c4eSKim Phillips #define CFG_UEC1_TX_CLK QE_CLK10 336*1c274c4eSKim Phillips #define CFG_UEC1_ETH_TYPE FAST_ETH 337*1c274c4eSKim Phillips #define CFG_UEC1_PHY_ADDR 4 338*1c274c4eSKim Phillips #define CFG_UEC1_INTERFACE_MODE ENET_100_MII 339*1c274c4eSKim Phillips #endif 340*1c274c4eSKim Phillips 341*1c274c4eSKim Phillips #define CONFIG_UEC_ETH2 /* ETH4 */ 342*1c274c4eSKim Phillips 343*1c274c4eSKim Phillips #ifdef CONFIG_UEC_ETH2 344*1c274c4eSKim Phillips #define CFG_UEC2_UCC_NUM 1 /* UCC2 */ 345*1c274c4eSKim Phillips #define CFG_UEC2_RX_CLK QE_CLK16 346*1c274c4eSKim Phillips #define CFG_UEC2_TX_CLK QE_CLK3 347*1c274c4eSKim Phillips #define CFG_UEC2_ETH_TYPE FAST_ETH 348*1c274c4eSKim Phillips #define CFG_UEC2_PHY_ADDR 0 349*1c274c4eSKim Phillips #define CFG_UEC2_INTERFACE_MODE ENET_100_MII 350*1c274c4eSKim Phillips #endif 351*1c274c4eSKim Phillips 352*1c274c4eSKim Phillips /* 353*1c274c4eSKim Phillips * Environment 354*1c274c4eSKim Phillips */ 355*1c274c4eSKim Phillips #ifndef CFG_RAMBOOT 356*1c274c4eSKim Phillips #define CFG_ENV_IS_IN_FLASH 1 357*1c274c4eSKim Phillips #define CFG_ENV_ADDR (CFG_MONITOR_BASE + 0x40000) 358*1c274c4eSKim Phillips #define CFG_ENV_SECT_SIZE 0x40000 /* 256K(one sector) for env */ 359*1c274c4eSKim Phillips #define CFG_ENV_SIZE 0x2000 360*1c274c4eSKim Phillips #else 361*1c274c4eSKim Phillips #define CFG_NO_FLASH 1 /* Flash is not usable now */ 362*1c274c4eSKim Phillips #define CFG_ENV_IS_NOWHERE 1 /* Store ENV in memory only */ 363*1c274c4eSKim Phillips #define CFG_ENV_ADDR (CFG_MONITOR_BASE - 0x1000) 364*1c274c4eSKim Phillips #define CFG_ENV_SIZE 0x2000 365*1c274c4eSKim Phillips #endif 366*1c274c4eSKim Phillips 367*1c274c4eSKim Phillips #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 368*1c274c4eSKim Phillips #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 369*1c274c4eSKim Phillips 370*1c274c4eSKim Phillips /* 371*1c274c4eSKim Phillips * BOOTP options 372*1c274c4eSKim Phillips */ 373*1c274c4eSKim Phillips #define CONFIG_BOOTP_BOOTFILESIZE 374*1c274c4eSKim Phillips #define CONFIG_BOOTP_BOOTPATH 375*1c274c4eSKim Phillips #define CONFIG_BOOTP_GATEWAY 376*1c274c4eSKim Phillips #define CONFIG_BOOTP_HOSTNAME 377*1c274c4eSKim Phillips 378*1c274c4eSKim Phillips /* 379*1c274c4eSKim Phillips * Command line configuration. 380*1c274c4eSKim Phillips */ 381*1c274c4eSKim Phillips #include <config_cmd_default.h> 382*1c274c4eSKim Phillips 383*1c274c4eSKim Phillips #define CONFIG_CMD_PING 384*1c274c4eSKim Phillips #define CONFIG_CMD_I2C 385*1c274c4eSKim Phillips #define CONFIG_CMD_ASKENV 386*1c274c4eSKim Phillips 387*1c274c4eSKim Phillips #if defined(CONFIG_PCI) 388*1c274c4eSKim Phillips #define CONFIG_CMD_PCI 389*1c274c4eSKim Phillips #endif 390*1c274c4eSKim Phillips #if defined(CFG_RAMBOOT) 391*1c274c4eSKim Phillips #undef CONFIG_CMD_ENV 392*1c274c4eSKim Phillips #undef CONFIG_CMD_LOADS 393*1c274c4eSKim Phillips #endif 394*1c274c4eSKim Phillips 395*1c274c4eSKim Phillips #undef CONFIG_WATCHDOG /* watchdog disabled */ 396*1c274c4eSKim Phillips 397*1c274c4eSKim Phillips /* 398*1c274c4eSKim Phillips * Miscellaneous configurable options 399*1c274c4eSKim Phillips */ 400*1c274c4eSKim Phillips #define CFG_LONGHELP /* undef to save memory */ 401*1c274c4eSKim Phillips #define CFG_LOAD_ADDR 0x2000000 /* default load address */ 402*1c274c4eSKim Phillips #define CFG_PROMPT "=> " /* Monitor Command Prompt */ 403*1c274c4eSKim Phillips 404*1c274c4eSKim Phillips #if (CONFIG_CMD_KGDB) 405*1c274c4eSKim Phillips #define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ 406*1c274c4eSKim Phillips #else 407*1c274c4eSKim Phillips #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 408*1c274c4eSKim Phillips #endif 409*1c274c4eSKim Phillips 410*1c274c4eSKim Phillips #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 411*1c274c4eSKim Phillips #define CFG_MAXARGS 16 /* max number of command args */ 412*1c274c4eSKim Phillips #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 413*1c274c4eSKim Phillips #define CFG_HZ 1000 /* decrementer freq: 1ms ticks */ 414*1c274c4eSKim Phillips 415*1c274c4eSKim Phillips /* 416*1c274c4eSKim Phillips * For booting Linux, the board info and command line data 417*1c274c4eSKim Phillips * have to be in the first 8 MB of memory, since this is 418*1c274c4eSKim Phillips * the maximum mapped by the Linux kernel during initialization. 419*1c274c4eSKim Phillips */ 420*1c274c4eSKim Phillips #define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ 421*1c274c4eSKim Phillips 422*1c274c4eSKim Phillips /* 423*1c274c4eSKim Phillips * Core HID Setup 424*1c274c4eSKim Phillips */ 425*1c274c4eSKim Phillips #define CFG_HID0_INIT 0x000000000 426*1c274c4eSKim Phillips #define CFG_HID0_FINAL HID0_ENABLE_MACHINE_CHECK 427*1c274c4eSKim Phillips #define CFG_HID2 HID2_HBE 428*1c274c4eSKim Phillips 429*1c274c4eSKim Phillips /* 430*1c274c4eSKim Phillips * Cache Config 431*1c274c4eSKim Phillips */ 432*1c274c4eSKim Phillips #define CFG_DCACHE_SIZE 16384 433*1c274c4eSKim Phillips #define CFG_CACHELINE_SIZE 32 434*1c274c4eSKim Phillips #if defined(CONFIG_CMD_KGDB) 435*1c274c4eSKim Phillips #define CFG_CACHELINE_SHIFT 5 /*log base 2 of the above value */ 436*1c274c4eSKim Phillips #endif 437*1c274c4eSKim Phillips 438*1c274c4eSKim Phillips /* 439*1c274c4eSKim Phillips * MMU Setup 440*1c274c4eSKim Phillips */ 441*1c274c4eSKim Phillips 442*1c274c4eSKim Phillips /* DDR: cache cacheable */ 443*1c274c4eSKim Phillips #define CFG_IBAT0L (CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE) 444*1c274c4eSKim Phillips #define CFG_IBAT0U (CFG_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP) 445*1c274c4eSKim Phillips #define CFG_DBAT0L CFG_IBAT0L 446*1c274c4eSKim Phillips #define CFG_DBAT0U CFG_IBAT0U 447*1c274c4eSKim Phillips 448*1c274c4eSKim Phillips /* IMMRBAR & PCI IO: cache-inhibit and guarded */ 449*1c274c4eSKim Phillips #define CFG_IBAT1L (CFG_IMMR | BATL_PP_10 | \ 450*1c274c4eSKim Phillips BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 451*1c274c4eSKim Phillips #define CFG_IBAT1U (CFG_IMMR | BATU_BL_4M | BATU_VS | BATU_VP) 452*1c274c4eSKim Phillips #define CFG_DBAT1L CFG_IBAT1L 453*1c274c4eSKim Phillips #define CFG_DBAT1U CFG_IBAT1U 454*1c274c4eSKim Phillips 455*1c274c4eSKim Phillips /* FLASH: icache cacheable, but dcache-inhibit and guarded */ 456*1c274c4eSKim Phillips #define CFG_IBAT2L (CFG_FLASH_BASE | BATL_PP_10 | BATL_MEMCOHERENCE) 457*1c274c4eSKim Phillips #define CFG_IBAT2U (CFG_FLASH_BASE | BATU_BL_32M | BATU_VS | BATU_VP) 458*1c274c4eSKim Phillips #define CFG_DBAT2L (CFG_FLASH_BASE | BATL_PP_10 | \ 459*1c274c4eSKim Phillips BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 460*1c274c4eSKim Phillips #define CFG_DBAT2U CFG_IBAT2U 461*1c274c4eSKim Phillips 462*1c274c4eSKim Phillips #define CFG_IBAT3L (0) 463*1c274c4eSKim Phillips #define CFG_IBAT3U (0) 464*1c274c4eSKim Phillips #define CFG_DBAT3L CFG_IBAT3L 465*1c274c4eSKim Phillips #define CFG_DBAT3U CFG_IBAT3U 466*1c274c4eSKim Phillips 467*1c274c4eSKim Phillips /* Stack in dcache: cacheable, no memory coherence */ 468*1c274c4eSKim Phillips #define CFG_IBAT4L (CFG_INIT_RAM_ADDR | BATL_PP_10) 469*1c274c4eSKim Phillips #define CFG_IBAT4U (CFG_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP) 470*1c274c4eSKim Phillips #define CFG_DBAT4L CFG_IBAT4L 471*1c274c4eSKim Phillips #define CFG_DBAT4U CFG_IBAT4U 472*1c274c4eSKim Phillips 473*1c274c4eSKim Phillips #ifdef CONFIG_PCI 474*1c274c4eSKim Phillips /* PCI MEM space: cacheable */ 475*1c274c4eSKim Phillips #define CFG_IBAT5L (CFG_PCI1_MEM_PHYS | BATL_PP_10 | BATL_MEMCOHERENCE) 476*1c274c4eSKim Phillips #define CFG_IBAT5U (CFG_PCI1_MEM_PHYS | BATU_BL_256M | BATU_VS | BATU_VP) 477*1c274c4eSKim Phillips #define CFG_DBAT5L CFG_IBAT5L 478*1c274c4eSKim Phillips #define CFG_DBAT5U CFG_IBAT5U 479*1c274c4eSKim Phillips /* PCI MMIO space: cache-inhibit and guarded */ 480*1c274c4eSKim Phillips #define CFG_IBAT6L (CFG_PCI1_MMIO_PHYS | BATL_PP_10 | \ 481*1c274c4eSKim Phillips BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 482*1c274c4eSKim Phillips #define CFG_IBAT6U (CFG_PCI1_MMIO_PHYS | BATU_BL_256M | BATU_VS | BATU_VP) 483*1c274c4eSKim Phillips #define CFG_DBAT6L CFG_IBAT6L 484*1c274c4eSKim Phillips #define CFG_DBAT6U CFG_IBAT6U 485*1c274c4eSKim Phillips #else 486*1c274c4eSKim Phillips #define CFG_IBAT5L (0) 487*1c274c4eSKim Phillips #define CFG_IBAT5U (0) 488*1c274c4eSKim Phillips #define CFG_IBAT6L (0) 489*1c274c4eSKim Phillips #define CFG_IBAT6U (0) 490*1c274c4eSKim Phillips #define CFG_DBAT5L CFG_IBAT5L 491*1c274c4eSKim Phillips #define CFG_DBAT5U CFG_IBAT5U 492*1c274c4eSKim Phillips #define CFG_DBAT6L CFG_IBAT6L 493*1c274c4eSKim Phillips #define CFG_DBAT6U CFG_IBAT6U 494*1c274c4eSKim Phillips #endif 495*1c274c4eSKim Phillips 496*1c274c4eSKim Phillips /* Nothing in BAT7 */ 497*1c274c4eSKim Phillips #define CFG_IBAT7L (0) 498*1c274c4eSKim Phillips #define CFG_IBAT7U (0) 499*1c274c4eSKim Phillips #define CFG_DBAT7L CFG_IBAT7L 500*1c274c4eSKim Phillips #define CFG_DBAT7U CFG_IBAT7U 501*1c274c4eSKim Phillips 502*1c274c4eSKim Phillips /* 503*1c274c4eSKim Phillips * Internal Definitions 504*1c274c4eSKim Phillips * 505*1c274c4eSKim Phillips * Boot Flags 506*1c274c4eSKim Phillips */ 507*1c274c4eSKim Phillips #define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ 508*1c274c4eSKim Phillips #define BOOTFLAG_WARM 0x02 /* Software reboot */ 509*1c274c4eSKim Phillips 510*1c274c4eSKim Phillips #if (CONFIG_CMD_KGDB) 511*1c274c4eSKim Phillips #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ 512*1c274c4eSKim Phillips #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ 513*1c274c4eSKim Phillips #endif 514*1c274c4eSKim Phillips 515*1c274c4eSKim Phillips /* 516*1c274c4eSKim Phillips * Environment Configuration 517*1c274c4eSKim Phillips */ 518*1c274c4eSKim Phillips #define CONFIG_ENV_OVERWRITE 519*1c274c4eSKim Phillips 520*1c274c4eSKim Phillips #define CONFIG_ETHADDR 00:04:9f:ef:03:01 521*1c274c4eSKim Phillips #define CONFIG_HAS_ETH1 /* add support for "eth1addr" */ 522*1c274c4eSKim Phillips #define CONFIG_ETH1ADDR 00:04:9f:ef:03:02 523*1c274c4eSKim Phillips 524*1c274c4eSKim Phillips #define CONFIG_IPADDR 10.0.0.2 525*1c274c4eSKim Phillips #define CONFIG_SERVERIP 10.0.0.1 526*1c274c4eSKim Phillips #define CONFIG_GATEWAYIP 10.0.0.1 527*1c274c4eSKim Phillips #define CONFIG_NETMASK 255.0.0.0 528*1c274c4eSKim Phillips #define CONFIG_NETDEV eth1 529*1c274c4eSKim Phillips 530*1c274c4eSKim Phillips #define CONFIG_HOSTNAME mpc8323erdb 531*1c274c4eSKim Phillips #define CONFIG_ROOTPATH /nfsroot 532*1c274c4eSKim Phillips #define CONFIG_RAMDISKFILE rootfs.ext2.gz.uboot 533*1c274c4eSKim Phillips #define CONFIG_BOOTFILE uImage 534*1c274c4eSKim Phillips #define CONFIG_UBOOTPATH u-boot.bin /* U-Boot image on TFTP server */ 535*1c274c4eSKim Phillips #define CONFIG_FDTFILE mpc832x_rdb.dtb 536*1c274c4eSKim Phillips 537*1c274c4eSKim Phillips #define CONFIG_LOADADDR 200000 /* default location for tftp and bootm */ 538*1c274c4eSKim Phillips #define CONFIG_BOOTDELAY -1 /* -1 disables auto-boot */ 539*1c274c4eSKim Phillips #define CONFIG_BAUDRATE 115200 540*1c274c4eSKim Phillips 541*1c274c4eSKim Phillips #define XMK_STR(x) #x 542*1c274c4eSKim Phillips #define MK_STR(x) XMK_STR(x) 543*1c274c4eSKim Phillips 544*1c274c4eSKim Phillips #define CONFIG_EXTRA_ENV_SETTINGS \ 545*1c274c4eSKim Phillips "netdev=" MK_STR(CONFIG_NETDEV) "\0" \ 546*1c274c4eSKim Phillips "uboot=" MK_STR(CONFIG_UBOOTPATH) "\0" \ 547*1c274c4eSKim Phillips "tftpflash=tftp $loadaddr $uboot;" \ 548*1c274c4eSKim Phillips "protect off " MK_STR(TEXT_BASE) " +$filesize; " \ 549*1c274c4eSKim Phillips "erase " MK_STR(TEXT_BASE) " +$filesize; " \ 550*1c274c4eSKim Phillips "cp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize; " \ 551*1c274c4eSKim Phillips "protect on " MK_STR(TEXT_BASE) " +$filesize; " \ 552*1c274c4eSKim Phillips "cmp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize\0" \ 553*1c274c4eSKim Phillips "fdtaddr=400000\0" \ 554*1c274c4eSKim Phillips "fdtfile=" MK_STR(CONFIG_FDTFILE) "\0" \ 555*1c274c4eSKim Phillips "ramdiskaddr=1000000\0" \ 556*1c274c4eSKim Phillips "ramdiskfile=" MK_STR(CONFIG_RAMDISKFILE) "\0" \ 557*1c274c4eSKim Phillips "console=ttyS0\0" \ 558*1c274c4eSKim Phillips "setbootargs=setenv bootargs " \ 559*1c274c4eSKim Phillips "root=$rootdev rw console=$console,$baudrate $othbootargs\0" \ 560*1c274c4eSKim Phillips "setipargs=setenv bootargs nfsroot=$serverip:$rootpath " \ 561*1c274c4eSKim Phillips "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 562*1c274c4eSKim Phillips "root=$rootdev rw console=$console,$baudrate $othbootargs\0" 563*1c274c4eSKim Phillips 564*1c274c4eSKim Phillips #define CONFIG_NFSBOOTCOMMAND \ 565*1c274c4eSKim Phillips "setenv rootdev /dev/nfs;" \ 566*1c274c4eSKim Phillips "run setbootargs;" \ 567*1c274c4eSKim Phillips "run setipargs;" \ 568*1c274c4eSKim Phillips "tftp $loadaddr $bootfile;" \ 569*1c274c4eSKim Phillips "tftp $fdtaddr $fdtfile;" \ 570*1c274c4eSKim Phillips "bootm $loadaddr - $fdtaddr" 571*1c274c4eSKim Phillips 572*1c274c4eSKim Phillips #define CONFIG_RAMBOOTCOMMAND \ 573*1c274c4eSKim Phillips "setenv rootdev /dev/ram;" \ 574*1c274c4eSKim Phillips "run setbootargs;" \ 575*1c274c4eSKim Phillips "tftp $ramdiskaddr $ramdiskfile;" \ 576*1c274c4eSKim Phillips "tftp $loadaddr $bootfile;" \ 577*1c274c4eSKim Phillips "tftp $fdtaddr $fdtfile;" \ 578*1c274c4eSKim Phillips "bootm $loadaddr $ramdiskaddr $fdtaddr" 579*1c274c4eSKim Phillips 580*1c274c4eSKim Phillips #undef MK_STR 581*1c274c4eSKim Phillips #undef XMK_STR 582*1c274c4eSKim Phillips 583*1c274c4eSKim Phillips #endif /* __CONFIG_H */ 584