1*9490a7f1SKumar Gala /* 2*9490a7f1SKumar Gala * Copyright 2008 Freescale Semiconductor, Inc. 3*9490a7f1SKumar Gala * 4*9490a7f1SKumar Gala * See file CREDITS for list of people who contributed to this 5*9490a7f1SKumar Gala * project. 6*9490a7f1SKumar Gala * 7*9490a7f1SKumar Gala * This program is free software; you can redistribute it and/or 8*9490a7f1SKumar Gala * modify it under the terms of the GNU General Public License as 9*9490a7f1SKumar Gala * published by the Free Software Foundation; either version 2 of 10*9490a7f1SKumar Gala * the License, or (at your option) any later version. 11*9490a7f1SKumar Gala * 12*9490a7f1SKumar Gala * This program is distributed in the hope that it will be useful, 13*9490a7f1SKumar Gala * but WITHOUT ANY WARRANTY; without even the implied warranty of 14*9490a7f1SKumar Gala * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15*9490a7f1SKumar Gala * GNU General Public License for more details. 16*9490a7f1SKumar Gala * 17*9490a7f1SKumar Gala * You should have received a copy of the GNU General Public License 18*9490a7f1SKumar Gala * along with this program; if not, write to the Free Software 19*9490a7f1SKumar Gala * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20*9490a7f1SKumar Gala * MA 02111-1307 USA 21*9490a7f1SKumar Gala */ 22*9490a7f1SKumar Gala 23*9490a7f1SKumar Gala /* 24*9490a7f1SKumar Gala * mpc8536ds board configuration file 25*9490a7f1SKumar Gala * 26*9490a7f1SKumar Gala */ 27*9490a7f1SKumar Gala #ifndef __CONFIG_H 28*9490a7f1SKumar Gala #define __CONFIG_H 29*9490a7f1SKumar Gala 30*9490a7f1SKumar Gala /* High Level Configuration Options */ 31*9490a7f1SKumar Gala #define CONFIG_BOOKE 1 /* BOOKE */ 32*9490a7f1SKumar Gala #define CONFIG_E500 1 /* BOOKE e500 family */ 33*9490a7f1SKumar Gala #define CONFIG_MPC85xx 1 /* MPC8540/60/55/41/48 */ 34*9490a7f1SKumar Gala #define CONFIG_MPC8536 1 35*9490a7f1SKumar Gala #define CONFIG_MPC8536DS 1 36*9490a7f1SKumar Gala 37*9490a7f1SKumar Gala #define CONFIG_PCI 1 /* Enable PCI/PCIE */ 38*9490a7f1SKumar Gala #define CONFIG_PCI1 1 /* Enable PCI controller 1 */ 39*9490a7f1SKumar Gala #define CONFIG_PCIE1 1 /* PCIE controler 1 (slot 1) */ 40*9490a7f1SKumar Gala #define CONFIG_PCIE2 1 /* PCIE controler 2 (slot 2) */ 41*9490a7f1SKumar Gala #define CONFIG_PCIE3 1 /* PCIE controler 3 (ULI bridge) */ 42*9490a7f1SKumar Gala #define CONFIG_FSL_PCI_INIT 1 /* Use common FSL init code */ 43*9490a7f1SKumar Gala #define CONFIG_FSL_PCIE_RESET 1 /* need PCIe reset errata */ 44*9490a7f1SKumar Gala 45*9490a7f1SKumar Gala #define CONFIG_FSL_LAW 1 /* Use common FSL init code */ 46*9490a7f1SKumar Gala 47*9490a7f1SKumar Gala #define CONFIG_TSEC_ENET /* tsec ethernet support */ 48*9490a7f1SKumar Gala #define CONFIG_ENV_OVERWRITE 49*9490a7f1SKumar Gala 50*9490a7f1SKumar Gala /* 51*9490a7f1SKumar Gala * When initializing flash, if we cannot find the manufacturer ID, 52*9490a7f1SKumar Gala * assume this is the AMD flash associated with the CDS board. 53*9490a7f1SKumar Gala * This allows booting from a promjet. 54*9490a7f1SKumar Gala */ 55*9490a7f1SKumar Gala #define CONFIG_ASSUME_AMD_FLASH 56*9490a7f1SKumar Gala 57*9490a7f1SKumar Gala #ifndef __ASSEMBLY__ 58*9490a7f1SKumar Gala extern unsigned long get_board_sys_clk(unsigned long dummy); 59*9490a7f1SKumar Gala extern unsigned long get_board_ddr_clk(unsigned long dummy); 60*9490a7f1SKumar Gala #endif 61*9490a7f1SKumar Gala #define CONFIG_SYS_CLK_FREQ get_board_sys_clk(0) /* sysclk for MPC85xx */ 62*9490a7f1SKumar Gala /* #define CONFIG_DDR_CLK_FREQ get_board_ddr_clk(0) /\* ddrclk for MPC85xx *\/ FIXME-8536*/ 63*9490a7f1SKumar Gala #define CONFIG_ICS307_REFCLK_HZ 33333000 /* ICS307 clock chip ref freq */ 64*9490a7f1SKumar Gala #define CONFIG_GET_CLK_FROM_ICS307 /* decode sysclk and ddrclk freq 65*9490a7f1SKumar Gala from ICS307 instead of switches */ 66*9490a7f1SKumar Gala 67*9490a7f1SKumar Gala /* 68*9490a7f1SKumar Gala * These can be toggled for performance analysis, otherwise use default. 69*9490a7f1SKumar Gala */ 70*9490a7f1SKumar Gala #define CONFIG_L2_CACHE /* toggle L2 cache */ 71*9490a7f1SKumar Gala #define CONFIG_BTB /* toggle branch predition */ 72*9490a7f1SKumar Gala #define CONFIG_ADDR_STREAMING /* toggle addr streaming */ 73*9490a7f1SKumar Gala 74*9490a7f1SKumar Gala #define CONFIG_ENABLE_36BIT_PHYS 1 75*9490a7f1SKumar Gala 76*9490a7f1SKumar Gala #define CFG_MEMTEST_START 0x00000000 /* memtest works on */ 77*9490a7f1SKumar Gala #define CFG_MEMTEST_END 0x7fffffff 78*9490a7f1SKumar Gala #define CONFIG_PANIC_HANG /* do not reset board on panic */ 79*9490a7f1SKumar Gala 80*9490a7f1SKumar Gala /* 81*9490a7f1SKumar Gala * Base addresses -- Note these are effective addresses where the 82*9490a7f1SKumar Gala * actual resources get mapped (not physical addresses) 83*9490a7f1SKumar Gala */ 84*9490a7f1SKumar Gala #define CFG_CCSRBAR_DEFAULT 0xff700000 /* CCSRBAR Default */ 85*9490a7f1SKumar Gala #define CFG_CCSRBAR 0xffe00000 /* relocated CCSRBAR */ 86*9490a7f1SKumar Gala #define CFG_CCSRBAR_PHYS CFG_CCSRBAR /* physical addr of CCSRBAR */ 87*9490a7f1SKumar Gala #define CFG_IMMR CFG_CCSRBAR /* PQII uses CFG_IMMR */ 88*9490a7f1SKumar Gala 89*9490a7f1SKumar Gala #define CFG_PCI1_ADDR (CFG_CCSRBAR+0x8000) 90*9490a7f1SKumar Gala #define CFG_PCIE1_ADDR (CFG_CCSRBAR+0xa000) 91*9490a7f1SKumar Gala #define CFG_PCIE2_ADDR (CFG_CCSRBAR+0x9000) 92*9490a7f1SKumar Gala #define CFG_PCIE3_ADDR (CFG_CCSRBAR+0xb000) 93*9490a7f1SKumar Gala 94*9490a7f1SKumar Gala /* DDR Setup */ 95*9490a7f1SKumar Gala #define CONFIG_FSL_DDR2 96*9490a7f1SKumar Gala #undef CONFIG_FSL_DDR_INTERACTIVE 97*9490a7f1SKumar Gala #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */ 98*9490a7f1SKumar Gala #define CONFIG_DDR_SPD 99*9490a7f1SKumar Gala #undef CONFIG_DDR_DLL 100*9490a7f1SKumar Gala 101*9490a7f1SKumar Gala #undef CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */ 102*9490a7f1SKumar Gala #define CONFIG_MEM_INIT_VALUE 0xDeadBeef 103*9490a7f1SKumar Gala 104*9490a7f1SKumar Gala #define CFG_DDR_SDRAM_BASE 0x00000000 105*9490a7f1SKumar Gala #define CFG_SDRAM_BASE CFG_DDR_SDRAM_BASE 106*9490a7f1SKumar Gala 107*9490a7f1SKumar Gala #define CONFIG_NUM_DDR_CONTROLLERS 1 108*9490a7f1SKumar Gala #define CONFIG_DIMM_SLOTS_PER_CTLR 1 109*9490a7f1SKumar Gala #define CONFIG_CHIP_SELECTS_PER_CTRL 2 110*9490a7f1SKumar Gala 111*9490a7f1SKumar Gala /* I2C addresses of SPD EEPROMs */ 112*9490a7f1SKumar Gala #define SPD_EEPROM_ADDRESS 0x51 /* CTLR 0 DIMM 0 */ 113*9490a7f1SKumar Gala #define CFG_SPD_BUS_NUM 1 114*9490a7f1SKumar Gala 115*9490a7f1SKumar Gala /* These are used when DDR doesn't use SPD. */ 116*9490a7f1SKumar Gala #define CFG_SDRAM_SIZE 256 /* DDR is 256MB */ 117*9490a7f1SKumar Gala #define CFG_DDR_CS0_BNDS 0x0000001F 118*9490a7f1SKumar Gala #define CFG_DDR_CS0_CONFIG 0x80010102 /* Enable, no interleaving */ 119*9490a7f1SKumar Gala #define CFG_DDR_TIMING_3 0x00000000 120*9490a7f1SKumar Gala #define CFG_DDR_TIMING_0 0x00260802 121*9490a7f1SKumar Gala #define CFG_DDR_TIMING_1 0x3935d322 122*9490a7f1SKumar Gala #define CFG_DDR_TIMING_2 0x14904cc8 123*9490a7f1SKumar Gala #define CFG_DDR_MODE_1 0x00480432 124*9490a7f1SKumar Gala #define CFG_DDR_MODE_2 0x00000000 125*9490a7f1SKumar Gala #define CFG_DDR_INTERVAL 0x06180100 126*9490a7f1SKumar Gala #define CFG_DDR_DATA_INIT 0xdeadbeef 127*9490a7f1SKumar Gala #define CFG_DDR_CLK_CTRL 0x03800000 128*9490a7f1SKumar Gala #define CFG_DDR_OCD_CTRL 0x00000000 129*9490a7f1SKumar Gala #define CFG_DDR_OCD_STATUS 0x00000000 130*9490a7f1SKumar Gala #define CFG_DDR_CONTROL 0xC3008000 /* Type = DDR2 */ 131*9490a7f1SKumar Gala #define CFG_DDR_CONTROL2 0x04400010 132*9490a7f1SKumar Gala 133*9490a7f1SKumar Gala #define CFG_DDR_ERR_INT_EN 0x0000000d 134*9490a7f1SKumar Gala #define CFG_DDR_ERR_DIS 0x00000000 135*9490a7f1SKumar Gala #define CFG_DDR_SBE 0x00010000 136*9490a7f1SKumar Gala 137*9490a7f1SKumar Gala /* FIXME: Not used in fixed_sdram function */ 138*9490a7f1SKumar Gala #define CFG_DDR_MODE 0x00000022 139*9490a7f1SKumar Gala #define CFG_DDR_CS1_BNDS 0x00000000 140*9490a7f1SKumar Gala #define CFG_DDR_CS2_BNDS 0x00000FFF /* Not done */ 141*9490a7f1SKumar Gala #define CFG_DDR_CS3_BNDS 0x00000FFF /* Not done */ 142*9490a7f1SKumar Gala #define CFG_DDR_CS4_BNDS 0x00000FFF /* Not done */ 143*9490a7f1SKumar Gala #define CFG_DDR_CS5_BNDS 0x00000FFF /* Not done */ 144*9490a7f1SKumar Gala 145*9490a7f1SKumar Gala /* Make sure required options are set */ 146*9490a7f1SKumar Gala #ifndef CONFIG_SPD_EEPROM 147*9490a7f1SKumar Gala #error ("CONFIG_SPD_EEPROM is required") 148*9490a7f1SKumar Gala #endif 149*9490a7f1SKumar Gala 150*9490a7f1SKumar Gala #undef CONFIG_CLOCKS_IN_MHZ 151*9490a7f1SKumar Gala 152*9490a7f1SKumar Gala 153*9490a7f1SKumar Gala /* 154*9490a7f1SKumar Gala * Memory map -- xxx -this is wrong, needs updating 155*9490a7f1SKumar Gala * 156*9490a7f1SKumar Gala * 0x0000_0000 0x7fff_ffff DDR 2G Cacheable 157*9490a7f1SKumar Gala * 0x8000_0000 0xbfff_ffff PCI Express Mem 1G non-cacheable 158*9490a7f1SKumar Gala * 0xc000_0000 0xdfff_ffff PCI 512M non-cacheable 159*9490a7f1SKumar Gala * 0xe100_0000 0xe3ff_ffff PCI IO range 4M non-cacheable 160*9490a7f1SKumar Gala * 161*9490a7f1SKumar Gala * Localbus cacheable (TBD) 162*9490a7f1SKumar Gala * 0xXXXX_XXXX 0xXXXX_XXXX SRAM YZ M Cacheable 163*9490a7f1SKumar Gala * 164*9490a7f1SKumar Gala * Localbus non-cacheable 165*9490a7f1SKumar Gala * 0xe000_0000 0xe80f_ffff Promjet/free 128M non-cacheable 166*9490a7f1SKumar Gala * 0xe800_0000 0xefff_ffff FLASH 128M non-cacheable 167*9490a7f1SKumar Gala * 0xffdf_0000 0xffdf_7fff PIXIS 32K non-cacheable TLB0 168*9490a7f1SKumar Gala * 0xffd0_0000 0xffd0_3fff L1 for stack 16K Cacheable TLB0 169*9490a7f1SKumar Gala * 0xffe0_0000 0xffef_ffff CCSR 1M non-cacheable 170*9490a7f1SKumar Gala */ 171*9490a7f1SKumar Gala 172*9490a7f1SKumar Gala /* 173*9490a7f1SKumar Gala * Local Bus Definitions 174*9490a7f1SKumar Gala */ 175*9490a7f1SKumar Gala #define CFG_FLASH_BASE 0xe0000000 /* start of FLASH 128M */ 176*9490a7f1SKumar Gala 177*9490a7f1SKumar Gala #define CFG_BR0_PRELIM 0xe8001001 178*9490a7f1SKumar Gala #define CFG_OR0_PRELIM 0xf8000ff7 179*9490a7f1SKumar Gala 180*9490a7f1SKumar Gala #define CFG_BR1_PRELIM 0xe0001001 181*9490a7f1SKumar Gala #define CFG_OR1_PRELIM 0xf8000ff7 182*9490a7f1SKumar Gala 183*9490a7f1SKumar Gala #define CFG_FLASH_BANKS_LIST {CFG_FLASH_BASE + 0x8000000, CFG_FLASH_BASE} 184*9490a7f1SKumar Gala #define CFG_FLASH_QUIET_TEST 185*9490a7f1SKumar Gala #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 186*9490a7f1SKumar Gala 187*9490a7f1SKumar Gala #define CFG_MAX_FLASH_BANKS 2 /* number of banks */ 188*9490a7f1SKumar Gala #define CFG_MAX_FLASH_SECT 1024 /* sectors per device */ 189*9490a7f1SKumar Gala #undef CFG_FLASH_CHECKSUM 190*9490a7f1SKumar Gala #define CFG_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 191*9490a7f1SKumar Gala #define CFG_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 192*9490a7f1SKumar Gala 193*9490a7f1SKumar Gala #define CFG_MONITOR_BASE TEXT_BASE /* start of monitor */ 194*9490a7f1SKumar Gala 195*9490a7f1SKumar Gala #define CONFIG_FLASH_CFI_DRIVER 196*9490a7f1SKumar Gala #define CFG_FLASH_CFI 197*9490a7f1SKumar Gala #define CFG_FLASH_EMPTY_INFO 198*9490a7f1SKumar Gala #define CFG_FLASH_AMD_CHECK_DQ7 199*9490a7f1SKumar Gala 200*9490a7f1SKumar Gala #define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */ 201*9490a7f1SKumar Gala 202*9490a7f1SKumar Gala #define CONFIG_FSL_PIXIS 1 /* use common PIXIS code */ 203*9490a7f1SKumar Gala #define PIXIS_BASE 0xffdf0000 /* PIXIS registers */ 204*9490a7f1SKumar Gala 205*9490a7f1SKumar Gala #define CFG_BR3_PRELIM (PIXIS_BASE | 0x0801) /* port size 8bit */ 206*9490a7f1SKumar Gala #define CFG_OR3_PRELIM 0xffffeff7 /* 32KB but only 4k mapped */ 207*9490a7f1SKumar Gala 208*9490a7f1SKumar Gala #define PIXIS_ID 0x0 /* Board ID at offset 0 */ 209*9490a7f1SKumar Gala #define PIXIS_VER 0x1 /* Board version at offset 1 */ 210*9490a7f1SKumar Gala #define PIXIS_PVER 0x2 /* PIXIS FPGA version at offset 2 */ 211*9490a7f1SKumar Gala #define PIXIS_CSR 0x3 /* PIXIS General control/status register */ 212*9490a7f1SKumar Gala #define PIXIS_RST 0x4 /* PIXIS Reset Control register */ 213*9490a7f1SKumar Gala #define PIXIS_PWR 0x5 /* PIXIS Power status register */ 214*9490a7f1SKumar Gala #define PIXIS_AUX 0x6 /* Auxiliary 1 register */ 215*9490a7f1SKumar Gala #define PIXIS_SPD 0x7 /* Register for SYSCLK speed */ 216*9490a7f1SKumar Gala #define PIXIS_AUX2 0x8 /* Auxiliary 2 register */ 217*9490a7f1SKumar Gala #define PIXIS_VCTL 0x10 /* VELA Control Register */ 218*9490a7f1SKumar Gala #define PIXIS_VSTAT 0x11 /* VELA Status Register */ 219*9490a7f1SKumar Gala #define PIXIS_VCFGEN0 0x12 /* VELA Config Enable 0 */ 220*9490a7f1SKumar Gala #define PIXIS_VCFGEN1 0x13 /* VELA Config Enable 1 */ 221*9490a7f1SKumar Gala #define PIXIS_VCORE0 0x14 /* VELA VCORE0 Register */ 222*9490a7f1SKumar Gala #define PIXIS_VBOOT 0x16 /* VELA VBOOT Register */ 223*9490a7f1SKumar Gala #define PIXIS_VSPEED0 0x17 /* VELA VSpeed 0 */ 224*9490a7f1SKumar Gala #define PIXIS_VSPEED1 0x18 /* VELA VSpeed 1 */ 225*9490a7f1SKumar Gala #define PIXIS_VSPEED2 0x19 /* VELA VSpeed 2 */ 226*9490a7f1SKumar Gala #define PIXIS_VSYSCLK0 0x1A /* VELA SYSCLK0 Register */ 227*9490a7f1SKumar Gala #define PIXIS_VSYSCLK1 0x1B /* VELA SYSCLK1 Register */ 228*9490a7f1SKumar Gala #define PIXIS_VSYSCLK2 0x1C /* VELA SYSCLK2 Register */ 229*9490a7f1SKumar Gala #define PIXIS_VDDRCLK0 0x1D /* VELA DDRCLK0 Register */ 230*9490a7f1SKumar Gala #define PIXIS_VDDRCLK1 0x1E /* VELA DDRCLK1 Register */ 231*9490a7f1SKumar Gala #define PIXIS_VDDRCLK2 0x1F /* VELA DDRCLK2 Register */ 232*9490a7f1SKumar Gala #define PIXIS_VWATCH 0x24 /* Watchdog Register */ 233*9490a7f1SKumar Gala #define PIXIS_LED 0x25 /* LED Register */ 234*9490a7f1SKumar Gala 235*9490a7f1SKumar Gala /* old pixis referenced names */ 236*9490a7f1SKumar Gala #define PIXIS_VCLKH 0x19 /* VELA VCLKH register */ 237*9490a7f1SKumar Gala #define PIXIS_VCLKL 0x1A /* VELA VCLKL register */ 238*9490a7f1SKumar Gala #define CFG_PIXIS_VBOOT_MASK 0xc0 239*9490a7f1SKumar Gala 240*9490a7f1SKumar Gala /* define to use L1 as initial stack */ 241*9490a7f1SKumar Gala #define CONFIG_L1_INIT_RAM 242*9490a7f1SKumar Gala #define CFG_INIT_RAM_LOCK 1 243*9490a7f1SKumar Gala #define CFG_INIT_RAM_ADDR 0xffd00000 /* Initial L1 address */ 244*9490a7f1SKumar Gala #define CFG_INIT_RAM_END 0x00004000 /* End of used area in RAM */ 245*9490a7f1SKumar Gala 246*9490a7f1SKumar Gala #define CFG_GBL_DATA_SIZE 128 /* num bytes initial data */ 247*9490a7f1SKumar Gala #define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE) 248*9490a7f1SKumar Gala #define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET 249*9490a7f1SKumar Gala 250*9490a7f1SKumar Gala #define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */ 251*9490a7f1SKumar Gala #define CFG_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */ 252*9490a7f1SKumar Gala 253*9490a7f1SKumar Gala /* Serial Port - controlled on board with jumper J8 254*9490a7f1SKumar Gala * open - index 2 255*9490a7f1SKumar Gala * shorted - index 1 256*9490a7f1SKumar Gala */ 257*9490a7f1SKumar Gala #define CONFIG_CONS_INDEX 1 258*9490a7f1SKumar Gala #undef CONFIG_SERIAL_SOFTWARE_FIFO 259*9490a7f1SKumar Gala #define CFG_NS16550 260*9490a7f1SKumar Gala #define CFG_NS16550_SERIAL 261*9490a7f1SKumar Gala #define CFG_NS16550_REG_SIZE 1 262*9490a7f1SKumar Gala #define CFG_NS16550_CLK get_bus_freq(0) 263*9490a7f1SKumar Gala 264*9490a7f1SKumar Gala #define CFG_BAUDRATE_TABLE \ 265*9490a7f1SKumar Gala {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200} 266*9490a7f1SKumar Gala 267*9490a7f1SKumar Gala #define CFG_NS16550_COM1 (CFG_CCSRBAR+0x4500) 268*9490a7f1SKumar Gala #define CFG_NS16550_COM2 (CFG_CCSRBAR+0x4600) 269*9490a7f1SKumar Gala 270*9490a7f1SKumar Gala /* Use the HUSH parser */ 271*9490a7f1SKumar Gala #define CFG_HUSH_PARSER 272*9490a7f1SKumar Gala #ifdef CFG_HUSH_PARSER 273*9490a7f1SKumar Gala #define CFG_PROMPT_HUSH_PS2 "> " 274*9490a7f1SKumar Gala #endif 275*9490a7f1SKumar Gala 276*9490a7f1SKumar Gala /* 277*9490a7f1SKumar Gala * Pass open firmware flat tree 278*9490a7f1SKumar Gala */ 279*9490a7f1SKumar Gala #define CONFIG_OF_LIBFDT 1 280*9490a7f1SKumar Gala #define CONFIG_OF_BOARD_SETUP 1 281*9490a7f1SKumar Gala #define CONFIG_OF_STDOUT_VIA_ALIAS 1 282*9490a7f1SKumar Gala 283*9490a7f1SKumar Gala #define CFG_64BIT_STRTOUL 1 284*9490a7f1SKumar Gala #define CFG_64BIT_VSPRINTF 1 285*9490a7f1SKumar Gala 286*9490a7f1SKumar Gala 287*9490a7f1SKumar Gala /* 288*9490a7f1SKumar Gala * I2C 289*9490a7f1SKumar Gala */ 290*9490a7f1SKumar Gala #define CONFIG_FSL_I2C /* Use FSL common I2C driver */ 291*9490a7f1SKumar Gala #define CONFIG_HARD_I2C /* I2C with hardware support */ 292*9490a7f1SKumar Gala #undef CONFIG_SOFT_I2C /* I2C bit-banged */ 293*9490a7f1SKumar Gala #define CONFIG_I2C_MULTI_BUS 294*9490a7f1SKumar Gala #define CONFIG_I2C_CMD_TREE 295*9490a7f1SKumar Gala #define CFG_I2C_SPEED 400000 /* I2C speed and slave address */ 296*9490a7f1SKumar Gala #define CFG_I2C_SLAVE 0x7F 297*9490a7f1SKumar Gala #define CFG_I2C_NOPROBES {{0, 0x29}} /* Don't probe these addrs */ 298*9490a7f1SKumar Gala #define CFG_I2C_OFFSET 0x3000 299*9490a7f1SKumar Gala #define CFG_I2C2_OFFSET 0x3100 300*9490a7f1SKumar Gala 301*9490a7f1SKumar Gala /* 302*9490a7f1SKumar Gala * I2C2 EEPROM 303*9490a7f1SKumar Gala */ 304*9490a7f1SKumar Gala #define CFG_ID_EEPROM 305*9490a7f1SKumar Gala #ifdef CFG_ID_EEPROM 306*9490a7f1SKumar Gala #define CONFIG_ID_EEPROM 307*9490a7f1SKumar Gala #define CFG_I2C_EEPROM_NXID 308*9490a7f1SKumar Gala #endif 309*9490a7f1SKumar Gala #define CFG_I2C_EEPROM_ADDR 0x57 310*9490a7f1SKumar Gala #define CFG_I2C_EEPROM_ADDR_LEN 1 311*9490a7f1SKumar Gala #define CFG_EEPROM_BUS_NUM 1 312*9490a7f1SKumar Gala 313*9490a7f1SKumar Gala /* 314*9490a7f1SKumar Gala * General PCI 315*9490a7f1SKumar Gala * Memory space is mapped 1-1, but I/O space must start from 0. 316*9490a7f1SKumar Gala */ 317*9490a7f1SKumar Gala 318*9490a7f1SKumar Gala /* PCI view of System Memory */ 319*9490a7f1SKumar Gala #define CFG_PCI_MEMORY_BUS 0x00000000 320*9490a7f1SKumar Gala #define CFG_PCI_MEMORY_PHYS 0x00000000 321*9490a7f1SKumar Gala #define CFG_PCI_MEMORY_SIZE 0x80000000 322*9490a7f1SKumar Gala 323*9490a7f1SKumar Gala #define CFG_PCI1_MEM_BASE 0x80000000 324*9490a7f1SKumar Gala #define CFG_PCI1_MEM_PHYS CFG_PCI1_MEM_BASE 325*9490a7f1SKumar Gala #define CFG_PCI1_MEM_SIZE 0x10000000 /* 256M */ 326*9490a7f1SKumar Gala #define CFG_PCI1_IO_BASE 0x00000000 327*9490a7f1SKumar Gala #define CFG_PCI1_IO_PHYS 0xffc00000 328*9490a7f1SKumar Gala #define CFG_PCI1_IO_SIZE 0x00010000 /* 64k */ 329*9490a7f1SKumar Gala 330*9490a7f1SKumar Gala /* controller 1, Slot 1, tgtid 1, Base address a000 */ 331*9490a7f1SKumar Gala #define CFG_PCIE1_MEM_BASE 0x90000000 332*9490a7f1SKumar Gala #define CFG_PCIE1_MEM_PHYS CFG_PCIE1_MEM_BASE 333*9490a7f1SKumar Gala #define CFG_PCIE1_MEM_SIZE 0x08000000 /* 128M */ 334*9490a7f1SKumar Gala #define CFG_PCIE1_IO_BASE 0x00000000 335*9490a7f1SKumar Gala #define CFG_PCIE1_IO_PHYS 0xffc10000 336*9490a7f1SKumar Gala #define CFG_PCIE1_IO_SIZE 0x00010000 /* 64k */ 337*9490a7f1SKumar Gala 338*9490a7f1SKumar Gala /* controller 2, Slot 2, tgtid 2, Base address 9000 */ 339*9490a7f1SKumar Gala #define CFG_PCIE2_MEM_BASE 0x98000000 340*9490a7f1SKumar Gala #define CFG_PCIE2_MEM_PHYS CFG_PCIE2_MEM_BASE 341*9490a7f1SKumar Gala #define CFG_PCIE2_MEM_SIZE 0x08000000 /* 128M */ 342*9490a7f1SKumar Gala #define CFG_PCIE2_IO_BASE 0x00000000 343*9490a7f1SKumar Gala #define CFG_PCIE2_IO_PHYS 0xffc20000 344*9490a7f1SKumar Gala #define CFG_PCIE2_IO_SIZE 0x00010000 /* 64k */ 345*9490a7f1SKumar Gala 346*9490a7f1SKumar Gala /* controller 3, direct to uli, tgtid 3, Base address 8000 */ 347*9490a7f1SKumar Gala #define CFG_PCIE3_MEM_BASE 0xa0000000 348*9490a7f1SKumar Gala #define CFG_PCIE3_MEM_PHYS CFG_PCIE3_MEM_BASE 349*9490a7f1SKumar Gala #define CFG_PCIE3_MEM_SIZE 0x20000000 /* 512M */ 350*9490a7f1SKumar Gala #define CFG_PCIE3_IO_BASE 0x00000000 351*9490a7f1SKumar Gala #define CFG_PCIE3_IO_PHYS 0xffc30000 352*9490a7f1SKumar Gala #define CFG_PCIE3_IO_SIZE 0x00010000 /* 64k */ 353*9490a7f1SKumar Gala 354*9490a7f1SKumar Gala #if defined(CONFIG_PCI) 355*9490a7f1SKumar Gala 356*9490a7f1SKumar Gala #define CONFIG_NET_MULTI 357*9490a7f1SKumar Gala #define CONFIG_PCI_PNP /* do pci plug-and-play */ 358*9490a7f1SKumar Gala 359*9490a7f1SKumar Gala /*PCIE video card used*/ 360*9490a7f1SKumar Gala #define VIDEO_IO_OFFSET CFG_PCIE3_IO_PHYS 361*9490a7f1SKumar Gala 362*9490a7f1SKumar Gala /*PCI video card used*/ 363*9490a7f1SKumar Gala /*#define VIDEO_IO_OFFSET CFG_PCI1_IO_PHYS*/ 364*9490a7f1SKumar Gala 365*9490a7f1SKumar Gala /* video */ 366*9490a7f1SKumar Gala #define CONFIG_VIDEO 367*9490a7f1SKumar Gala 368*9490a7f1SKumar Gala #if defined(CONFIG_VIDEO) 369*9490a7f1SKumar Gala #define CONFIG_BIOSEMU 370*9490a7f1SKumar Gala #define CONFIG_CFB_CONSOLE 371*9490a7f1SKumar Gala #define CONFIG_VIDEO_SW_CURSOR 372*9490a7f1SKumar Gala #define CONFIG_VGA_AS_SINGLE_DEVICE 373*9490a7f1SKumar Gala #define CONFIG_ATI_RADEON_FB 374*9490a7f1SKumar Gala #define CONFIG_VIDEO_LOGO 375*9490a7f1SKumar Gala /*#define CONFIG_CONSOLE_CURSOR*/ 376*9490a7f1SKumar Gala #define CFG_ISA_IO_BASE_ADDRESS CFG_PCIE3_IO_PHYS 377*9490a7f1SKumar Gala #endif 378*9490a7f1SKumar Gala 379*9490a7f1SKumar Gala #undef CONFIG_EEPRO100 380*9490a7f1SKumar Gala #undef CONFIG_TULIP 381*9490a7f1SKumar Gala #undef CONFIG_RTL8139 382*9490a7f1SKumar Gala 383*9490a7f1SKumar Gala #ifdef CONFIG_RTL8139 384*9490a7f1SKumar Gala /* This macro is used by RTL8139 but not defined in PPC architecture */ 385*9490a7f1SKumar Gala #define KSEG1ADDR(x) ({u32 _x=le32_to_cpu(*(u32 *)(x)); (&_x);}) 386*9490a7f1SKumar Gala #define _IO_BASE 0x00000000 387*9490a7f1SKumar Gala #endif 388*9490a7f1SKumar Gala 389*9490a7f1SKumar Gala #ifndef CONFIG_PCI_PNP 390*9490a7f1SKumar Gala #define PCI_ENET0_IOADDR CFG_PCI1_IO_BASE 391*9490a7f1SKumar Gala #define PCI_ENET0_MEMADDR CFG_PCI1_IO_BASE 392*9490a7f1SKumar Gala #define PCI_IDSEL_NUMBER 0x11 /* IDSEL = AD11 */ 393*9490a7f1SKumar Gala #endif 394*9490a7f1SKumar Gala 395*9490a7f1SKumar Gala #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 396*9490a7f1SKumar Gala 397*9490a7f1SKumar Gala #endif /* CONFIG_PCI */ 398*9490a7f1SKumar Gala 399*9490a7f1SKumar Gala /* SATA */ 400*9490a7f1SKumar Gala #define CONFIG_LIBATA 401*9490a7f1SKumar Gala #define CONFIG_FSL_SATA 402*9490a7f1SKumar Gala 403*9490a7f1SKumar Gala #define CFG_SATA_MAX_DEVICE 2 404*9490a7f1SKumar Gala #define CONFIG_SATA1 405*9490a7f1SKumar Gala #define CFG_SATA1 CFG_MPC85xx_SATA1_ADDR 406*9490a7f1SKumar Gala #define CFG_SATA1_FLAGS FLAGS_DMA 407*9490a7f1SKumar Gala #define CONFIG_SATA2 408*9490a7f1SKumar Gala #define CFG_SATA2 CFG_MPC85xx_SATA2_ADDR 409*9490a7f1SKumar Gala #define CFG_SATA2_FLAGS FLAGS_DMA 410*9490a7f1SKumar Gala 411*9490a7f1SKumar Gala #ifdef CONFIG_FSL_SATA 412*9490a7f1SKumar Gala #define CONFIG_LBA48 413*9490a7f1SKumar Gala #define CONFIG_CMD_SATA 414*9490a7f1SKumar Gala #define CONFIG_DOS_PARTITION 415*9490a7f1SKumar Gala #define CONFIG_CMD_EXT2 416*9490a7f1SKumar Gala #endif 417*9490a7f1SKumar Gala 418*9490a7f1SKumar Gala #if defined(CONFIG_TSEC_ENET) 419*9490a7f1SKumar Gala 420*9490a7f1SKumar Gala #ifndef CONFIG_NET_MULTI 421*9490a7f1SKumar Gala #define CONFIG_NET_MULTI 1 422*9490a7f1SKumar Gala #endif 423*9490a7f1SKumar Gala 424*9490a7f1SKumar Gala #define CONFIG_MII 1 /* MII PHY management */ 425*9490a7f1SKumar Gala #define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */ 426*9490a7f1SKumar Gala #define CONFIG_TSEC1 1 427*9490a7f1SKumar Gala #define CONFIG_TSEC1_NAME "eTSEC1" 428*9490a7f1SKumar Gala #define CONFIG_TSEC3 1 429*9490a7f1SKumar Gala #define CONFIG_TSEC3_NAME "eTSEC3" 430*9490a7f1SKumar Gala 431*9490a7f1SKumar Gala #define TSEC1_PHY_ADDR 1 /* TSEC1 -> PHY1 */ 432*9490a7f1SKumar Gala #define TSEC3_PHY_ADDR 0 /* TSEC3 -> PHY0 */ 433*9490a7f1SKumar Gala 434*9490a7f1SKumar Gala #define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 435*9490a7f1SKumar Gala #define TSEC3_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 436*9490a7f1SKumar Gala 437*9490a7f1SKumar Gala #define TSEC1_PHYIDX 0 438*9490a7f1SKumar Gala #define TSEC3_PHYIDX 0 439*9490a7f1SKumar Gala 440*9490a7f1SKumar Gala #define CONFIG_ETHPRIME "eTSEC1" 441*9490a7f1SKumar Gala 442*9490a7f1SKumar Gala #define CONFIG_PHY_GIGE 1 /* Include GbE speed/duplex detection */ 443*9490a7f1SKumar Gala 444*9490a7f1SKumar Gala #endif /* CONFIG_TSEC_ENET */ 445*9490a7f1SKumar Gala 446*9490a7f1SKumar Gala /* 447*9490a7f1SKumar Gala * Environment 448*9490a7f1SKumar Gala */ 449*9490a7f1SKumar Gala #define CFG_ENV_IS_IN_FLASH 1 450*9490a7f1SKumar Gala #if CFG_MONITOR_BASE > 0xfff80000 451*9490a7f1SKumar Gala #define CFG_ENV_ADDR 0xfff80000 452*9490a7f1SKumar Gala #else 453*9490a7f1SKumar Gala #define CFG_ENV_ADDR (CFG_MONITOR_BASE + 0x60000) 454*9490a7f1SKumar Gala #endif 455*9490a7f1SKumar Gala #define CFG_ENV_SIZE 0x2000 456*9490a7f1SKumar Gala #define CFG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */ 457*9490a7f1SKumar Gala 458*9490a7f1SKumar Gala #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 459*9490a7f1SKumar Gala #define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 460*9490a7f1SKumar Gala 461*9490a7f1SKumar Gala /* 462*9490a7f1SKumar Gala * Command line configuration. 463*9490a7f1SKumar Gala */ 464*9490a7f1SKumar Gala #include <config_cmd_default.h> 465*9490a7f1SKumar Gala 466*9490a7f1SKumar Gala #define CONFIG_CMD_IRQ 467*9490a7f1SKumar Gala #define CONFIG_CMD_PING 468*9490a7f1SKumar Gala #define CONFIG_CMD_I2C 469*9490a7f1SKumar Gala #define CONFIG_CMD_MII 470*9490a7f1SKumar Gala #define CONFIG_CMD_ELF 471*9490a7f1SKumar Gala 472*9490a7f1SKumar Gala #if defined(CONFIG_PCI) 473*9490a7f1SKumar Gala #define CONFIG_CMD_PCI 474*9490a7f1SKumar Gala #define CONFIG_CMD_BEDBUG 475*9490a7f1SKumar Gala #define CONFIG_CMD_NET 476*9490a7f1SKumar Gala #endif 477*9490a7f1SKumar Gala 478*9490a7f1SKumar Gala #undef CONFIG_WATCHDOG /* watchdog disabled */ 479*9490a7f1SKumar Gala 480*9490a7f1SKumar Gala /* 481*9490a7f1SKumar Gala * Miscellaneous configurable options 482*9490a7f1SKumar Gala */ 483*9490a7f1SKumar Gala #define CFG_LONGHELP /* undef to save memory */ 484*9490a7f1SKumar Gala #define CONFIG_CMDLINE_EDITING /* Command-line editing */ 485*9490a7f1SKumar Gala #define CFG_LOAD_ADDR 0x2000000 /* default load address */ 486*9490a7f1SKumar Gala #define CFG_PROMPT "=> " /* Monitor Command Prompt */ 487*9490a7f1SKumar Gala #if defined(CONFIG_CMD_KGDB) 488*9490a7f1SKumar Gala #define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ 489*9490a7f1SKumar Gala #else 490*9490a7f1SKumar Gala #define CFG_CBSIZE 256 /* Console I/O Buffer Size */ 491*9490a7f1SKumar Gala #endif 492*9490a7f1SKumar Gala #define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */ 493*9490a7f1SKumar Gala #define CFG_MAXARGS 16 /* max number of command args */ 494*9490a7f1SKumar Gala #define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ 495*9490a7f1SKumar Gala #define CFG_HZ 1000 /* decrementer freq: 1ms ticks */ 496*9490a7f1SKumar Gala 497*9490a7f1SKumar Gala /* 498*9490a7f1SKumar Gala * For booting Linux, the board info and command line data 499*9490a7f1SKumar Gala * have to be in the first 8 MB of memory, since this is 500*9490a7f1SKumar Gala * the maximum mapped by the Linux kernel during initialization. 501*9490a7f1SKumar Gala */ 502*9490a7f1SKumar Gala #define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux*/ 503*9490a7f1SKumar Gala 504*9490a7f1SKumar Gala /* 505*9490a7f1SKumar Gala * Internal Definitions 506*9490a7f1SKumar Gala * 507*9490a7f1SKumar Gala * Boot Flags 508*9490a7f1SKumar Gala */ 509*9490a7f1SKumar Gala #define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */ 510*9490a7f1SKumar Gala #define BOOTFLAG_WARM 0x02 /* Software reboot */ 511*9490a7f1SKumar Gala 512*9490a7f1SKumar Gala #if defined(CONFIG_CMD_KGDB) 513*9490a7f1SKumar Gala #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ 514*9490a7f1SKumar Gala #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ 515*9490a7f1SKumar Gala #endif 516*9490a7f1SKumar Gala 517*9490a7f1SKumar Gala /* 518*9490a7f1SKumar Gala * Environment Configuration 519*9490a7f1SKumar Gala */ 520*9490a7f1SKumar Gala 521*9490a7f1SKumar Gala /* The mac addresses for all ethernet interface */ 522*9490a7f1SKumar Gala #if defined(CONFIG_TSEC_ENET) 523*9490a7f1SKumar Gala #define CONFIG_HAS_ETH0 524*9490a7f1SKumar Gala #define CONFIG_ETHADDR 00:E0:0C:02:00:FD 525*9490a7f1SKumar Gala #define CONFIG_HAS_ETH1 526*9490a7f1SKumar Gala #define CONFIG_ETH1ADDR 00:E0:0C:02:01:FD 527*9490a7f1SKumar Gala #define CONFIG_HAS_ETH2 528*9490a7f1SKumar Gala #define CONFIG_ETH2ADDR 00:E0:0C:02:02:FD 529*9490a7f1SKumar Gala #define CONFIG_HAS_ETH3 530*9490a7f1SKumar Gala #define CONFIG_ETH3ADDR 00:E0:0C:02:03:FD 531*9490a7f1SKumar Gala #endif 532*9490a7f1SKumar Gala 533*9490a7f1SKumar Gala #define CONFIG_IPADDR 192.168.1.254 534*9490a7f1SKumar Gala 535*9490a7f1SKumar Gala #define CONFIG_HOSTNAME unknown 536*9490a7f1SKumar Gala #define CONFIG_ROOTPATH /opt/nfsroot 537*9490a7f1SKumar Gala #define CONFIG_BOOTFILE uImage 538*9490a7f1SKumar Gala #define CONFIG_UBOOTPATH u-boot.bin /* U-Boot image on TFTP server */ 539*9490a7f1SKumar Gala 540*9490a7f1SKumar Gala #define CONFIG_SERVERIP 192.168.1.1 541*9490a7f1SKumar Gala #define CONFIG_GATEWAYIP 192.168.1.1 542*9490a7f1SKumar Gala #define CONFIG_NETMASK 255.255.255.0 543*9490a7f1SKumar Gala 544*9490a7f1SKumar Gala /* default location for tftp and bootm */ 545*9490a7f1SKumar Gala #define CONFIG_LOADADDR 1000000 546*9490a7f1SKumar Gala 547*9490a7f1SKumar Gala #define CONFIG_BOOTDELAY 10 /* -1 disables auto-boot */ 548*9490a7f1SKumar Gala #undef CONFIG_BOOTARGS /* the boot command will set bootargs */ 549*9490a7f1SKumar Gala 550*9490a7f1SKumar Gala #define CONFIG_BAUDRATE 115200 551*9490a7f1SKumar Gala 552*9490a7f1SKumar Gala #define CONFIG_EXTRA_ENV_SETTINGS \ 553*9490a7f1SKumar Gala "netdev=eth0\0" \ 554*9490a7f1SKumar Gala "uboot=" MK_STR(CONFIG_UBOOTPATH) "\0" \ 555*9490a7f1SKumar Gala "tftpflash=tftpboot $loadaddr $uboot; " \ 556*9490a7f1SKumar Gala "protect off " MK_STR(TEXT_BASE) " +$filesize; " \ 557*9490a7f1SKumar Gala "erase " MK_STR(TEXT_BASE) " +$filesize; " \ 558*9490a7f1SKumar Gala "cp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize; " \ 559*9490a7f1SKumar Gala "protect on " MK_STR(TEXT_BASE) " +$filesize; " \ 560*9490a7f1SKumar Gala "cmp.b $loadaddr " MK_STR(TEXT_BASE) " $filesize\0" \ 561*9490a7f1SKumar Gala "consoledev=ttyS0\0" \ 562*9490a7f1SKumar Gala "ramdiskaddr=2000000\0" \ 563*9490a7f1SKumar Gala "ramdiskfile=8536ds/ramdisk.uboot\0" \ 564*9490a7f1SKumar Gala "fdtaddr=c00000\0" \ 565*9490a7f1SKumar Gala "fdtfile=8536ds/mpc8536ds.dtb\0" \ 566*9490a7f1SKumar Gala "bdev=sda3\0" 567*9490a7f1SKumar Gala 568*9490a7f1SKumar Gala #define CONFIG_HDBOOT \ 569*9490a7f1SKumar Gala "setenv bootargs root=/dev/$bdev rw " \ 570*9490a7f1SKumar Gala "console=$consoledev,$baudrate $othbootargs;" \ 571*9490a7f1SKumar Gala "tftp $loadaddr $bootfile;" \ 572*9490a7f1SKumar Gala "tftp $fdtaddr $fdtfile;" \ 573*9490a7f1SKumar Gala "bootm $loadaddr - $fdtaddr" 574*9490a7f1SKumar Gala 575*9490a7f1SKumar Gala #define CONFIG_NFSBOOTCOMMAND \ 576*9490a7f1SKumar Gala "setenv bootargs root=/dev/nfs rw " \ 577*9490a7f1SKumar Gala "nfsroot=$serverip:$rootpath " \ 578*9490a7f1SKumar Gala "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 579*9490a7f1SKumar Gala "console=$consoledev,$baudrate $othbootargs;" \ 580*9490a7f1SKumar Gala "tftp $loadaddr $bootfile;" \ 581*9490a7f1SKumar Gala "tftp $fdtaddr $fdtfile;" \ 582*9490a7f1SKumar Gala "bootm $loadaddr - $fdtaddr" 583*9490a7f1SKumar Gala 584*9490a7f1SKumar Gala #define CONFIG_RAMBOOTCOMMAND \ 585*9490a7f1SKumar Gala "setenv bootargs root=/dev/ram rw " \ 586*9490a7f1SKumar Gala "console=$consoledev,$baudrate $othbootargs;" \ 587*9490a7f1SKumar Gala "tftp $ramdiskaddr $ramdiskfile;" \ 588*9490a7f1SKumar Gala "tftp $loadaddr $bootfile;" \ 589*9490a7f1SKumar Gala "tftp $fdtaddr $fdtfile;" \ 590*9490a7f1SKumar Gala "bootm $loadaddr $ramdiskaddr $fdtaddr" 591*9490a7f1SKumar Gala 592*9490a7f1SKumar Gala #define CONFIG_BOOTCOMMAND CONFIG_HDBOOT 593*9490a7f1SKumar Gala 594*9490a7f1SKumar Gala #endif /* __CONFIG_H */ 595