1*50dcf89dSDirk Eibach /* 2*50dcf89dSDirk Eibach * (C) Copyright 2014 3*50dcf89dSDirk Eibach * Dirk Eibach, Guntermann & Drunck GmbH, eibach@gdsys.de 4*50dcf89dSDirk Eibach * 5*50dcf89dSDirk Eibach * 6*50dcf89dSDirk Eibach * SPDX-License-Identifier: GPL-2.0+ 7*50dcf89dSDirk Eibach */ 8*50dcf89dSDirk Eibach 9*50dcf89dSDirk Eibach #ifndef __CONFIG_H 10*50dcf89dSDirk Eibach #define __CONFIG_H 11*50dcf89dSDirk Eibach 12*50dcf89dSDirk Eibach /* 13*50dcf89dSDirk Eibach * High Level Configuration Options 14*50dcf89dSDirk Eibach */ 15*50dcf89dSDirk Eibach #define CONFIG_E300 1 /* E300 family */ 16*50dcf89dSDirk Eibach #define CONFIG_MPC83xx 1 /* MPC83xx family */ 17*50dcf89dSDirk Eibach #define CONFIG_MPC830x 1 /* MPC830x family */ 18*50dcf89dSDirk Eibach #define CONFIG_MPC8308 1 /* MPC8308 CPU specific */ 19*50dcf89dSDirk Eibach #define CONFIG_HRCON 1 /* HRCON board specific */ 20*50dcf89dSDirk Eibach 21*50dcf89dSDirk Eibach #define CONFIG_SYS_TEXT_BASE 0xFE000000 22*50dcf89dSDirk Eibach 23*50dcf89dSDirk Eibach #define CONFIG_IDENT_STRING " hrcon 0.01" 24*50dcf89dSDirk Eibach 25*50dcf89dSDirk Eibach #define CONFIG_SYS_GENERIC_BOARD 26*50dcf89dSDirk Eibach 27*50dcf89dSDirk Eibach #define CONFIG_BOARD_EARLY_INIT_F 28*50dcf89dSDirk Eibach #define CONFIG_BOARD_EARLY_INIT_R 29*50dcf89dSDirk Eibach #define CONFIG_LAST_STAGE_INIT 30*50dcf89dSDirk Eibach 31*50dcf89dSDirk Eibach /* new uImage format support */ 32*50dcf89dSDirk Eibach #define CONFIG_FIT 1 33*50dcf89dSDirk Eibach #define CONFIG_FIT_VERBOSE 1 34*50dcf89dSDirk Eibach 35*50dcf89dSDirk Eibach #define CONFIG_MMC 36*50dcf89dSDirk Eibach #define CONFIG_FSL_ESDHC 37*50dcf89dSDirk Eibach #define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC83xx_ESDHC_ADDR 38*50dcf89dSDirk Eibach #define CONFIG_SYS_FSL_ERRATUM_ESDHC111 39*50dcf89dSDirk Eibach 40*50dcf89dSDirk Eibach #define CONFIG_CMD_MMC 41*50dcf89dSDirk Eibach #define CONFIG_GENERIC_MMC 42*50dcf89dSDirk Eibach #define CONFIG_DOS_PARTITION 43*50dcf89dSDirk Eibach #define CONFIG_CMD_EXT2 44*50dcf89dSDirk Eibach 45*50dcf89dSDirk Eibach #define CONFIG_CMD_FPGAD 46*50dcf89dSDirk Eibach #define CONFIG_CMD_IOLOOP 47*50dcf89dSDirk Eibach 48*50dcf89dSDirk Eibach /* 49*50dcf89dSDirk Eibach * System Clock Setup 50*50dcf89dSDirk Eibach */ 51*50dcf89dSDirk Eibach #define CONFIG_83XX_CLKIN 33333333 /* in Hz */ 52*50dcf89dSDirk Eibach #define CONFIG_SYS_CLK_FREQ CONFIG_83XX_CLKIN 53*50dcf89dSDirk Eibach 54*50dcf89dSDirk Eibach /* 55*50dcf89dSDirk Eibach * Hardware Reset Configuration Word 56*50dcf89dSDirk Eibach * if CLKIN is 66.66MHz, then 57*50dcf89dSDirk Eibach * CSB = 133MHz, DDRC = 266MHz, LBC = 133MHz 58*50dcf89dSDirk Eibach * We choose the A type silicon as default, so the core is 400Mhz. 59*50dcf89dSDirk Eibach */ 60*50dcf89dSDirk Eibach #define CONFIG_SYS_HRCW_LOW (\ 61*50dcf89dSDirk Eibach HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 62*50dcf89dSDirk Eibach HRCWL_DDR_TO_SCB_CLK_2X1 |\ 63*50dcf89dSDirk Eibach HRCWL_SVCOD_DIV_2 |\ 64*50dcf89dSDirk Eibach HRCWL_CSB_TO_CLKIN_4X1 |\ 65*50dcf89dSDirk Eibach HRCWL_CORE_TO_CSB_3X1) 66*50dcf89dSDirk Eibach /* 67*50dcf89dSDirk Eibach * There are neither HRCWH_PCI_HOST nor HRCWH_PCI1_ARBITER_ENABLE bits 68*50dcf89dSDirk Eibach * in 8308's HRCWH according to the manual, but original Freescale's 69*50dcf89dSDirk Eibach * code has them and I've expirienced some problems using the board 70*50dcf89dSDirk Eibach * with BDI3000 attached when I've tried to set these bits to zero 71*50dcf89dSDirk Eibach * (UART doesn't work after the 'reset run' command). 72*50dcf89dSDirk Eibach */ 73*50dcf89dSDirk Eibach #define CONFIG_SYS_HRCW_HIGH (\ 74*50dcf89dSDirk Eibach HRCWH_PCI_HOST |\ 75*50dcf89dSDirk Eibach HRCWH_PCI1_ARBITER_ENABLE |\ 76*50dcf89dSDirk Eibach HRCWH_CORE_ENABLE |\ 77*50dcf89dSDirk Eibach HRCWH_FROM_0XFFF00100 |\ 78*50dcf89dSDirk Eibach HRCWH_BOOTSEQ_DISABLE |\ 79*50dcf89dSDirk Eibach HRCWH_SW_WATCHDOG_DISABLE |\ 80*50dcf89dSDirk Eibach HRCWH_ROM_LOC_LOCAL_16BIT |\ 81*50dcf89dSDirk Eibach HRCWH_RL_EXT_LEGACY |\ 82*50dcf89dSDirk Eibach HRCWH_TSEC1M_IN_RGMII |\ 83*50dcf89dSDirk Eibach HRCWH_TSEC2M_IN_RGMII |\ 84*50dcf89dSDirk Eibach HRCWH_BIG_ENDIAN) 85*50dcf89dSDirk Eibach 86*50dcf89dSDirk Eibach /* 87*50dcf89dSDirk Eibach * System IO Config 88*50dcf89dSDirk Eibach */ 89*50dcf89dSDirk Eibach #define CONFIG_SYS_SICRH (\ 90*50dcf89dSDirk Eibach SICRH_ESDHC_A_SD |\ 91*50dcf89dSDirk Eibach SICRH_ESDHC_B_SD |\ 92*50dcf89dSDirk Eibach SICRH_ESDHC_C_SD |\ 93*50dcf89dSDirk Eibach SICRH_GPIO_A_GPIO |\ 94*50dcf89dSDirk Eibach SICRH_GPIO_B_GPIO |\ 95*50dcf89dSDirk Eibach SICRH_IEEE1588_A_GPIO |\ 96*50dcf89dSDirk Eibach SICRH_USB |\ 97*50dcf89dSDirk Eibach SICRH_GTM_GPIO |\ 98*50dcf89dSDirk Eibach SICRH_IEEE1588_B_GPIO |\ 99*50dcf89dSDirk Eibach SICRH_ETSEC2_GPIO |\ 100*50dcf89dSDirk Eibach SICRH_GPIOSEL_1 |\ 101*50dcf89dSDirk Eibach SICRH_TMROBI_V3P3 |\ 102*50dcf89dSDirk Eibach SICRH_TSOBI1_V2P5 |\ 103*50dcf89dSDirk Eibach SICRH_TSOBI2_V2P5) /* 0x0037f103 */ 104*50dcf89dSDirk Eibach #define CONFIG_SYS_SICRL (\ 105*50dcf89dSDirk Eibach SICRL_SPI_PF0 |\ 106*50dcf89dSDirk Eibach SICRL_UART_PF0 |\ 107*50dcf89dSDirk Eibach SICRL_IRQ_PF0 |\ 108*50dcf89dSDirk Eibach SICRL_I2C2_PF0 |\ 109*50dcf89dSDirk Eibach SICRL_ETSEC1_GTX_CLK125) /* 0x00000000 */ 110*50dcf89dSDirk Eibach 111*50dcf89dSDirk Eibach /* 112*50dcf89dSDirk Eibach * IMMR new address 113*50dcf89dSDirk Eibach */ 114*50dcf89dSDirk Eibach #define CONFIG_SYS_IMMR 0xE0000000 115*50dcf89dSDirk Eibach 116*50dcf89dSDirk Eibach /* 117*50dcf89dSDirk Eibach * SERDES 118*50dcf89dSDirk Eibach */ 119*50dcf89dSDirk Eibach #define CONFIG_FSL_SERDES 120*50dcf89dSDirk Eibach #define CONFIG_FSL_SERDES1 0xe3000 121*50dcf89dSDirk Eibach 122*50dcf89dSDirk Eibach /* 123*50dcf89dSDirk Eibach * Arbiter Setup 124*50dcf89dSDirk Eibach */ 125*50dcf89dSDirk Eibach #define CONFIG_SYS_ACR_PIPE_DEP 3 /* Arbiter pipeline depth is 4 */ 126*50dcf89dSDirk Eibach #define CONFIG_SYS_ACR_RPTCNT 3 /* Arbiter repeat count is 4 */ 127*50dcf89dSDirk Eibach #define CONFIG_SYS_SPCR_TSECEP 3 /* eTSEC emergency priority is highest */ 128*50dcf89dSDirk Eibach 129*50dcf89dSDirk Eibach /* 130*50dcf89dSDirk Eibach * DDR Setup 131*50dcf89dSDirk Eibach */ 132*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory */ 133*50dcf89dSDirk Eibach #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE 134*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE 135*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_SDRAM_CLK_CNTL DDR_SDRAM_CLK_CNTL_CLK_ADJUST_05 136*50dcf89dSDirk Eibach #define CONFIG_SYS_DDRCDR_VALUE (DDRCDR_EN \ 137*50dcf89dSDirk Eibach | DDRCDR_PZ_LOZ \ 138*50dcf89dSDirk Eibach | DDRCDR_NZ_LOZ \ 139*50dcf89dSDirk Eibach | DDRCDR_ODT \ 140*50dcf89dSDirk Eibach | DDRCDR_Q_DRN) 141*50dcf89dSDirk Eibach /* 0x7b880001 */ 142*50dcf89dSDirk Eibach /* 143*50dcf89dSDirk Eibach * Manually set up DDR parameters 144*50dcf89dSDirk Eibach * consist of one chip NT5TU64M16HG from NANYA 145*50dcf89dSDirk Eibach */ 146*50dcf89dSDirk Eibach 147*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_SIZE 128 /* MB */ 148*50dcf89dSDirk Eibach 149*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_CS0_BNDS 0x00000007 150*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_CS0_CONFIG (CSCONFIG_EN \ 151*50dcf89dSDirk Eibach | CSCONFIG_ODT_RD_NEVER \ 152*50dcf89dSDirk Eibach | CSCONFIG_ODT_WR_ONLY_CURRENT \ 153*50dcf89dSDirk Eibach | CSCONFIG_BANK_BIT_3 \ 154*50dcf89dSDirk Eibach | CSCONFIG_ROW_BIT_13 | CSCONFIG_COL_BIT_10) 155*50dcf89dSDirk Eibach /* 0x80010102 */ 156*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_TIMING_3 0 157*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_TIMING_0 ((0 << TIMING_CFG0_RWT_SHIFT) \ 158*50dcf89dSDirk Eibach | (0 << TIMING_CFG0_WRT_SHIFT) \ 159*50dcf89dSDirk Eibach | (0 << TIMING_CFG0_RRT_SHIFT) \ 160*50dcf89dSDirk Eibach | (0 << TIMING_CFG0_WWT_SHIFT) \ 161*50dcf89dSDirk Eibach | (2 << TIMING_CFG0_ACT_PD_EXIT_SHIFT) \ 162*50dcf89dSDirk Eibach | (6 << TIMING_CFG0_PRE_PD_EXIT_SHIFT) \ 163*50dcf89dSDirk Eibach | (8 << TIMING_CFG0_ODT_PD_EXIT_SHIFT) \ 164*50dcf89dSDirk Eibach | (2 << TIMING_CFG0_MRS_CYC_SHIFT)) 165*50dcf89dSDirk Eibach /* 0x00260802 */ 166*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_TIMING_1 ((2 << TIMING_CFG1_PRETOACT_SHIFT) \ 167*50dcf89dSDirk Eibach | (6 << TIMING_CFG1_ACTTOPRE_SHIFT) \ 168*50dcf89dSDirk Eibach | (2 << TIMING_CFG1_ACTTORW_SHIFT) \ 169*50dcf89dSDirk Eibach | (7 << TIMING_CFG1_CASLAT_SHIFT) \ 170*50dcf89dSDirk Eibach | (9 << TIMING_CFG1_REFREC_SHIFT) \ 171*50dcf89dSDirk Eibach | (2 << TIMING_CFG1_WRREC_SHIFT) \ 172*50dcf89dSDirk Eibach | (2 << TIMING_CFG1_ACTTOACT_SHIFT) \ 173*50dcf89dSDirk Eibach | (2 << TIMING_CFG1_WRTORD_SHIFT)) 174*50dcf89dSDirk Eibach /* 0x26279222 */ 175*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_TIMING_2 ((0 << TIMING_CFG2_ADD_LAT_SHIFT) \ 176*50dcf89dSDirk Eibach | (4 << TIMING_CFG2_CPO_SHIFT) \ 177*50dcf89dSDirk Eibach | (3 << TIMING_CFG2_WR_LAT_DELAY_SHIFT) \ 178*50dcf89dSDirk Eibach | (2 << TIMING_CFG2_RD_TO_PRE_SHIFT) \ 179*50dcf89dSDirk Eibach | (2 << TIMING_CFG2_WR_DATA_DELAY_SHIFT) \ 180*50dcf89dSDirk Eibach | (3 << TIMING_CFG2_CKE_PLS_SHIFT) \ 181*50dcf89dSDirk Eibach | (5 << TIMING_CFG2_FOUR_ACT_SHIFT)) 182*50dcf89dSDirk Eibach /* 0x021848c5 */ 183*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_INTERVAL ((0x0824 << SDRAM_INTERVAL_REFINT_SHIFT) \ 184*50dcf89dSDirk Eibach | (0x0100 << SDRAM_INTERVAL_BSTOPRE_SHIFT)) 185*50dcf89dSDirk Eibach /* 0x08240100 */ 186*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_SDRAM_CFG (SDRAM_CFG_SREN \ 187*50dcf89dSDirk Eibach | SDRAM_CFG_SDRAM_TYPE_DDR2 \ 188*50dcf89dSDirk Eibach | SDRAM_CFG_DBW_16) 189*50dcf89dSDirk Eibach /* 0x43100000 */ 190*50dcf89dSDirk Eibach 191*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_SDRAM_CFG2 0x00401000 /* 1 posted refresh */ 192*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_MODE ((0x0440 << SDRAM_MODE_ESD_SHIFT) \ 193*50dcf89dSDirk Eibach | (0x0242 << SDRAM_MODE_SD_SHIFT)) 194*50dcf89dSDirk Eibach /* ODT 150ohm CL=4, AL=0 on SDRAM */ 195*50dcf89dSDirk Eibach #define CONFIG_SYS_DDR_MODE2 0x00000000 196*50dcf89dSDirk Eibach 197*50dcf89dSDirk Eibach /* 198*50dcf89dSDirk Eibach * Memory test 199*50dcf89dSDirk Eibach */ 200*50dcf89dSDirk Eibach #define CONFIG_SYS_MEMTEST_START 0x00001000 /* memtest region */ 201*50dcf89dSDirk Eibach #define CONFIG_SYS_MEMTEST_END 0x07f00000 202*50dcf89dSDirk Eibach 203*50dcf89dSDirk Eibach /* 204*50dcf89dSDirk Eibach * The reserved memory 205*50dcf89dSDirk Eibach */ 206*50dcf89dSDirk Eibach #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 207*50dcf89dSDirk Eibach 208*50dcf89dSDirk Eibach #define CONFIG_SYS_MONITOR_LEN (384 * 1024) /* Reserve 384 kB for Mon */ 209*50dcf89dSDirk Eibach #define CONFIG_SYS_MALLOC_LEN (512 * 1024) /* Reserved for malloc */ 210*50dcf89dSDirk Eibach 211*50dcf89dSDirk Eibach /* 212*50dcf89dSDirk Eibach * Initial RAM Base Address Setup 213*50dcf89dSDirk Eibach */ 214*50dcf89dSDirk Eibach #define CONFIG_SYS_INIT_RAM_LOCK 1 215*50dcf89dSDirk Eibach #define CONFIG_SYS_INIT_RAM_ADDR 0xE6000000 /* Initial RAM address */ 216*50dcf89dSDirk Eibach #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM */ 217*50dcf89dSDirk Eibach #define CONFIG_SYS_GBL_DATA_OFFSET \ 218*50dcf89dSDirk Eibach (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 219*50dcf89dSDirk Eibach 220*50dcf89dSDirk Eibach /* 221*50dcf89dSDirk Eibach * Local Bus Configuration & Clock Setup 222*50dcf89dSDirk Eibach */ 223*50dcf89dSDirk Eibach #define CONFIG_SYS_LCRR_DBYP LCRR_DBYP 224*50dcf89dSDirk Eibach #define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_2 225*50dcf89dSDirk Eibach #define CONFIG_SYS_LBC_LBCR 0x00040000 226*50dcf89dSDirk Eibach 227*50dcf89dSDirk Eibach /* 228*50dcf89dSDirk Eibach * FLASH on the Local Bus 229*50dcf89dSDirk Eibach */ 230*50dcf89dSDirk Eibach #if 1 231*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_CFI /* use the Common Flash Interface */ 232*50dcf89dSDirk Eibach #define CONFIG_FLASH_CFI_DRIVER /* use the CFI driver */ 233*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT 234*50dcf89dSDirk Eibach #define CONFIG_FLASH_CFI_LEGACY 235*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_LEGACY_512Kx16 236*50dcf89dSDirk Eibach #else 237*50dcf89dSDirk Eibach #define CONFIG_SYS_NO_FLASH 238*50dcf89dSDirk Eibach #endif 239*50dcf89dSDirk Eibach 240*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_BASE 0xFE000000 /* FLASH base address */ 241*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_SIZE 8 /* FLASH size is up to 8M */ 242*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_PROTECTION 1 /* Use h/w Flash protection. */ 243*50dcf89dSDirk Eibach 244*50dcf89dSDirk Eibach /* Window base at flash base */ 245*50dcf89dSDirk Eibach #define CONFIG_SYS_LBLAWBAR0_PRELIM CONFIG_SYS_FLASH_BASE 246*50dcf89dSDirk Eibach #define CONFIG_SYS_LBLAWAR0_PRELIM (LBLAWAR_EN | LBLAWAR_8MB) 247*50dcf89dSDirk Eibach 248*50dcf89dSDirk Eibach #define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE \ 249*50dcf89dSDirk Eibach | BR_PS_16 /* 16 bit port */ \ 250*50dcf89dSDirk Eibach | BR_MS_GPCM /* MSEL = GPCM */ \ 251*50dcf89dSDirk Eibach | BR_V) /* valid */ 252*50dcf89dSDirk Eibach #define CONFIG_SYS_OR0_PRELIM (MEG_TO_AM(CONFIG_SYS_FLASH_SIZE) \ 253*50dcf89dSDirk Eibach | OR_UPM_XAM \ 254*50dcf89dSDirk Eibach | OR_GPCM_CSNT \ 255*50dcf89dSDirk Eibach | OR_GPCM_ACS_DIV2 \ 256*50dcf89dSDirk Eibach | OR_GPCM_XACS \ 257*50dcf89dSDirk Eibach | OR_GPCM_SCY_15 \ 258*50dcf89dSDirk Eibach | OR_GPCM_TRLX_SET \ 259*50dcf89dSDirk Eibach | OR_GPCM_EHTR_SET) 260*50dcf89dSDirk Eibach 261*50dcf89dSDirk Eibach #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* number of banks */ 262*50dcf89dSDirk Eibach #define CONFIG_SYS_MAX_FLASH_SECT 135 263*50dcf89dSDirk Eibach 264*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 265*50dcf89dSDirk Eibach #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 266*50dcf89dSDirk Eibach 267*50dcf89dSDirk Eibach /* 268*50dcf89dSDirk Eibach * FPGA 269*50dcf89dSDirk Eibach */ 270*50dcf89dSDirk Eibach #define CONFIG_SYS_FPGA0_BASE 0xE0600000 271*50dcf89dSDirk Eibach #define CONFIG_SYS_FPGA0_SIZE 1 /* FPGA size is 1M */ 272*50dcf89dSDirk Eibach 273*50dcf89dSDirk Eibach /* Window base at FPGA base */ 274*50dcf89dSDirk Eibach #define CONFIG_SYS_LBLAWBAR1_PRELIM CONFIG_SYS_FPGA0_BASE 275*50dcf89dSDirk Eibach #define CONFIG_SYS_LBLAWAR1_PRELIM (LBLAWAR_EN | LBLAWAR_1MB) 276*50dcf89dSDirk Eibach 277*50dcf89dSDirk Eibach #define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_FPGA0_BASE \ 278*50dcf89dSDirk Eibach | BR_PS_16 /* 16 bit port */ \ 279*50dcf89dSDirk Eibach | BR_MS_GPCM /* MSEL = GPCM */ \ 280*50dcf89dSDirk Eibach | BR_V) /* valid */ 281*50dcf89dSDirk Eibach #define CONFIG_SYS_OR1_PRELIM (MEG_TO_AM(CONFIG_SYS_FPGA0_SIZE) \ 282*50dcf89dSDirk Eibach | OR_UPM_XAM \ 283*50dcf89dSDirk Eibach | OR_GPCM_CSNT \ 284*50dcf89dSDirk Eibach | OR_GPCM_ACS_DIV2 \ 285*50dcf89dSDirk Eibach | OR_GPCM_XACS \ 286*50dcf89dSDirk Eibach | OR_GPCM_SCY_15 \ 287*50dcf89dSDirk Eibach | OR_GPCM_TRLX_SET \ 288*50dcf89dSDirk Eibach | OR_GPCM_EHTR_SET) 289*50dcf89dSDirk Eibach 290*50dcf89dSDirk Eibach #define CONFIG_SYS_FPGA_BASE(k) CONFIG_SYS_FPGA0_BASE 291*50dcf89dSDirk Eibach #define CONFIG_SYS_FPGA_DONE(k) 0x0010 292*50dcf89dSDirk Eibach 293*50dcf89dSDirk Eibach #define CONFIG_SYS_FPGA_COUNT 1 294*50dcf89dSDirk Eibach 295*50dcf89dSDirk Eibach #define CONFIG_SYS_MCLINK_MAX 3 296*50dcf89dSDirk Eibach 297*50dcf89dSDirk Eibach #define CONFIG_SYS_FPGA_PTR \ 298*50dcf89dSDirk Eibach { (struct ihs_fpga *)CONFIG_SYS_FPGA0_BASE, NULL, NULL, NULL } 299*50dcf89dSDirk Eibach 300*50dcf89dSDirk Eibach /* 301*50dcf89dSDirk Eibach * Serial Port 302*50dcf89dSDirk Eibach */ 303*50dcf89dSDirk Eibach #define CONFIG_CONS_INDEX 2 304*50dcf89dSDirk Eibach #define CONFIG_SYS_NS16550 305*50dcf89dSDirk Eibach #define CONFIG_SYS_NS16550_SERIAL 306*50dcf89dSDirk Eibach #define CONFIG_SYS_NS16550_REG_SIZE 1 307*50dcf89dSDirk Eibach #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 308*50dcf89dSDirk Eibach 309*50dcf89dSDirk Eibach #define CONFIG_SYS_BAUDRATE_TABLE \ 310*50dcf89dSDirk Eibach {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200} 311*50dcf89dSDirk Eibach 312*50dcf89dSDirk Eibach #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR + 0x4500) 313*50dcf89dSDirk Eibach #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR + 0x4600) 314*50dcf89dSDirk Eibach 315*50dcf89dSDirk Eibach /* Use the HUSH parser */ 316*50dcf89dSDirk Eibach #define CONFIG_SYS_HUSH_PARSER 317*50dcf89dSDirk Eibach 318*50dcf89dSDirk Eibach /* Pass open firmware flat tree */ 319*50dcf89dSDirk Eibach #define CONFIG_OF_LIBFDT 1 320*50dcf89dSDirk Eibach #define CONFIG_OF_BOARD_SETUP 1 321*50dcf89dSDirk Eibach #define CONFIG_OF_STDOUT_VIA_ALIAS 1 322*50dcf89dSDirk Eibach 323*50dcf89dSDirk Eibach /* I2C */ 324*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C 325*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_FSL 326*50dcf89dSDirk Eibach #define CONFIG_SYS_FSL_I2C_SPEED 400000 327*50dcf89dSDirk Eibach #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 328*50dcf89dSDirk Eibach #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 329*50dcf89dSDirk Eibach 330*50dcf89dSDirk Eibach #define CONFIG_PCA953X /* NXP PCA9554 */ 331*50dcf89dSDirk Eibach #define CONFIG_PCA9698 /* NXP PCA9698 */ 332*50dcf89dSDirk Eibach 333*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS 334*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_CH0 335*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SPEED_0 50000 336*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SLAVE_0 0x7F 337*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_CH1 338*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SPEED_1 50000 339*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SLAVE_1 0x7F 340*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_CH2 341*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SPEED_2 50000 342*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SLAVE_2 0x7F 343*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_CH3 344*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SPEED_3 50000 345*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_IHS_SLAVE_3 0x7F 346*50dcf89dSDirk Eibach 347*50dcf89dSDirk Eibach /* 348*50dcf89dSDirk Eibach * Software (bit-bang) I2C driver configuration 349*50dcf89dSDirk Eibach */ 350*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT 351*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SPEED 50000 352*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SLAVE 0x7F 353*50dcf89dSDirk Eibach #define I2C_SOFT_DECLARATIONS2 354*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SPEED_2 50000 355*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SLAVE_2 0x7F 356*50dcf89dSDirk Eibach #define I2C_SOFT_DECLARATIONS3 357*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SPEED_3 50000 358*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SLAVE_3 0x7F 359*50dcf89dSDirk Eibach #define I2C_SOFT_DECLARATIONS4 360*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SPEED_4 50000 361*50dcf89dSDirk Eibach #define CONFIG_SYS_I2C_SOFT_SLAVE_4 0x7F 362*50dcf89dSDirk Eibach 363*50dcf89dSDirk Eibach #define CONFIG_SYS_ICS8N3QV01_I2C {5, 6, 7, 8} 364*50dcf89dSDirk Eibach #define CONFIG_SYS_CH7301_I2C {5, 6, 7, 8} 365*50dcf89dSDirk Eibach #define CONFIG_SYS_DP501_I2C {1, 2, 3, 4} 366*50dcf89dSDirk Eibach 367*50dcf89dSDirk Eibach #ifndef __ASSEMBLY__ 368*50dcf89dSDirk Eibach void fpga_gpio_set(unsigned int bus, int pin); 369*50dcf89dSDirk Eibach void fpga_gpio_clear(unsigned int bus, int pin); 370*50dcf89dSDirk Eibach int fpga_gpio_get(unsigned int bus, int pin); 371*50dcf89dSDirk Eibach #endif 372*50dcf89dSDirk Eibach 373*50dcf89dSDirk Eibach #define I2C_ACTIVE { } 374*50dcf89dSDirk Eibach #define I2C_TRISTATE { } 375*50dcf89dSDirk Eibach #define I2C_READ \ 376*50dcf89dSDirk Eibach (fpga_gpio_get(I2C_ADAP_HWNR, 0x0040) ? 1 : 0) 377*50dcf89dSDirk Eibach #define I2C_SDA(bit) \ 378*50dcf89dSDirk Eibach do { \ 379*50dcf89dSDirk Eibach if (bit) \ 380*50dcf89dSDirk Eibach fpga_gpio_set(I2C_ADAP_HWNR, 0x0040); \ 381*50dcf89dSDirk Eibach else \ 382*50dcf89dSDirk Eibach fpga_gpio_clear(I2C_ADAP_HWNR, 0x0040); \ 383*50dcf89dSDirk Eibach } while (0) 384*50dcf89dSDirk Eibach #define I2C_SCL(bit) \ 385*50dcf89dSDirk Eibach do { \ 386*50dcf89dSDirk Eibach if (bit) \ 387*50dcf89dSDirk Eibach fpga_gpio_set(I2C_ADAP_HWNR, 0x0020); \ 388*50dcf89dSDirk Eibach else \ 389*50dcf89dSDirk Eibach fpga_gpio_clear(I2C_ADAP_HWNR, 0x0020); \ 390*50dcf89dSDirk Eibach } while (0) 391*50dcf89dSDirk Eibach #define I2C_DELAY udelay(25) /* 1/4 I2C clock duration */ 392*50dcf89dSDirk Eibach 393*50dcf89dSDirk Eibach /* 394*50dcf89dSDirk Eibach * Software (bit-bang) MII driver configuration 395*50dcf89dSDirk Eibach */ 396*50dcf89dSDirk Eibach #define CONFIG_BITBANGMII /* bit-bang MII PHY management */ 397*50dcf89dSDirk Eibach #define CONFIG_BITBANGMII_MULTI 398*50dcf89dSDirk Eibach 399*50dcf89dSDirk Eibach /* 400*50dcf89dSDirk Eibach * OSD Setup 401*50dcf89dSDirk Eibach */ 402*50dcf89dSDirk Eibach #define CONFIG_SYS_OSD_SCREENS 1 403*50dcf89dSDirk Eibach #define CONFIG_SYS_DP501_DIFFERENTIAL 404*50dcf89dSDirk Eibach #define CONFIG_SYS_DP501_VCAPCTRL0 0x01 /* DDR mode 0, DE for H/VSYNC */ 405*50dcf89dSDirk Eibach 406*50dcf89dSDirk Eibach /* 407*50dcf89dSDirk Eibach * General PCI 408*50dcf89dSDirk Eibach * Addresses are mapped 1-1. 409*50dcf89dSDirk Eibach */ 410*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_BASE 0xA0000000 411*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_MEM_BASE 0xA0000000 412*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_MEM_PHYS 0xA0000000 413*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_MEM_SIZE 0x10000000 414*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_CFG_BASE 0xB0000000 415*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_CFG_SIZE 0x01000000 416*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_IO_BASE 0x00000000 417*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_IO_PHYS 0xB1000000 418*50dcf89dSDirk Eibach #define CONFIG_SYS_PCIE1_IO_SIZE 0x00800000 419*50dcf89dSDirk Eibach 420*50dcf89dSDirk Eibach /* enable PCIE clock */ 421*50dcf89dSDirk Eibach #define CONFIG_SYS_SCCR_PCIEXP1CM 1 422*50dcf89dSDirk Eibach 423*50dcf89dSDirk Eibach #define CONFIG_PCI 424*50dcf89dSDirk Eibach #define CONFIG_PCI_INDIRECT_BRIDGE 425*50dcf89dSDirk Eibach #define CONFIG_PCIE 426*50dcf89dSDirk Eibach 427*50dcf89dSDirk Eibach #define CONFIG_PCI_PNP /* do pci plug-and-play */ 428*50dcf89dSDirk Eibach 429*50dcf89dSDirk Eibach #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 430*50dcf89dSDirk Eibach #define CONFIG_83XX_GENERIC_PCIE_REGISTER_HOSES 1 431*50dcf89dSDirk Eibach 432*50dcf89dSDirk Eibach /* 433*50dcf89dSDirk Eibach * TSEC 434*50dcf89dSDirk Eibach */ 435*50dcf89dSDirk Eibach #define CONFIG_TSEC_ENET /* TSEC ethernet support */ 436*50dcf89dSDirk Eibach #define CONFIG_SYS_TSEC1_OFFSET 0x24000 437*50dcf89dSDirk Eibach #define CONFIG_SYS_TSEC1 (CONFIG_SYS_IMMR+CONFIG_SYS_TSEC1_OFFSET) 438*50dcf89dSDirk Eibach 439*50dcf89dSDirk Eibach /* 440*50dcf89dSDirk Eibach * TSEC ethernet configuration 441*50dcf89dSDirk Eibach */ 442*50dcf89dSDirk Eibach #define CONFIG_MII 1 /* MII PHY management */ 443*50dcf89dSDirk Eibach #define CONFIG_TSEC1 444*50dcf89dSDirk Eibach #define CONFIG_TSEC1_NAME "eTSEC0" 445*50dcf89dSDirk Eibach #define TSEC1_PHY_ADDR 1 446*50dcf89dSDirk Eibach #define TSEC1_PHYIDX 0 447*50dcf89dSDirk Eibach #define TSEC1_FLAGS TSEC_GIGABIT 448*50dcf89dSDirk Eibach 449*50dcf89dSDirk Eibach /* Options are: eTSEC[0-1] */ 450*50dcf89dSDirk Eibach #define CONFIG_ETHPRIME "eTSEC0" 451*50dcf89dSDirk Eibach 452*50dcf89dSDirk Eibach /* 453*50dcf89dSDirk Eibach * Environment 454*50dcf89dSDirk Eibach */ 455*50dcf89dSDirk Eibach #if 1 456*50dcf89dSDirk Eibach #define CONFIG_ENV_IS_IN_FLASH 1 457*50dcf89dSDirk Eibach #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + \ 458*50dcf89dSDirk Eibach CONFIG_SYS_MONITOR_LEN) 459*50dcf89dSDirk Eibach #define CONFIG_ENV_SECT_SIZE 0x10000 /* 64K(one sector) for env */ 460*50dcf89dSDirk Eibach #define CONFIG_ENV_SIZE 0x2000 461*50dcf89dSDirk Eibach #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) 462*50dcf89dSDirk Eibach #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE 463*50dcf89dSDirk Eibach #else 464*50dcf89dSDirk Eibach #define CONFIG_ENV_IS_NOWHERE 465*50dcf89dSDirk Eibach #define CONFIG_ENV_SIZE 0x2000 /* 8KB */ 466*50dcf89dSDirk Eibach #endif 467*50dcf89dSDirk Eibach 468*50dcf89dSDirk Eibach #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 469*50dcf89dSDirk Eibach #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 470*50dcf89dSDirk Eibach 471*50dcf89dSDirk Eibach /* 472*50dcf89dSDirk Eibach * Command line configuration. 473*50dcf89dSDirk Eibach */ 474*50dcf89dSDirk Eibach #include <config_cmd_default.h> 475*50dcf89dSDirk Eibach 476*50dcf89dSDirk Eibach #define CONFIG_CMD_I2C 477*50dcf89dSDirk Eibach #define CONFIG_CMD_MII 478*50dcf89dSDirk Eibach #define CONFIG_CMD_NET 479*50dcf89dSDirk Eibach #define CONFIG_CMD_PCI 480*50dcf89dSDirk Eibach #define CONFIG_CMD_PING 481*50dcf89dSDirk Eibach 482*50dcf89dSDirk Eibach #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 483*50dcf89dSDirk Eibach #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 484*50dcf89dSDirk Eibach 485*50dcf89dSDirk Eibach /* 486*50dcf89dSDirk Eibach * Miscellaneous configurable options 487*50dcf89dSDirk Eibach */ 488*50dcf89dSDirk Eibach #define CONFIG_SYS_LONGHELP /* undef to save memory */ 489*50dcf89dSDirk Eibach #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 490*50dcf89dSDirk Eibach #define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */ 491*50dcf89dSDirk Eibach #define CONFIG_SYS_HZ 1000 /* decrementer freq: 1ms ticks */ 492*50dcf89dSDirk Eibach 493*50dcf89dSDirk Eibach #undef CONFIG_ZERO_BOOTDELAY_CHECK /* ignore keypress on bootdelay==0 */ 494*50dcf89dSDirk Eibach #define CONFIG_AUTOBOOT_KEYED /* use key strings to stop autoboot */ 495*50dcf89dSDirk Eibach #define CONFIG_AUTOBOOT_STOP_STR " " 496*50dcf89dSDirk Eibach 497*50dcf89dSDirk Eibach #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ 498*50dcf89dSDirk Eibach 499*50dcf89dSDirk Eibach #define CONFIG_SYS_CONSOLE_INFO_QUIET 500*50dcf89dSDirk Eibach 501*50dcf89dSDirk Eibach /* Print Buffer Size */ 502*50dcf89dSDirk Eibach #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) 503*50dcf89dSDirk Eibach #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ 504*50dcf89dSDirk Eibach #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE 505*50dcf89dSDirk Eibach 506*50dcf89dSDirk Eibach /* 507*50dcf89dSDirk Eibach * For booting Linux, the board info and command line data 508*50dcf89dSDirk Eibach * have to be in the first 256 MB of memory, since this is 509*50dcf89dSDirk Eibach * the maximum mapped by the Linux kernel during initialization. 510*50dcf89dSDirk Eibach */ 511*50dcf89dSDirk Eibach #define CONFIG_SYS_BOOTMAPSZ (256 << 20) /* Initial Memory map for Linux */ 512*50dcf89dSDirk Eibach 513*50dcf89dSDirk Eibach /* 514*50dcf89dSDirk Eibach * Core HID Setup 515*50dcf89dSDirk Eibach */ 516*50dcf89dSDirk Eibach #define CONFIG_SYS_HID0_INIT 0x000000000 517*50dcf89dSDirk Eibach #define CONFIG_SYS_HID0_FINAL (HID0_ENABLE_MACHINE_CHECK | \ 518*50dcf89dSDirk Eibach HID0_ENABLE_INSTRUCTION_CACHE | \ 519*50dcf89dSDirk Eibach HID0_ENABLE_DYNAMIC_POWER_MANAGMENT) 520*50dcf89dSDirk Eibach #define CONFIG_SYS_HID2 HID2_HBE 521*50dcf89dSDirk Eibach 522*50dcf89dSDirk Eibach /* 523*50dcf89dSDirk Eibach * MMU Setup 524*50dcf89dSDirk Eibach */ 525*50dcf89dSDirk Eibach 526*50dcf89dSDirk Eibach /* DDR: cache cacheable */ 527*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | \ 528*50dcf89dSDirk Eibach BATL_MEMCOHERENCE) 529*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_128M | \ 530*50dcf89dSDirk Eibach BATU_VS | BATU_VP) 531*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L 532*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U 533*50dcf89dSDirk Eibach 534*50dcf89dSDirk Eibach /* IMMRBAR, PCI IO and FPGA: cache-inhibit and guarded */ 535*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT1L (CONFIG_SYS_IMMR | BATL_PP_RW | \ 536*50dcf89dSDirk Eibach BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 537*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT1U (CONFIG_SYS_IMMR | BATU_BL_8M | BATU_VS | \ 538*50dcf89dSDirk Eibach BATU_VP) 539*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L 540*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U 541*50dcf89dSDirk Eibach 542*50dcf89dSDirk Eibach /* FLASH: icache cacheable, but dcache-inhibit and guarded */ 543*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT2L (CONFIG_SYS_FLASH_BASE | BATL_PP_RW | \ 544*50dcf89dSDirk Eibach BATL_MEMCOHERENCE) 545*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT2U (CONFIG_SYS_FLASH_BASE | BATU_BL_8M | \ 546*50dcf89dSDirk Eibach BATU_VS | BATU_VP) 547*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT2L (CONFIG_SYS_FLASH_BASE | BATL_PP_RW | \ 548*50dcf89dSDirk Eibach BATL_CACHEINHIBIT | \ 549*50dcf89dSDirk Eibach BATL_GUARDEDSTORAGE) 550*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U 551*50dcf89dSDirk Eibach 552*50dcf89dSDirk Eibach /* Stack in dcache: cacheable, no memory coherence */ 553*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT3L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW) 554*50dcf89dSDirk Eibach #define CONFIG_SYS_IBAT3U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_128K | \ 555*50dcf89dSDirk Eibach BATU_VS | BATU_VP) 556*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L 557*50dcf89dSDirk Eibach #define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U 558*50dcf89dSDirk Eibach 559*50dcf89dSDirk Eibach /* 560*50dcf89dSDirk Eibach * Environment Configuration 561*50dcf89dSDirk Eibach */ 562*50dcf89dSDirk Eibach 563*50dcf89dSDirk Eibach #define CONFIG_ENV_OVERWRITE 564*50dcf89dSDirk Eibach 565*50dcf89dSDirk Eibach #if defined(CONFIG_TSEC_ENET) 566*50dcf89dSDirk Eibach #define CONFIG_HAS_ETH0 567*50dcf89dSDirk Eibach #endif 568*50dcf89dSDirk Eibach 569*50dcf89dSDirk Eibach #define CONFIG_BAUDRATE 115200 570*50dcf89dSDirk Eibach 571*50dcf89dSDirk Eibach #define CONFIG_LOADADDR 800000 /* default location for tftp and bootm */ 572*50dcf89dSDirk Eibach 573*50dcf89dSDirk Eibach #define CONFIG_BOOTDELAY 5 /* -1 disables auto-boot */ 574*50dcf89dSDirk Eibach 575*50dcf89dSDirk Eibach #define CONFIG_HOSTNAME hrcon 576*50dcf89dSDirk Eibach #define CONFIG_ROOTPATH "/opt/nfsroot" 577*50dcf89dSDirk Eibach #define CONFIG_BOOTFILE "uImage" 578*50dcf89dSDirk Eibach 579*50dcf89dSDirk Eibach #define CONFIG_PREBOOT /* enable preboot variable */ 580*50dcf89dSDirk Eibach 581*50dcf89dSDirk Eibach #define CONFIG_EXTRA_ENV_SETTINGS \ 582*50dcf89dSDirk Eibach "netdev=eth0\0" \ 583*50dcf89dSDirk Eibach "consoledev=ttyS1\0" \ 584*50dcf89dSDirk Eibach "u-boot=u-boot.bin\0" \ 585*50dcf89dSDirk Eibach "kernel_addr=1000000\0" \ 586*50dcf89dSDirk Eibach "fdt_addr=C00000\0" \ 587*50dcf89dSDirk Eibach "fdtfile=hrcon.dtb\0" \ 588*50dcf89dSDirk Eibach "load=tftp ${loadaddr} ${u-boot}\0" \ 589*50dcf89dSDirk Eibach "update=protect off " __stringify(CONFIG_SYS_MONITOR_BASE) \ 590*50dcf89dSDirk Eibach " +${filesize};era " __stringify(CONFIG_SYS_MONITOR_BASE)\ 591*50dcf89dSDirk Eibach " +${filesize};cp.b ${fileaddr} " \ 592*50dcf89dSDirk Eibach __stringify(CONFIG_SYS_MONITOR_BASE) " ${filesize}\0" \ 593*50dcf89dSDirk Eibach "upd=run load update\0" \ 594*50dcf89dSDirk Eibach 595*50dcf89dSDirk Eibach #define CONFIG_NFSBOOTCOMMAND \ 596*50dcf89dSDirk Eibach "setenv bootargs root=/dev/nfs rw " \ 597*50dcf89dSDirk Eibach "nfsroot=$serverip:$rootpath " \ 598*50dcf89dSDirk Eibach "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 599*50dcf89dSDirk Eibach "console=$consoledev,$baudrate $othbootargs;" \ 600*50dcf89dSDirk Eibach "tftp ${kernel_addr} $bootfile;" \ 601*50dcf89dSDirk Eibach "tftp ${fdt_addr} $fdtfile;" \ 602*50dcf89dSDirk Eibach "bootm ${kernel_addr} - ${fdt_addr}" 603*50dcf89dSDirk Eibach 604*50dcf89dSDirk Eibach #define CONFIG_MMCBOOTCOMMAND \ 605*50dcf89dSDirk Eibach "setenv bootargs root=/dev/mmcblk0p3 rw rootwait " \ 606*50dcf89dSDirk Eibach "console=$consoledev,$baudrate $othbootargs;" \ 607*50dcf89dSDirk Eibach "ext2load mmc 0:2 ${kernel_addr} $bootfile;" \ 608*50dcf89dSDirk Eibach "ext2load mmc 0:2 ${fdt_addr} $fdtfile;" \ 609*50dcf89dSDirk Eibach "bootm ${kernel_addr} - ${fdt_addr}" 610*50dcf89dSDirk Eibach 611*50dcf89dSDirk Eibach #define CONFIG_BOOTCOMMAND CONFIG_MMCBOOTCOMMAND 612*50dcf89dSDirk Eibach 613*50dcf89dSDirk Eibach 614*50dcf89dSDirk Eibach #endif /* __CONFIG_H */ 615