1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright 2009-2011 Freescale Semiconductor, Inc. 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun /* 8*4882a593Smuzhiyun * mpc8569mds board configuration file 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun #ifndef __CONFIG_H 11*4882a593Smuzhiyun #define __CONFIG_H 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #define CONFIG_SYS_SRIO 14*4882a593Smuzhiyun #define CONFIG_SRIO1 /* SRIO port 1 */ 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #define CONFIG_PCIE1 1 /* PCIE controller */ 17*4882a593Smuzhiyun #define CONFIG_FSL_PCI_INIT 1 /* use common fsl pci init code */ 18*4882a593Smuzhiyun #define CONFIG_PCI_INDIRECT_BRIDGE 1 /* indirect PCI bridge support */ 19*4882a593Smuzhiyun #define CONFIG_FSL_PCIE_RESET 1 /* need PCIe reset errata */ 20*4882a593Smuzhiyun #define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */ 21*4882a593Smuzhiyun #define CONFIG_QE /* Enable QE */ 22*4882a593Smuzhiyun #define CONFIG_ENV_OVERWRITE 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 25*4882a593Smuzhiyun extern unsigned long get_clock_freq(void); 26*4882a593Smuzhiyun #endif 27*4882a593Smuzhiyun /* Replace a call to get_clock_freq (after it is implemented)*/ 28*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ 66666666 29*4882a593Smuzhiyun #define CONFIG_DDR_CLK_FREQ CONFIG_SYS_CLK_FREQ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #ifdef CONFIG_ATM 32*4882a593Smuzhiyun #define CONFIG_PQ_MDS_PIB 33*4882a593Smuzhiyun #define CONFIG_PQ_MDS_PIB_ATM 34*4882a593Smuzhiyun #endif 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun /* 37*4882a593Smuzhiyun * These can be toggled for performance analysis, otherwise use default. 38*4882a593Smuzhiyun */ 39*4882a593Smuzhiyun #define CONFIG_L2_CACHE /* toggle L2 cache */ 40*4882a593Smuzhiyun #define CONFIG_BTB /* toggle branch predition */ 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun #ifndef CONFIG_SYS_TEXT_BASE 43*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0xfff80000 44*4882a593Smuzhiyun #endif 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun #ifndef CONFIG_SYS_MONITOR_BASE 47*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 48*4882a593Smuzhiyun #endif 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun /* 51*4882a593Smuzhiyun * Only possible on E500 Version 2 or newer cores. 52*4882a593Smuzhiyun */ 53*4882a593Smuzhiyun #define CONFIG_ENABLE_36BIT_PHYS 1 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #define CONFIG_BOARD_EARLY_INIT_R 1 56*4882a593Smuzhiyun #define CONFIG_HWCONFIG 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ 59*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x00400000 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun /* 62*4882a593Smuzhiyun * Config the L2 Cache as L2 SRAM 63*4882a593Smuzhiyun */ 64*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR 0xf8f80000 65*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR_PHYS CONFIG_SYS_INIT_L2_ADDR 66*4882a593Smuzhiyun #define CONFIG_SYS_L2_SIZE (512 << 10) 67*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_END (CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE) 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun #define CONFIG_SYS_CCSRBAR 0xe0000000 70*4882a593Smuzhiyun #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun #if defined(CONFIG_NAND_SPL) 73*4882a593Smuzhiyun #define CONFIG_SYS_CCSR_DO_NOT_RELOCATE 74*4882a593Smuzhiyun #endif 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun /* DDR Setup */ 77*4882a593Smuzhiyun #undef CONFIG_FSL_DDR_INTERACTIVE 78*4882a593Smuzhiyun #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup*/ 79*4882a593Smuzhiyun #define CONFIG_DDR_SPD 80*4882a593Smuzhiyun #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER /* DDR controller or DMA? */ 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun #define CONFIG_MEM_INIT_VALUE 0xDeadBeef 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 85*4882a593Smuzhiyun /* DDR is system memory*/ 86*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun #define CONFIG_DIMM_SLOTS_PER_CTLR 1 89*4882a593Smuzhiyun #define CONFIG_CHIP_SELECTS_PER_CTRL (2 * CONFIG_DIMM_SLOTS_PER_CTLR) 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun /* I2C addresses of SPD EEPROMs */ 92*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS 0x51 /* CTLR 0 DIMM 0 */ 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun /* These are used when DDR doesn't use SPD. */ 95*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE 1024 /* DDR is 1024MB */ 96*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_BNDS 0x0000003F 97*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_CONFIG 0x80014202 98*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_3 0x00020000 99*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_0 0x00330004 100*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_1 0x6F6B4644 101*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_2 0x002888D0 102*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG 0x47000000 103*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CFG_2 0x04401040 104*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_MODE 0x40401521 105*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_MODE_2 0x8000C000 106*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_INTERVAL 0x03E00000 107*4882a593Smuzhiyun #define CONFIG_SYS_DDR_DATA_INIT 0xdeadbeef 108*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_CLK_CNTL 0x01000000 109*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_4 0x00220001 110*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_5 0x03402400 111*4882a593Smuzhiyun #define CONFIG_SYS_DDR_ZQ_CNTL 0x89080600 112*4882a593Smuzhiyun #define CONFIG_SYS_DDR_WRLVL_CNTL 0x0655A604 113*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CDR_1 0x80040000 114*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CDR_2 0x00000000 115*4882a593Smuzhiyun #define CONFIG_SYS_DDR_OCD_CTRL 0x00000000 116*4882a593Smuzhiyun #define CONFIG_SYS_DDR_OCD_STATUS 0x00000000 117*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CONTROL 0xc7000000 /* Type = DDR3 */ 118*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CONTROL2 0x24400000 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun #define CONFIG_SYS_DDR_ERR_INT_EN 0x0000000d 121*4882a593Smuzhiyun #define CONFIG_SYS_DDR_ERR_DIS 0x00000000 122*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SBE 0x00010000 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun #undef CONFIG_CLOCKS_IN_MHZ 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun /* 127*4882a593Smuzhiyun * Local Bus Definitions 128*4882a593Smuzhiyun */ 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0xfe000000 /* start of FLASH 32M */ 131*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun #define CONFIG_SYS_BCSR_BASE 0xf8000000 134*4882a593Smuzhiyun #define CONFIG_SYS_BCSR_BASE_PHYS CONFIG_SYS_BCSR_BASE 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun /*Chip select 0 - Flash*/ 137*4882a593Smuzhiyun #define CONFIG_FLASH_BR_PRELIM 0xfe000801 138*4882a593Smuzhiyun #define CONFIG_FLASH_OR_PRELIM 0xfe000ff7 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun /*Chip select 1 - BCSR*/ 141*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM 0xf8000801 142*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM 0xffffe9f7 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun /*Chip select 4 - PIB*/ 145*4882a593Smuzhiyun #define CONFIG_SYS_BR4_PRELIM 0xf8008801 146*4882a593Smuzhiyun #define CONFIG_SYS_OR4_PRELIM 0xffffe9f7 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun /*Chip select 5 - PIB*/ 149*4882a593Smuzhiyun #define CONFIG_SYS_BR5_PRELIM 0xf8010801 150*4882a593Smuzhiyun #define CONFIG_SYS_OR5_PRELIM 0xffffe9f7 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 153*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 512 /* sectors per device */ 154*4882a593Smuzhiyun #undef CONFIG_SYS_FLASH_CHECKSUM 155*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 156*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 157*4882a593Smuzhiyun 158*4882a593Smuzhiyun #undef CONFIG_SYS_RAMBOOT 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER 161*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI 162*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_EMPTY_INFO 163*4882a593Smuzhiyun 164*4882a593Smuzhiyun /* Chip select 3 - NAND */ 165*4882a593Smuzhiyun #ifndef CONFIG_NAND_SPL 166*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE 0xFC000000 167*4882a593Smuzhiyun #else 168*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE 0xFFF00000 169*4882a593Smuzhiyun #endif 170*4882a593Smuzhiyun 171*4882a593Smuzhiyun /* NAND boot: 4K NAND loader config */ 172*4882a593Smuzhiyun #define CONFIG_SYS_NAND_SPL_SIZE 0x1000 173*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_SIZE ((512 << 10) - 0x2000) 174*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_DST (CONFIG_SYS_INIT_L2_ADDR) 175*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_START \ 176*4882a593Smuzhiyun (CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_NAND_SPL_SIZE) 177*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS (0) 178*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_RELOC (CONFIG_SYS_INIT_L2_END - 0x2000) 179*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_RELOC_SP ((CONFIG_SYS_INIT_L2_END - 1) & ~0xF) 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE 182*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE, } 183*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 184*4882a593Smuzhiyun #define CONFIG_NAND_FSL_ELBC 1 185*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 186*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BR_PRELIM (CONFIG_SYS_NAND_BASE_PHYS \ 187*4882a593Smuzhiyun | (2<<BR_DECC_SHIFT) /* Use HW ECC */ \ 188*4882a593Smuzhiyun | BR_PS_8 /* Port Size = 8 bit */ \ 189*4882a593Smuzhiyun | BR_MS_FCM /* MSEL = FCM */ \ 190*4882a593Smuzhiyun | BR_V) /* valid */ 191*4882a593Smuzhiyun #define CONFIG_SYS_NAND_OR_PRELIM (0xFFFC0000 /* length 256K */ \ 192*4882a593Smuzhiyun | OR_FCM_CSCT \ 193*4882a593Smuzhiyun | OR_FCM_CST \ 194*4882a593Smuzhiyun | OR_FCM_CHT \ 195*4882a593Smuzhiyun | OR_FCM_SCY_1 \ 196*4882a593Smuzhiyun | OR_FCM_TRLX \ 197*4882a593Smuzhiyun | OR_FCM_EHTR) 198*4882a593Smuzhiyun 199*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM CONFIG_FLASH_BR_PRELIM /* NOR Base Address */ 200*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM CONFIG_FLASH_OR_PRELIM /* NOR Options */ 201*4882a593Smuzhiyun #define CONFIG_SYS_BR3_PRELIM CONFIG_SYS_NAND_BR_PRELIM /* NAND Base Address */ 202*4882a593Smuzhiyun #define CONFIG_SYS_OR3_PRELIM CONFIG_SYS_NAND_OR_PRELIM /* NAND Options */ 203*4882a593Smuzhiyun 204*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LCRR 0x00000004 /* LB clock ratio reg */ 205*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LBCR 0x00040000 /* LB config reg */ 206*4882a593Smuzhiyun #define CONFIG_SYS_LBC_LSRT 0x20000000 /* LB sdram refresh timer */ 207*4882a593Smuzhiyun #define CONFIG_SYS_LBC_MRTPR 0x00000000 /* LB refresh timer prescal*/ 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_LOCK 1 210*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR 0xe4010000 /* Initial RAM address */ 211*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x4000 /* Size of used area in RAM */ 212*4882a593Smuzhiyun 213*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET \ 214*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 215*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 216*4882a593Smuzhiyun 217*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */ 218*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (512 * 1024) /* Reserved for malloc */ 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun /* Serial Port */ 221*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 222*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 223*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE 1 224*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 225*4882a593Smuzhiyun #ifdef CONFIG_NAND_SPL 226*4882a593Smuzhiyun #define CONFIG_NS16550_MIN_FUNCTIONS 227*4882a593Smuzhiyun #endif 228*4882a593Smuzhiyun 229*4882a593Smuzhiyun #define CONFIG_SYS_BAUDRATE_TABLE \ 230*4882a593Smuzhiyun {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200} 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x4500) 233*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x4600) 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun /* 236*4882a593Smuzhiyun * I2C 237*4882a593Smuzhiyun */ 238*4882a593Smuzhiyun #define CONFIG_SYS_I2C 239*4882a593Smuzhiyun #define CONFIG_SYS_I2C_FSL 240*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SPEED 400000 241*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 242*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_SPEED 400000 243*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F 244*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 245*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100 246*4882a593Smuzhiyun #define CONFIG_SYS_I2C_NOPROBES { {0, 0x69} } 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun /* 249*4882a593Smuzhiyun * I2C2 EEPROM 250*4882a593Smuzhiyun */ 251*4882a593Smuzhiyun #define CONFIG_ID_EEPROM 252*4882a593Smuzhiyun #ifdef CONFIG_ID_EEPROM 253*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_NXID 254*4882a593Smuzhiyun #endif 255*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x52 256*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 257*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_BUS_NUM 1 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun #define PLPPAR1_I2C_BIT_MASK 0x0000000F 260*4882a593Smuzhiyun #define PLPPAR1_I2C2_VAL 0x00000000 261*4882a593Smuzhiyun #define PLPPAR1_ESDHC_VAL 0x0000000A 262*4882a593Smuzhiyun #define PLPDIR1_I2C_BIT_MASK 0x0000000F 263*4882a593Smuzhiyun #define PLPDIR1_I2C2_VAL 0x0000000F 264*4882a593Smuzhiyun #define PLPDIR1_ESDHC_VAL 0x00000006 265*4882a593Smuzhiyun #define PLPPAR1_UART0_BIT_MASK 0x00000fc0 266*4882a593Smuzhiyun #define PLPPAR1_ESDHC_4BITS_VAL 0x00000a80 267*4882a593Smuzhiyun #define PLPDIR1_UART0_BIT_MASK 0x00000fc0 268*4882a593Smuzhiyun #define PLPDIR1_ESDHC_4BITS_VAL 0x00000a80 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun /* 271*4882a593Smuzhiyun * General PCI 272*4882a593Smuzhiyun * Memory Addresses are mapped 1-1. I/O is mapped from 0 273*4882a593Smuzhiyun */ 274*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_NAME "Slot" 275*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_VIRT 0xa0000000 276*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_BUS 0xa0000000 277*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_PHYS 0xa0000000 278*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_SIZE 0x20000000 /* 512M */ 279*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_VIRT 0xe2800000 280*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_BUS 0x00000000 281*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_PHYS 0xe2800000 282*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_SIZE 0x00800000 /* 8M */ 283*4882a593Smuzhiyun 284*4882a593Smuzhiyun #define CONFIG_SYS_SRIO1_MEM_VIRT 0xC0000000 285*4882a593Smuzhiyun #define CONFIG_SYS_SRIO1_MEM_BUS 0xC0000000 286*4882a593Smuzhiyun #define CONFIG_SYS_SRIO1_MEM_PHYS CONFIG_SYS_SRIO1_MEM_BUS 287*4882a593Smuzhiyun #define CONFIG_SYS_SRIO1_MEM_SIZE 0x20000000 /* 512M */ 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun #ifdef CONFIG_QE 290*4882a593Smuzhiyun /* 291*4882a593Smuzhiyun * QE UEC ethernet configuration 292*4882a593Smuzhiyun */ 293*4882a593Smuzhiyun #define CONFIG_SYS_UCC_RGMII_MODE /* Set UCC work at RGMII by default */ 294*4882a593Smuzhiyun #undef CONFIG_SYS_UCC_RMII_MODE /* Set UCC work at RMII mode */ 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun #define CONFIG_MIIM_ADDRESS (CONFIG_SYS_CCSRBAR + 0x82120) 297*4882a593Smuzhiyun #define CONFIG_UEC_ETH 298*4882a593Smuzhiyun #define CONFIG_ETHPRIME "UEC0" 299*4882a593Smuzhiyun #define CONFIG_PHY_MODE_NEED_CHANGE 300*4882a593Smuzhiyun 301*4882a593Smuzhiyun #define CONFIG_UEC_ETH1 /* GETH1 */ 302*4882a593Smuzhiyun #define CONFIG_HAS_ETH0 303*4882a593Smuzhiyun 304*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH1 305*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_UCC_NUM 0 /* UCC1 */ 306*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_RX_CLK QE_CLK_NONE 307*4882a593Smuzhiyun #if defined(CONFIG_SYS_UCC_RGMII_MODE) 308*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_TX_CLK QE_CLK12 309*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_ETH_TYPE GIGA_ETH 310*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_PHY_ADDR 7 311*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_TYPE PHY_INTERFACE_MODE_RGMII_ID 312*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_SPEED 1000 313*4882a593Smuzhiyun #elif defined(CONFIG_SYS_UCC_RMII_MODE) 314*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_TX_CLK QE_CLK16 /* CLK16 for RMII */ 315*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_ETH_TYPE FAST_ETH 316*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_PHY_ADDR 8 /* 0x8 for RMII */ 317*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_TYPE PHY_INTERFACE_MODE_RMII 318*4882a593Smuzhiyun #define CONFIG_SYS_UEC1_INTERFACE_SPEED 100 319*4882a593Smuzhiyun #endif /* CONFIG_SYS_UCC_RGMII_MODE */ 320*4882a593Smuzhiyun #endif /* CONFIG_UEC_ETH1 */ 321*4882a593Smuzhiyun 322*4882a593Smuzhiyun #define CONFIG_UEC_ETH2 /* GETH2 */ 323*4882a593Smuzhiyun #define CONFIG_HAS_ETH1 324*4882a593Smuzhiyun 325*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH2 326*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_UCC_NUM 1 /* UCC2 */ 327*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_RX_CLK QE_CLK_NONE 328*4882a593Smuzhiyun #if defined(CONFIG_SYS_UCC_RGMII_MODE) 329*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_TX_CLK QE_CLK17 330*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_ETH_TYPE GIGA_ETH 331*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_PHY_ADDR 1 332*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_TYPE PHY_INTERFACE_MODE_RGMII_ID 333*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_SPEED 1000 334*4882a593Smuzhiyun #elif defined(CONFIG_SYS_UCC_RMII_MODE) 335*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_TX_CLK QE_CLK16 /* CLK 16 for RMII */ 336*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_ETH_TYPE FAST_ETH 337*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_PHY_ADDR 0x9 /* 0x9 for RMII */ 338*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_TYPE PHY_INTERFACE_MODE_RMII 339*4882a593Smuzhiyun #define CONFIG_SYS_UEC2_INTERFACE_SPEED 100 340*4882a593Smuzhiyun #endif /* CONFIG_SYS_UCC_RGMII_MODE */ 341*4882a593Smuzhiyun #endif /* CONFIG_UEC_ETH2 */ 342*4882a593Smuzhiyun 343*4882a593Smuzhiyun #define CONFIG_UEC_ETH3 /* GETH3 */ 344*4882a593Smuzhiyun #define CONFIG_HAS_ETH2 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH3 347*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_UCC_NUM 2 /* UCC3 */ 348*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_RX_CLK QE_CLK_NONE 349*4882a593Smuzhiyun #if defined(CONFIG_SYS_UCC_RGMII_MODE) 350*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_TX_CLK QE_CLK12 351*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_ETH_TYPE GIGA_ETH 352*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_PHY_ADDR 2 353*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_INTERFACE_TYPE PHY_INTERFACE_MODE_RGMII_ID 354*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_INTERFACE_SPEED 1000 355*4882a593Smuzhiyun #elif defined(CONFIG_SYS_UCC_RMII_MODE) 356*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_TX_CLK QE_CLK16 /* CLK_16 for RMII */ 357*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_ETH_TYPE FAST_ETH 358*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_PHY_ADDR 0xA /* 0xA for RMII */ 359*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_INTERFACE_TYPE PHY_INTERFACE_MODE_RMII 360*4882a593Smuzhiyun #define CONFIG_SYS_UEC3_INTERFACE_SPEED 100 361*4882a593Smuzhiyun #endif /* CONFIG_SYS_UCC_RGMII_MODE */ 362*4882a593Smuzhiyun #endif /* CONFIG_UEC_ETH3 */ 363*4882a593Smuzhiyun 364*4882a593Smuzhiyun #define CONFIG_UEC_ETH4 /* GETH4 */ 365*4882a593Smuzhiyun #define CONFIG_HAS_ETH3 366*4882a593Smuzhiyun 367*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH4 368*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_UCC_NUM 3 /* UCC4 */ 369*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_RX_CLK QE_CLK_NONE 370*4882a593Smuzhiyun #if defined(CONFIG_SYS_UCC_RGMII_MODE) 371*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_TX_CLK QE_CLK17 372*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_ETH_TYPE GIGA_ETH 373*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_PHY_ADDR 3 374*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_INTERFACE_TYPE PHY_INTERFACE_MODE_RGMII_ID 375*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_INTERFACE_SPEED 1000 376*4882a593Smuzhiyun #elif defined(CONFIG_SYS_UCC_RMII_MODE) 377*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_TX_CLK QE_CLK16 /* CLK16 for RMII */ 378*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_ETH_TYPE FAST_ETH 379*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_PHY_ADDR 0xB /* 0xB for RMII */ 380*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_INTERFACE_TYPE PHY_INTERFACE_MODE_RMII 381*4882a593Smuzhiyun #define CONFIG_SYS_UEC4_INTERFACE_SPEED 100 382*4882a593Smuzhiyun #endif /* CONFIG_SYS_UCC_RGMII_MODE */ 383*4882a593Smuzhiyun #endif /* CONFIG_UEC_ETH4 */ 384*4882a593Smuzhiyun 385*4882a593Smuzhiyun #undef CONFIG_UEC_ETH6 /* GETH6 */ 386*4882a593Smuzhiyun #define CONFIG_HAS_ETH5 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH6 389*4882a593Smuzhiyun #define CONFIG_SYS_UEC6_UCC_NUM 5 /* UCC6 */ 390*4882a593Smuzhiyun #define CONFIG_SYS_UEC6_RX_CLK QE_CLK_NONE 391*4882a593Smuzhiyun #define CONFIG_SYS_UEC6_TX_CLK QE_CLK_NONE 392*4882a593Smuzhiyun #define CONFIG_SYS_UEC6_ETH_TYPE GIGA_ETH 393*4882a593Smuzhiyun #define CONFIG_SYS_UEC6_PHY_ADDR 4 394*4882a593Smuzhiyun #define CONFIG_SYS_UEC6_INTERFACE_TYPE PHY_INTERFACE_MODE_SGMII 395*4882a593Smuzhiyun #define CONFIG_SYS_UEC6_INTERFACE_SPEED 1000 396*4882a593Smuzhiyun #endif /* CONFIG_UEC_ETH6 */ 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun #undef CONFIG_UEC_ETH8 /* GETH8 */ 399*4882a593Smuzhiyun #define CONFIG_HAS_ETH7 400*4882a593Smuzhiyun 401*4882a593Smuzhiyun #ifdef CONFIG_UEC_ETH8 402*4882a593Smuzhiyun #define CONFIG_SYS_UEC8_UCC_NUM 7 /* UCC8 */ 403*4882a593Smuzhiyun #define CONFIG_SYS_UEC8_RX_CLK QE_CLK_NONE 404*4882a593Smuzhiyun #define CONFIG_SYS_UEC8_TX_CLK QE_CLK_NONE 405*4882a593Smuzhiyun #define CONFIG_SYS_UEC8_ETH_TYPE GIGA_ETH 406*4882a593Smuzhiyun #define CONFIG_SYS_UEC8_PHY_ADDR 6 407*4882a593Smuzhiyun #define CONFIG_SYS_UEC8_INTERFACE_TYPE PHY_INTERFACE_MODE_SGMII 408*4882a593Smuzhiyun #define CONFIG_SYS_UEC8_INTERFACE_SPEED 1000 409*4882a593Smuzhiyun #endif /* CONFIG_UEC_ETH8 */ 410*4882a593Smuzhiyun 411*4882a593Smuzhiyun #endif /* CONFIG_QE */ 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun #if defined(CONFIG_PCI) 414*4882a593Smuzhiyun #undef CONFIG_EEPRO100 415*4882a593Smuzhiyun #undef CONFIG_TULIP 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun #undef CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 418*4882a593Smuzhiyun 419*4882a593Smuzhiyun #endif /* CONFIG_PCI */ 420*4882a593Smuzhiyun 421*4882a593Smuzhiyun /* 422*4882a593Smuzhiyun * Environment 423*4882a593Smuzhiyun */ 424*4882a593Smuzhiyun #if defined(CONFIG_SYS_RAMBOOT) 425*4882a593Smuzhiyun #else 426*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE) 427*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */ 428*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 429*4882a593Smuzhiyun #endif 430*4882a593Smuzhiyun 431*4882a593Smuzhiyun #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 432*4882a593Smuzhiyun #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 433*4882a593Smuzhiyun 434*4882a593Smuzhiyun /* QE microcode/firmware address */ 435*4882a593Smuzhiyun #define CONFIG_SYS_QE_FMAN_FW_IN_NOR 436*4882a593Smuzhiyun #define CONFIG_SYS_QE_FW_ADDR 0xfff00000 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun /* 439*4882a593Smuzhiyun * BOOTP options 440*4882a593Smuzhiyun */ 441*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 442*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 443*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 444*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 445*4882a593Smuzhiyun 446*4882a593Smuzhiyun #undef CONFIG_WATCHDOG /* watchdog disabled */ 447*4882a593Smuzhiyun 448*4882a593Smuzhiyun #ifdef CONFIG_MMC 449*4882a593Smuzhiyun #define CONFIG_FSL_ESDHC 450*4882a593Smuzhiyun #define CONFIG_FSL_ESDHC_PIN_MUX 451*4882a593Smuzhiyun #define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC85xx_ESDHC_ADDR 452*4882a593Smuzhiyun #endif 453*4882a593Smuzhiyun 454*4882a593Smuzhiyun /* 455*4882a593Smuzhiyun * Miscellaneous configurable options 456*4882a593Smuzhiyun */ 457*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 458*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING /* Command-line editing */ 459*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 460*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 461*4882a593Smuzhiyun #if defined(CONFIG_CMD_KGDB) 462*4882a593Smuzhiyun #define CONFIG_SYS_CBSIZE 2048 /* Console I/O Buffer Size */ 463*4882a593Smuzhiyun #else 464*4882a593Smuzhiyun #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */ 465*4882a593Smuzhiyun #endif 466*4882a593Smuzhiyun #define CONFIG_SYS_MAXARGS 32 /* max number of command args */ 467*4882a593Smuzhiyun #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 468*4882a593Smuzhiyun /* Boot Argument Buffer Size */ 469*4882a593Smuzhiyun 470*4882a593Smuzhiyun /* 471*4882a593Smuzhiyun * For booting Linux, the board info and command line data 472*4882a593Smuzhiyun * have to be in the first 64 MB of memory, since this is 473*4882a593Smuzhiyun * the maximum mapped by the Linux kernel during initialization. 474*4882a593Smuzhiyun */ 475*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ (64 << 20) /* Initial Memory map for Linux*/ 476*4882a593Smuzhiyun #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 477*4882a593Smuzhiyun 478*4882a593Smuzhiyun #if defined(CONFIG_CMD_KGDB) 479*4882a593Smuzhiyun #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ 480*4882a593Smuzhiyun #endif 481*4882a593Smuzhiyun 482*4882a593Smuzhiyun /* 483*4882a593Smuzhiyun * Environment Configuration 484*4882a593Smuzhiyun */ 485*4882a593Smuzhiyun #define CONFIG_HOSTNAME mpc8569mds 486*4882a593Smuzhiyun #define CONFIG_ROOTPATH "/nfsroot" 487*4882a593Smuzhiyun #define CONFIG_BOOTFILE "your.uImage" 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun #define CONFIG_SERVERIP 192.168.1.1 490*4882a593Smuzhiyun #define CONFIG_GATEWAYIP 192.168.1.1 491*4882a593Smuzhiyun #define CONFIG_NETMASK 255.255.255.0 492*4882a593Smuzhiyun 493*4882a593Smuzhiyun #define CONFIG_LOADADDR 200000 /*default location for tftp and bootm*/ 494*4882a593Smuzhiyun 495*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 496*4882a593Smuzhiyun "netdev=eth0\0" \ 497*4882a593Smuzhiyun "consoledev=ttyS0\0" \ 498*4882a593Smuzhiyun "ramdiskaddr=600000\0" \ 499*4882a593Smuzhiyun "ramdiskfile=your.ramdisk.u-boot\0" \ 500*4882a593Smuzhiyun "fdtaddr=400000\0" \ 501*4882a593Smuzhiyun "fdtfile=your.fdt.dtb\0" \ 502*4882a593Smuzhiyun "nfsargs=setenv bootargs root=/dev/nfs rw " \ 503*4882a593Smuzhiyun "nfsroot=$serverip:$rootpath " \ 504*4882a593Smuzhiyun "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 505*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs\0" \ 506*4882a593Smuzhiyun "ramargs=setenv bootargs root=/dev/ram rw " \ 507*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs\0" \ 508*4882a593Smuzhiyun 509*4882a593Smuzhiyun #define CONFIG_NFSBOOTCOMMAND \ 510*4882a593Smuzhiyun "run nfsargs;" \ 511*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 512*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 513*4882a593Smuzhiyun "bootm $loadaddr - $fdtaddr" 514*4882a593Smuzhiyun 515*4882a593Smuzhiyun #define CONFIG_RAMBOOTCOMMAND \ 516*4882a593Smuzhiyun "run ramargs;" \ 517*4882a593Smuzhiyun "tftp $ramdiskaddr $ramdiskfile;" \ 518*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 519*4882a593Smuzhiyun "bootm $loadaddr $ramdiskaddr" 520*4882a593Smuzhiyun 521*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND CONFIG_NFSBOOTCOMMAND 522*4882a593Smuzhiyun 523*4882a593Smuzhiyun #endif /* __CONFIG_H */ 524