1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright 2010-2012 Freescale Semiconductor, Inc. 3*4882a593Smuzhiyun * Authors: Srikanth Srinivasan <srikanth.srinivasan@freescale.com> 4*4882a593Smuzhiyun * Timur Tabi <timur@freescale.com> 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #ifndef __CONFIG_H 10*4882a593Smuzhiyun #define __CONFIG_H 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #include "../board/freescale/common/ics307_clk.h" 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #ifdef CONFIG_SDCARD 15*4882a593Smuzhiyun #define CONFIG_SPL_MMC_MINIMAL 16*4882a593Smuzhiyun #define CONFIG_SPL_FLUSH_IMAGE 17*4882a593Smuzhiyun #define CONFIG_SPL_TARGET "u-boot-with-spl.bin" 18*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x11001000 19*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0xf8f81000 20*4882a593Smuzhiyun #define CONFIG_SPL_PAD_TO 0x20000 21*4882a593Smuzhiyun #define CONFIG_SPL_MAX_SIZE (128 * 1024) 22*4882a593Smuzhiyun #define CONFIG_SYS_MMC_U_BOOT_SIZE (768 << 10) 23*4882a593Smuzhiyun #define CONFIG_SYS_MMC_U_BOOT_DST (0x11000000) 24*4882a593Smuzhiyun #define CONFIG_SYS_MMC_U_BOOT_START (0x11000000) 25*4882a593Smuzhiyun #define CONFIG_SYS_MMC_U_BOOT_OFFS (128 << 10) 26*4882a593Smuzhiyun #define CONFIG_SYS_MPC85XX_NO_RESETVEC 27*4882a593Smuzhiyun #define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot.lds" 28*4882a593Smuzhiyun #define CONFIG_SPL_MMC_BOOT 29*4882a593Smuzhiyun #ifdef CONFIG_SPL_BUILD 30*4882a593Smuzhiyun #define CONFIG_SPL_COMMON_INIT_DDR 31*4882a593Smuzhiyun #endif 32*4882a593Smuzhiyun #endif 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #ifdef CONFIG_SPIFLASH 35*4882a593Smuzhiyun #define CONFIG_SPL_SPI_FLASH_MINIMAL 36*4882a593Smuzhiyun #define CONFIG_SPL_FLUSH_IMAGE 37*4882a593Smuzhiyun #define CONFIG_SPL_TARGET "u-boot-with-spl.bin" 38*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x11001000 39*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0xf8f81000 40*4882a593Smuzhiyun #define CONFIG_SPL_PAD_TO 0x20000 41*4882a593Smuzhiyun #define CONFIG_SPL_MAX_SIZE (128 * 1024) 42*4882a593Smuzhiyun #define CONFIG_SYS_SPI_FLASH_U_BOOT_SIZE (768 << 10) 43*4882a593Smuzhiyun #define CONFIG_SYS_SPI_FLASH_U_BOOT_DST (0x11000000) 44*4882a593Smuzhiyun #define CONFIG_SYS_SPI_FLASH_U_BOOT_START (0x11000000) 45*4882a593Smuzhiyun #define CONFIG_SYS_SPI_FLASH_U_BOOT_OFFS (128 << 10) 46*4882a593Smuzhiyun #define CONFIG_SYS_MPC85XX_NO_RESETVEC 47*4882a593Smuzhiyun #define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot.lds" 48*4882a593Smuzhiyun #define CONFIG_SPL_SPI_BOOT 49*4882a593Smuzhiyun #ifdef CONFIG_SPL_BUILD 50*4882a593Smuzhiyun #define CONFIG_SPL_COMMON_INIT_DDR 51*4882a593Smuzhiyun #endif 52*4882a593Smuzhiyun #endif 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun #define CONFIG_NAND_FSL_ELBC 55*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MAX_ECCPOS 56 56*4882a593Smuzhiyun #define CONFIG_SYS_NAND_MAX_OOBFREE 5 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #ifdef CONFIG_NAND 59*4882a593Smuzhiyun #ifdef CONFIG_TPL_BUILD 60*4882a593Smuzhiyun #define CONFIG_SPL_NAND_BOOT 61*4882a593Smuzhiyun #define CONFIG_SPL_FLUSH_IMAGE 62*4882a593Smuzhiyun #define CONFIG_SPL_NAND_INIT 63*4882a593Smuzhiyun #define CONFIG_SPL_COMMON_INIT_DDR 64*4882a593Smuzhiyun #define CONFIG_SPL_MAX_SIZE (128 << 10) 65*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0xf8f81000 66*4882a593Smuzhiyun #define CONFIG_SYS_MPC85XX_NO_RESETVEC 67*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_SIZE (832 << 10) 68*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_DST (0x11000000) 69*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_START (0x11000000) 70*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS ((128 + 128) << 10) 71*4882a593Smuzhiyun #elif defined(CONFIG_SPL_BUILD) 72*4882a593Smuzhiyun #define CONFIG_SPL_INIT_MINIMAL 73*4882a593Smuzhiyun #define CONFIG_SPL_FLUSH_IMAGE 74*4882a593Smuzhiyun #define CONFIG_SPL_TEXT_BASE 0xff800000 75*4882a593Smuzhiyun #define CONFIG_SPL_MAX_SIZE 4096 76*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_SIZE (128 << 10) 77*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_DST 0xf8f80000 78*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_START 0xf8f80000 79*4882a593Smuzhiyun #define CONFIG_SYS_NAND_U_BOOT_OFFS (128 << 10) 80*4882a593Smuzhiyun #endif 81*4882a593Smuzhiyun #define CONFIG_SPL_PAD_TO 0x20000 82*4882a593Smuzhiyun #define CONFIG_TPL_PAD_TO 0x20000 83*4882a593Smuzhiyun #define CONFIG_SPL_TARGET "u-boot-with-spl.bin" 84*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x11001000 85*4882a593Smuzhiyun #define CONFIG_SYS_LDSCRIPT "arch/powerpc/cpu/mpc85xx/u-boot-nand.lds" 86*4882a593Smuzhiyun #endif 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun /* High Level Configuration Options */ 89*4882a593Smuzhiyun #define CONFIG_MP /* support multiple processors */ 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun #ifndef CONFIG_SYS_TEXT_BASE 92*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0xeff40000 93*4882a593Smuzhiyun #endif 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun #ifndef CONFIG_RESET_VECTOR_ADDRESS 96*4882a593Smuzhiyun #define CONFIG_RESET_VECTOR_ADDRESS 0xeffffffc 97*4882a593Smuzhiyun #endif 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun #define CONFIG_PCIE1 /* PCIE controller 1 (slot 1) */ 100*4882a593Smuzhiyun #define CONFIG_PCIE2 /* PCIE controller 2 (slot 2) */ 101*4882a593Smuzhiyun #define CONFIG_PCIE3 /* PCIE controller 3 (ULI bridge) */ 102*4882a593Smuzhiyun #define CONFIG_FSL_PCI_INIT /* Use common FSL init code */ 103*4882a593Smuzhiyun #define CONFIG_FSL_PCIE_RESET /* need PCIe reset errata */ 104*4882a593Smuzhiyun #define CONFIG_SYS_PCI_64BIT /* enable 64-bit PCI resources */ 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun #define CONFIG_ENABLE_36BIT_PHYS 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 109*4882a593Smuzhiyun #define CONFIG_ADDR_MAP 110*4882a593Smuzhiyun #define CONFIG_SYS_NUM_ADDR_MAP 16 /* number of TLB1 entries */ 111*4882a593Smuzhiyun #endif 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun #define CONFIG_SYS_CLK_FREQ get_board_sys_clk() 114*4882a593Smuzhiyun #define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() 115*4882a593Smuzhiyun #define CONFIG_ICS307_REFCLK_HZ 33333000 /* ICS307 clock chip ref freq */ 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun /* 118*4882a593Smuzhiyun * These can be toggled for performance analysis, otherwise use default. 119*4882a593Smuzhiyun */ 120*4882a593Smuzhiyun #define CONFIG_L2_CACHE 121*4882a593Smuzhiyun #define CONFIG_BTB 122*4882a593Smuzhiyun 123*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x00000000 124*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x7fffffff 125*4882a593Smuzhiyun 126*4882a593Smuzhiyun #define CONFIG_SYS_CCSRBAR 0xffe00000 127*4882a593Smuzhiyun #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun /* IN case of NAND bootloader relocate CCSRBAR in RAMboot code not in the 4k 130*4882a593Smuzhiyun SPL code*/ 131*4882a593Smuzhiyun #ifdef CONFIG_SPL_BUILD 132*4882a593Smuzhiyun #define CONFIG_SYS_CCSR_DO_NOT_RELOCATE 133*4882a593Smuzhiyun #endif 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun /* DDR Setup */ 136*4882a593Smuzhiyun #define CONFIG_DDR_SPD 137*4882a593Smuzhiyun #define CONFIG_VERY_BIG_RAM 138*4882a593Smuzhiyun 139*4882a593Smuzhiyun #ifdef CONFIG_DDR_ECC 140*4882a593Smuzhiyun #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 141*4882a593Smuzhiyun #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 142*4882a593Smuzhiyun #endif 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 145*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun #define CONFIG_DIMM_SLOTS_PER_CTLR 1 148*4882a593Smuzhiyun #define CONFIG_CHIP_SELECTS_PER_CTRL (2 * CONFIG_DIMM_SLOTS_PER_CTLR) 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun /* I2C addresses of SPD EEPROMs */ 151*4882a593Smuzhiyun #define CONFIG_SYS_SPD_BUS_NUM 1 152*4882a593Smuzhiyun #define SPD_EEPROM_ADDRESS 0x51 /* CTLR 0 DIMM 0 */ 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun /* These are used when DDR doesn't use SPD. */ 155*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE 2048 156*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_SIZE_LAW LAW_SIZE_2G 157*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_BNDS 0x0000003F 158*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS0_CONFIG 0x80014202 159*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS1_BNDS 0x0040007F 160*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CS1_CONFIG 0x80014202 161*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_3 0x00010000 162*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_0 0x40110104 163*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_1 0x5c5bd746 164*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_2 0x0fa8d4ca 165*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE_1 0x00441221 166*4882a593Smuzhiyun #define CONFIG_SYS_DDR_MODE_2 0x00000000 167*4882a593Smuzhiyun #define CONFIG_SYS_DDR_INTERVAL 0x0a280100 168*4882a593Smuzhiyun #define CONFIG_SYS_DDR_DATA_INIT 0xdeadbeef 169*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CLK_CTRL 0x02800000 170*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CONTROL 0xc7000008 171*4882a593Smuzhiyun #define CONFIG_SYS_DDR_CONTROL_2 0x24401041 172*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_4 0x00220001 173*4882a593Smuzhiyun #define CONFIG_SYS_DDR_TIMING_5 0x02401400 174*4882a593Smuzhiyun #define CONFIG_SYS_DDR_ZQ_CONTROL 0x89080600 175*4882a593Smuzhiyun #define CONFIG_SYS_DDR_WRLVL_CONTROL 0x8675f608 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun /* 178*4882a593Smuzhiyun * Memory map 179*4882a593Smuzhiyun * 180*4882a593Smuzhiyun * 0x0000_0000 0x7fff_ffff DDR 2G Cacheable 181*4882a593Smuzhiyun * 0x8000_0000 0xdfff_ffff PCI Express Mem 1.5G non-cacheable 182*4882a593Smuzhiyun * 0xffc0_0000 0xffc2_ffff PCI IO range 192K non-cacheable 183*4882a593Smuzhiyun * 184*4882a593Smuzhiyun * Localbus cacheable (TBD) 185*4882a593Smuzhiyun * 0xXXXX_XXXX 0xXXXX_XXXX SRAM YZ M Cacheable 186*4882a593Smuzhiyun * 187*4882a593Smuzhiyun * Localbus non-cacheable 188*4882a593Smuzhiyun * 0xe000_0000 0xe80f_ffff Promjet/free 128M non-cacheable 189*4882a593Smuzhiyun * 0xe800_0000 0xefff_ffff FLASH 128M non-cacheable 190*4882a593Smuzhiyun * 0xff80_0000 0xff80_7fff NAND 32K non-cacheable 191*4882a593Smuzhiyun * 0xffdf_0000 0xffdf_7fff PIXIS 32K non-cacheable TLB0 192*4882a593Smuzhiyun * 0xffd0_0000 0xffd0_3fff L1 for stack 16K Cacheable TLB0 193*4882a593Smuzhiyun * 0xffe0_0000 0xffef_ffff CCSR 1M non-cacheable 194*4882a593Smuzhiyun */ 195*4882a593Smuzhiyun 196*4882a593Smuzhiyun /* 197*4882a593Smuzhiyun * Local Bus Definitions 198*4882a593Smuzhiyun */ 199*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0xe8000000 /* start of FLASH 128M */ 200*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 201*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE_PHYS 0xfe8000000ull 202*4882a593Smuzhiyun #else 203*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE_PHYS CONFIG_SYS_FLASH_BASE 204*4882a593Smuzhiyun #endif 205*4882a593Smuzhiyun 206*4882a593Smuzhiyun #define CONFIG_FLASH_BR_PRELIM \ 207*4882a593Smuzhiyun (BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | BR_PS_16 | BR_V) 208*4882a593Smuzhiyun #define CONFIG_FLASH_OR_PRELIM (OR_AM_128MB | 0xff7) 209*4882a593Smuzhiyun 210*4882a593Smuzhiyun #ifdef CONFIG_NAND 211*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM CONFIG_FLASH_BR_PRELIM /* NOR Base Address */ 212*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM CONFIG_FLASH_OR_PRELIM /* NOR Options */ 213*4882a593Smuzhiyun #else 214*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM CONFIG_FLASH_BR_PRELIM /* NOR Base Address */ 215*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM CONFIG_FLASH_OR_PRELIM /* NOR Options */ 216*4882a593Smuzhiyun #endif 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS} 219*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_QUIET_TEST 220*4882a593Smuzhiyun #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS 1 223*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 1024 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun #ifndef CONFIG_SYS_MONITOR_BASE 226*4882a593Smuzhiyun #ifdef CONFIG_SPL_BUILD 227*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE 228*4882a593Smuzhiyun #else 229*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 230*4882a593Smuzhiyun #endif 231*4882a593Smuzhiyun #endif 232*4882a593Smuzhiyun 233*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER 234*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI 235*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_EMPTY_INFO 236*4882a593Smuzhiyun 237*4882a593Smuzhiyun /* Nand Flash */ 238*4882a593Smuzhiyun #if defined(CONFIG_NAND_FSL_ELBC) 239*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE 0xff800000 240*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 241*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE_PHYS 0xfff800000ull 242*4882a593Smuzhiyun #else 243*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE 244*4882a593Smuzhiyun #endif 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE_LIST {CONFIG_SYS_NAND_BASE} 247*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE 1 248*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BLOCK_SIZE (256 * 1024) 249*4882a593Smuzhiyun #define CONFIG_ELBC_NAND_SPL_STATIC_PGSIZE 250*4882a593Smuzhiyun 251*4882a593Smuzhiyun /* NAND flash config */ 252*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BR_PRELIM (BR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 253*4882a593Smuzhiyun | (2<<BR_DECC_SHIFT) /* Use HW ECC */ \ 254*4882a593Smuzhiyun | BR_PS_8 /* Port Size = 8 bit */ \ 255*4882a593Smuzhiyun | BR_MS_FCM /* MSEL = FCM */ \ 256*4882a593Smuzhiyun | BR_V) /* valid */ 257*4882a593Smuzhiyun #define CONFIG_SYS_NAND_OR_PRELIM (OR_AM_32KB /* length 256K */ \ 258*4882a593Smuzhiyun | OR_FCM_PGS /* Large Page*/ \ 259*4882a593Smuzhiyun | OR_FCM_CSCT \ 260*4882a593Smuzhiyun | OR_FCM_CST \ 261*4882a593Smuzhiyun | OR_FCM_CHT \ 262*4882a593Smuzhiyun | OR_FCM_SCY_1 \ 263*4882a593Smuzhiyun | OR_FCM_TRLX \ 264*4882a593Smuzhiyun | OR_FCM_EHTR) 265*4882a593Smuzhiyun #ifdef CONFIG_NAND 266*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM CONFIG_SYS_NAND_BR_PRELIM /* NAND Base Address */ 267*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM CONFIG_SYS_NAND_OR_PRELIM /* NAND Options */ 268*4882a593Smuzhiyun #else 269*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_NAND_BR_PRELIM /* NAND Base Address */ 270*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_NAND_OR_PRELIM /* NAND Options */ 271*4882a593Smuzhiyun #endif 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun #endif /* CONFIG_NAND_FSL_ELBC */ 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun #define CONFIG_BOARD_EARLY_INIT_R 276*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R 277*4882a593Smuzhiyun #define CONFIG_HWCONFIG 278*4882a593Smuzhiyun 279*4882a593Smuzhiyun #define CONFIG_FSL_NGPIXIS 280*4882a593Smuzhiyun #define PIXIS_BASE 0xffdf0000 /* PIXIS registers */ 281*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 282*4882a593Smuzhiyun #define PIXIS_BASE_PHYS 0xfffdf0000ull 283*4882a593Smuzhiyun #else 284*4882a593Smuzhiyun #define PIXIS_BASE_PHYS PIXIS_BASE 285*4882a593Smuzhiyun #endif 286*4882a593Smuzhiyun 287*4882a593Smuzhiyun #define CONFIG_SYS_BR2_PRELIM (BR_PHYS_ADDR(PIXIS_BASE_PHYS) | BR_PS_8 | BR_V) 288*4882a593Smuzhiyun #define CONFIG_SYS_OR2_PRELIM (OR_AM_32KB | 0x6ff7) 289*4882a593Smuzhiyun 290*4882a593Smuzhiyun #define PIXIS_LBMAP_SWITCH 7 291*4882a593Smuzhiyun #define PIXIS_LBMAP_MASK 0xF0 292*4882a593Smuzhiyun #define PIXIS_LBMAP_ALTBANK 0x20 293*4882a593Smuzhiyun #define PIXIS_SPD 0x07 294*4882a593Smuzhiyun #define PIXIS_SPD_SYSCLK_MASK 0x07 295*4882a593Smuzhiyun #define PIXIS_ELBC_SPI_MASK 0xc0 296*4882a593Smuzhiyun #define PIXIS_SPI 0x80 297*4882a593Smuzhiyun 298*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_LOCK 299*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR 0xffd00000 /* Initial L1 address */ 300*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x00004000 /* Size of used area in RAM */ 301*4882a593Smuzhiyun 302*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET \ 303*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 304*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (768 * 1024) 307*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (10 * 1024 * 1024) 308*4882a593Smuzhiyun 309*4882a593Smuzhiyun /* 310*4882a593Smuzhiyun * Config the L2 Cache as L2 SRAM 311*4882a593Smuzhiyun */ 312*4882a593Smuzhiyun #if defined(CONFIG_SPL_BUILD) 313*4882a593Smuzhiyun #if defined(CONFIG_SDCARD) || defined(CONFIG_SPIFLASH) 314*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR 0xf8f80000 315*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR_PHYS CONFIG_SYS_INIT_L2_ADDR 316*4882a593Smuzhiyun #define CONFIG_SYS_L2_SIZE (256 << 10) 317*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_END (CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE) 318*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_TEXT_BASE 0xf8f81000 319*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_STACK (CONFIG_SYS_INIT_L2_ADDR + 116 * 1024) 320*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_STACK_SIZE (32 << 10) 321*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_MALLOC_ADDR (CONFIG_SYS_INIT_L2_ADDR + 148 * 1024) 322*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_MALLOC_SIZE (108 << 10) 323*4882a593Smuzhiyun #define CONFIG_SPL_GD_ADDR (CONFIG_SYS_INIT_L2_ADDR + 112 * 1024) 324*4882a593Smuzhiyun #elif defined(CONFIG_NAND) 325*4882a593Smuzhiyun #ifdef CONFIG_TPL_BUILD 326*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR 0xf8f80000 327*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR_PHYS CONFIG_SYS_INIT_L2_ADDR 328*4882a593Smuzhiyun #define CONFIG_SYS_L2_SIZE (256 << 10) 329*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_END (CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE) 330*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_TEXT_BASE 0xf8f81000 331*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_STACK (CONFIG_SYS_INIT_L2_ADDR + 192 * 1024) 332*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_MALLOC_ADDR (CONFIG_SYS_INIT_L2_ADDR + 208 * 1024) 333*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_MALLOC_SIZE (48 << 10) 334*4882a593Smuzhiyun #define CONFIG_SPL_GD_ADDR (CONFIG_SYS_INIT_L2_ADDR + 176 * 1024) 335*4882a593Smuzhiyun #else 336*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR 0xf8f80000 337*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_ADDR_PHYS CONFIG_SYS_INIT_L2_ADDR 338*4882a593Smuzhiyun #define CONFIG_SYS_L2_SIZE (256 << 10) 339*4882a593Smuzhiyun #define CONFIG_SYS_INIT_L2_END (CONFIG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE) 340*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_TEXT_BASE (CONFIG_SYS_INIT_L2_END - 0x2000) 341*4882a593Smuzhiyun #define CONFIG_SPL_RELOC_STACK ((CONFIG_SYS_INIT_L2_END - 1) & ~0xF) 342*4882a593Smuzhiyun #endif 343*4882a593Smuzhiyun #endif 344*4882a593Smuzhiyun #endif 345*4882a593Smuzhiyun 346*4882a593Smuzhiyun /* 347*4882a593Smuzhiyun * Serial Port 348*4882a593Smuzhiyun */ 349*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 350*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 351*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE 1 352*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 353*4882a593Smuzhiyun #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_INIT_MINIMAL) 354*4882a593Smuzhiyun #define CONFIG_NS16550_MIN_FUNCTIONS 355*4882a593Smuzhiyun #endif 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun #define CONFIG_SYS_BAUDRATE_TABLE \ 358*4882a593Smuzhiyun {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200} 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x4500) 361*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x4600) 362*4882a593Smuzhiyun 363*4882a593Smuzhiyun /* Video */ 364*4882a593Smuzhiyun 365*4882a593Smuzhiyun #ifdef CONFIG_FSL_DIU_FB 366*4882a593Smuzhiyun #define CONFIG_SYS_DIU_ADDR (CONFIG_SYS_CCSRBAR + 0x10000) 367*4882a593Smuzhiyun #define CONFIG_VIDEO_LOGO 368*4882a593Smuzhiyun #define CONFIG_VIDEO_BMP_LOGO 369*4882a593Smuzhiyun #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS 370*4882a593Smuzhiyun /* 371*4882a593Smuzhiyun * With CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS, flash I/O is really slow, so 372*4882a593Smuzhiyun * disable empty flash sector detection, which is I/O-intensive. 373*4882a593Smuzhiyun */ 374*4882a593Smuzhiyun #undef CONFIG_SYS_FLASH_EMPTY_INFO 375*4882a593Smuzhiyun #endif 376*4882a593Smuzhiyun 377*4882a593Smuzhiyun #ifndef CONFIG_FSL_DIU_FB 378*4882a593Smuzhiyun #endif 379*4882a593Smuzhiyun 380*4882a593Smuzhiyun #ifdef CONFIG_ATI 381*4882a593Smuzhiyun #define VIDEO_IO_OFFSET CONFIG_SYS_PCIE1_IO_VIRT 382*4882a593Smuzhiyun #define CONFIG_BIOSEMU 383*4882a593Smuzhiyun #define CONFIG_ATI_RADEON_FB 384*4882a593Smuzhiyun #define CONFIG_VIDEO_LOGO 385*4882a593Smuzhiyun #define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET 386*4882a593Smuzhiyun #endif 387*4882a593Smuzhiyun 388*4882a593Smuzhiyun /* I2C */ 389*4882a593Smuzhiyun #define CONFIG_SYS_I2C 390*4882a593Smuzhiyun #define CONFIG_SYS_I2C_FSL 391*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SPEED 400000 392*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 393*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 394*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_SPEED 400000 395*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F 396*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100 397*4882a593Smuzhiyun #define CONFIG_SYS_I2C_NOPROBES {{0, 0x29}} 398*4882a593Smuzhiyun 399*4882a593Smuzhiyun /* 400*4882a593Smuzhiyun * I2C2 EEPROM 401*4882a593Smuzhiyun */ 402*4882a593Smuzhiyun #define CONFIG_ID_EEPROM 403*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_NXID 404*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57 405*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 406*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_BUS_NUM 1 407*4882a593Smuzhiyun 408*4882a593Smuzhiyun /* 409*4882a593Smuzhiyun * eSPI - Enhanced SPI 410*4882a593Smuzhiyun */ 411*4882a593Smuzhiyun 412*4882a593Smuzhiyun #define CONFIG_HARD_SPI 413*4882a593Smuzhiyun 414*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_SPEED 10000000 415*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_MODE 0 416*4882a593Smuzhiyun 417*4882a593Smuzhiyun /* 418*4882a593Smuzhiyun * General PCI 419*4882a593Smuzhiyun * Memory space is mapped 1-1, but I/O space must start from 0. 420*4882a593Smuzhiyun */ 421*4882a593Smuzhiyun 422*4882a593Smuzhiyun /* controller 1, Slot 2, tgtid 1, Base address a000 */ 423*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_VIRT 0xc0000000 424*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 425*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_BUS 0xe0000000 426*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_PHYS 0xc40000000ull 427*4882a593Smuzhiyun #else 428*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_BUS 0xc0000000 429*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_PHYS 0xc0000000 430*4882a593Smuzhiyun #endif 431*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_MEM_SIZE 0x20000000 /* 512M */ 432*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_VIRT 0xffc20000 433*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_BUS 0x00000000 434*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 435*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_PHYS 0xfffc20000ull 436*4882a593Smuzhiyun #else 437*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_PHYS 0xffc20000 438*4882a593Smuzhiyun #endif 439*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_IO_SIZE 0x00010000 /* 64k */ 440*4882a593Smuzhiyun 441*4882a593Smuzhiyun /* controller 2, direct to uli, tgtid 2, Base address 9000 */ 442*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_MEM_VIRT 0xa0000000 443*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 444*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_MEM_BUS 0xe0000000 445*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_MEM_PHYS 0xc20000000ull 446*4882a593Smuzhiyun #else 447*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_MEM_BUS 0xa0000000 448*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_MEM_PHYS 0xa0000000 449*4882a593Smuzhiyun #endif 450*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_MEM_SIZE 0x20000000 /* 512M */ 451*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_IO_VIRT 0xffc10000 452*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_IO_BUS 0x00000000 453*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 454*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_IO_PHYS 0xfffc10000ull 455*4882a593Smuzhiyun #else 456*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_IO_PHYS 0xffc10000 457*4882a593Smuzhiyun #endif 458*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_IO_SIZE 0x00010000 /* 64k */ 459*4882a593Smuzhiyun 460*4882a593Smuzhiyun /* controller 3, Slot 1, tgtid 3, Base address b000 */ 461*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_MEM_VIRT 0x80000000 462*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 463*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_MEM_BUS 0xe0000000 464*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_MEM_PHYS 0xc00000000ull 465*4882a593Smuzhiyun #else 466*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_MEM_BUS 0x80000000 467*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_MEM_PHYS 0x80000000 468*4882a593Smuzhiyun #endif 469*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_MEM_SIZE 0x20000000 /* 512M */ 470*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_IO_VIRT 0xffc00000 471*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_IO_BUS 0x00000000 472*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 473*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_IO_PHYS 0xfffc00000ull 474*4882a593Smuzhiyun #else 475*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_IO_PHYS 0xffc00000 476*4882a593Smuzhiyun #endif 477*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_IO_SIZE 0x00010000 /* 64k */ 478*4882a593Smuzhiyun 479*4882a593Smuzhiyun #ifdef CONFIG_PCI 480*4882a593Smuzhiyun #define CONFIG_PCI_INDIRECT_BRIDGE 481*4882a593Smuzhiyun #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 482*4882a593Smuzhiyun #endif 483*4882a593Smuzhiyun 484*4882a593Smuzhiyun /* SATA */ 485*4882a593Smuzhiyun #define CONFIG_LIBATA 486*4882a593Smuzhiyun #define CONFIG_FSL_SATA 487*4882a593Smuzhiyun #define CONFIG_FSL_SATA_V2 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun #define CONFIG_SYS_SATA_MAX_DEVICE 2 490*4882a593Smuzhiyun #define CONFIG_SATA1 491*4882a593Smuzhiyun #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR 492*4882a593Smuzhiyun #define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA 493*4882a593Smuzhiyun #define CONFIG_SATA2 494*4882a593Smuzhiyun #define CONFIG_SYS_SATA2 CONFIG_SYS_MPC85xx_SATA2_ADDR 495*4882a593Smuzhiyun #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA 496*4882a593Smuzhiyun 497*4882a593Smuzhiyun #ifdef CONFIG_FSL_SATA 498*4882a593Smuzhiyun #define CONFIG_LBA48 499*4882a593Smuzhiyun #endif 500*4882a593Smuzhiyun 501*4882a593Smuzhiyun #ifdef CONFIG_MMC 502*4882a593Smuzhiyun #define CONFIG_FSL_ESDHC 503*4882a593Smuzhiyun #define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC85xx_ESDHC_ADDR 504*4882a593Smuzhiyun #endif 505*4882a593Smuzhiyun 506*4882a593Smuzhiyun #define CONFIG_TSEC_ENET 507*4882a593Smuzhiyun #ifdef CONFIG_TSEC_ENET 508*4882a593Smuzhiyun 509*4882a593Smuzhiyun #define CONFIG_TSECV2 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun #define CONFIG_MII /* MII PHY management */ 512*4882a593Smuzhiyun #define CONFIG_TSEC1 1 513*4882a593Smuzhiyun #define CONFIG_TSEC1_NAME "eTSEC1" 514*4882a593Smuzhiyun #define CONFIG_TSEC2 1 515*4882a593Smuzhiyun #define CONFIG_TSEC2_NAME "eTSEC2" 516*4882a593Smuzhiyun 517*4882a593Smuzhiyun #define TSEC1_PHY_ADDR 1 518*4882a593Smuzhiyun #define TSEC2_PHY_ADDR 2 519*4882a593Smuzhiyun 520*4882a593Smuzhiyun #define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 521*4882a593Smuzhiyun #define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED) 522*4882a593Smuzhiyun 523*4882a593Smuzhiyun #define TSEC1_PHYIDX 0 524*4882a593Smuzhiyun #define TSEC2_PHYIDX 0 525*4882a593Smuzhiyun 526*4882a593Smuzhiyun #define CONFIG_ETHPRIME "eTSEC1" 527*4882a593Smuzhiyun #endif 528*4882a593Smuzhiyun 529*4882a593Smuzhiyun /* 530*4882a593Smuzhiyun * Dynamic MTD Partition support with mtdparts 531*4882a593Smuzhiyun */ 532*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_MTD 533*4882a593Smuzhiyun #ifdef CONFIG_PHYS_64BIT 534*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nor0=fe8000000.nor" 535*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=fe8000000.nor:48m(ramdisk)," \ 536*4882a593Smuzhiyun "14m(diagnostic),2m(dink),6m(kernel),58112k(fs)," \ 537*4882a593Smuzhiyun "512k(dtb),768k(u-boot)" 538*4882a593Smuzhiyun #else 539*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nor0=e8000000.nor" 540*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=e8000000.nor:48m(ramdisk)," \ 541*4882a593Smuzhiyun "14m(diagnostic),2m(dink),6m(kernel),58112k(fs)," \ 542*4882a593Smuzhiyun "512k(dtb),768k(u-boot)" 543*4882a593Smuzhiyun #endif 544*4882a593Smuzhiyun 545*4882a593Smuzhiyun /* 546*4882a593Smuzhiyun * Environment 547*4882a593Smuzhiyun */ 548*4882a593Smuzhiyun #ifdef CONFIG_SPIFLASH 549*4882a593Smuzhiyun #define CONFIG_ENV_SPI_BUS 0 550*4882a593Smuzhiyun #define CONFIG_ENV_SPI_CS 0 551*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MAX_HZ 10000000 552*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MODE 0 553*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 /* 8KB */ 554*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET 0x100000 /* 1MB */ 555*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x10000 556*4882a593Smuzhiyun #elif defined(CONFIG_SDCARD) 557*4882a593Smuzhiyun #define CONFIG_FSL_FIXED_MMC_LOCATION 558*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 559*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV 0 560*4882a593Smuzhiyun #elif defined(CONFIG_NAND) 561*4882a593Smuzhiyun #ifdef CONFIG_TPL_BUILD 562*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 563*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_INIT_L2_ADDR + (160 << 10)) 564*4882a593Smuzhiyun #else 565*4882a593Smuzhiyun #define CONFIG_ENV_SIZE CONFIG_SYS_NAND_BLOCK_SIZE 566*4882a593Smuzhiyun #endif 567*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET (1024 * 1024) 568*4882a593Smuzhiyun #define CONFIG_ENV_RANGE (3 * CONFIG_ENV_SIZE) 569*4882a593Smuzhiyun #elif defined(CONFIG_SYS_RAMBOOT) 570*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000) 571*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 572*4882a593Smuzhiyun #else 573*4882a593Smuzhiyun #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE) 574*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x2000 575*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */ 576*4882a593Smuzhiyun #endif 577*4882a593Smuzhiyun 578*4882a593Smuzhiyun #define CONFIG_LOADS_ECHO 579*4882a593Smuzhiyun #define CONFIG_SYS_LOADS_BAUD_CHANGE 580*4882a593Smuzhiyun 581*4882a593Smuzhiyun /* 582*4882a593Smuzhiyun * USB 583*4882a593Smuzhiyun */ 584*4882a593Smuzhiyun #define CONFIG_HAS_FSL_DR_USB 585*4882a593Smuzhiyun #ifdef CONFIG_HAS_FSL_DR_USB 586*4882a593Smuzhiyun #ifdef CONFIG_USB_EHCI_HCD 587*4882a593Smuzhiyun #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 588*4882a593Smuzhiyun #define CONFIG_USB_EHCI_FSL 589*4882a593Smuzhiyun #endif 590*4882a593Smuzhiyun #endif 591*4882a593Smuzhiyun 592*4882a593Smuzhiyun /* 593*4882a593Smuzhiyun * Miscellaneous configurable options 594*4882a593Smuzhiyun */ 595*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 596*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING /* Command-line editing */ 597*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 598*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 599*4882a593Smuzhiyun 600*4882a593Smuzhiyun /* 601*4882a593Smuzhiyun * For booting Linux, the board info and command line data 602*4882a593Smuzhiyun * have to be in the first 64 MB of memory, since this is 603*4882a593Smuzhiyun * the maximum mapped by the Linux kernel during initialization. 604*4882a593Smuzhiyun */ 605*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ (64 << 20) /* Initial Memory map for Linux*/ 606*4882a593Smuzhiyun #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 607*4882a593Smuzhiyun 608*4882a593Smuzhiyun #ifdef CONFIG_CMD_KGDB 609*4882a593Smuzhiyun #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ 610*4882a593Smuzhiyun #endif 611*4882a593Smuzhiyun 612*4882a593Smuzhiyun /* 613*4882a593Smuzhiyun * Environment Configuration 614*4882a593Smuzhiyun */ 615*4882a593Smuzhiyun 616*4882a593Smuzhiyun #define CONFIG_HOSTNAME p1022ds 617*4882a593Smuzhiyun #define CONFIG_ROOTPATH "/opt/nfsroot" 618*4882a593Smuzhiyun #define CONFIG_BOOTFILE "uImage" 619*4882a593Smuzhiyun #define CONFIG_UBOOTPATH u-boot.bin /* U-Boot image on TFTP server */ 620*4882a593Smuzhiyun 621*4882a593Smuzhiyun #define CONFIG_LOADADDR 1000000 622*4882a593Smuzhiyun 623*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 624*4882a593Smuzhiyun "netdev=eth0\0" \ 625*4882a593Smuzhiyun "uboot=" __stringify(CONFIG_UBOOTPATH) "\0" \ 626*4882a593Smuzhiyun "ubootaddr=" __stringify(CONFIG_SYS_TEXT_BASE) "\0" \ 627*4882a593Smuzhiyun "tftpflash=tftpboot $loadaddr $uboot && " \ 628*4882a593Smuzhiyun "protect off $ubootaddr +$filesize && " \ 629*4882a593Smuzhiyun "erase $ubootaddr +$filesize && " \ 630*4882a593Smuzhiyun "cp.b $loadaddr $ubootaddr $filesize && " \ 631*4882a593Smuzhiyun "protect on $ubootaddr +$filesize && " \ 632*4882a593Smuzhiyun "cmp.b $loadaddr $ubootaddr $filesize\0" \ 633*4882a593Smuzhiyun "consoledev=ttyS0\0" \ 634*4882a593Smuzhiyun "ramdiskaddr=2000000\0" \ 635*4882a593Smuzhiyun "ramdiskfile=rootfs.ext2.gz.uboot\0" \ 636*4882a593Smuzhiyun "fdtaddr=1e00000\0" \ 637*4882a593Smuzhiyun "fdtfile=p1022ds.dtb\0" \ 638*4882a593Smuzhiyun "bdev=sda3\0" \ 639*4882a593Smuzhiyun "hwconfig=esdhc;audclk:12\0" 640*4882a593Smuzhiyun 641*4882a593Smuzhiyun #define CONFIG_HDBOOT \ 642*4882a593Smuzhiyun "setenv bootargs root=/dev/$bdev rw " \ 643*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs $videobootargs;" \ 644*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 645*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 646*4882a593Smuzhiyun "bootm $loadaddr - $fdtaddr" 647*4882a593Smuzhiyun 648*4882a593Smuzhiyun #define CONFIG_NFSBOOTCOMMAND \ 649*4882a593Smuzhiyun "setenv bootargs root=/dev/nfs rw " \ 650*4882a593Smuzhiyun "nfsroot=$serverip:$rootpath " \ 651*4882a593Smuzhiyun "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 652*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs $videobootargs;" \ 653*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 654*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 655*4882a593Smuzhiyun "bootm $loadaddr - $fdtaddr" 656*4882a593Smuzhiyun 657*4882a593Smuzhiyun #define CONFIG_RAMBOOTCOMMAND \ 658*4882a593Smuzhiyun "setenv bootargs root=/dev/ram rw " \ 659*4882a593Smuzhiyun "console=$consoledev,$baudrate $othbootargs $videobootargs;" \ 660*4882a593Smuzhiyun "tftp $ramdiskaddr $ramdiskfile;" \ 661*4882a593Smuzhiyun "tftp $loadaddr $bootfile;" \ 662*4882a593Smuzhiyun "tftp $fdtaddr $fdtfile;" \ 663*4882a593Smuzhiyun "bootm $loadaddr $ramdiskaddr $fdtaddr" 664*4882a593Smuzhiyun 665*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND CONFIG_RAMBOOTCOMMAND 666*4882a593Smuzhiyun 667*4882a593Smuzhiyun #endif 668