1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2005 3*4882a593Smuzhiyun * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* 9*4882a593Smuzhiyun * TQM8349 board configuration file 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #ifndef __CONFIG_H 13*4882a593Smuzhiyun #define __CONFIG_H 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun /* 16*4882a593Smuzhiyun * High Level Configuration Options 17*4882a593Smuzhiyun */ 18*4882a593Smuzhiyun #define CONFIG_E300 1 /* E300 Family */ 19*4882a593Smuzhiyun #define CONFIG_MPC834x 1 /* MPC834x specific */ 20*4882a593Smuzhiyun #define CONFIG_MPC8349 1 /* MPC8349 specific */ 21*4882a593Smuzhiyun #define CONFIG_TQM834X 1 /* TQM834X board specific */ 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun #define CONFIG_SYS_TEXT_BASE 0x80000000 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun /* IMMR Base Address Register, use Freescale default: 0xff400000 */ 26*4882a593Smuzhiyun #define CONFIG_SYS_IMMR 0xff400000 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun /* System clock. Primary input clock when in PCI host mode */ 29*4882a593Smuzhiyun #define CONFIG_83XX_CLKIN 66666000 /* 66,666 MHz */ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /* 32*4882a593Smuzhiyun * Local Bus LCRR 33*4882a593Smuzhiyun * LCRR: DLL bypass, Clock divider is 8 34*4882a593Smuzhiyun * 35*4882a593Smuzhiyun * for CSB = 266 MHz it gives LCB clock frequency = 33 MHz 36*4882a593Smuzhiyun * 37*4882a593Smuzhiyun * External Local Bus rate is 38*4882a593Smuzhiyun * CLKIN * HRCWL_CSB_TO_CLKIN / HRCWL_LCL_BUS_TO_SCB_CLK / LCRR_CLKDIV 39*4882a593Smuzhiyun */ 40*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_DBYP LCRR_DBYP 41*4882a593Smuzhiyun #define CONFIG_SYS_LCRR_CLKDIV LCRR_CLKDIV_8 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun /* board pre init: do not call, nothing to do */ 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun /* detect the number of flash banks */ 46*4882a593Smuzhiyun #define CONFIG_BOARD_EARLY_INIT_R 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun /* 49*4882a593Smuzhiyun * DDR Setup 50*4882a593Smuzhiyun */ 51*4882a593Smuzhiyun /* DDR is system memory*/ 52*4882a593Smuzhiyun #define CONFIG_SYS_DDR_BASE 0x00000000 53*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE 54*4882a593Smuzhiyun #define CONFIG_SYS_DDR_SDRAM_BASE CONFIG_SYS_DDR_BASE 55*4882a593Smuzhiyun #define DDR_CASLAT_25 /* CASLAT set to 2.5 */ 56*4882a593Smuzhiyun #undef CONFIG_DDR_ECC /* only for ECC DDR module */ 57*4882a593Smuzhiyun #undef CONFIG_SPD_EEPROM /* do not use SPD EEPROM for DDR setup */ 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #undef CONFIG_SYS_DRAM_TEST /* memory test, takes time */ 60*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START 0x00000000 /* memtest region */ 61*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END 0x00100000 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun /* 64*4882a593Smuzhiyun * FLASH on the Local Bus 65*4882a593Smuzhiyun */ 66*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_CFI /* use the Common Flash Interface */ 67*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_DRIVER /* use the CFI driver */ 68*4882a593Smuzhiyun #undef CONFIG_SYS_FLASH_CHECKSUM 69*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_BASE 0x80000000 /* start of FLASH */ 70*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_SIZE 8 /* FLASH size in MB */ 71*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sectors */ 72*4882a593Smuzhiyun #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun /* 75*4882a593Smuzhiyun * FLASH bank number detection 76*4882a593Smuzhiyun */ 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun /* 79*4882a593Smuzhiyun * When CONFIG_SYS_MAX_FLASH_BANKS_DETECT is defined, the actual number of 80*4882a593Smuzhiyun * Flash banks has to be determined at runtime and stored in a gloabl variable 81*4882a593Smuzhiyun * tqm834x_num_flash_banks. The value of CONFIG_SYS_MAX_FLASH_BANKS_DETECT is 82*4882a593Smuzhiyun * only used instead of CONFIG_SYS_MAX_FLASH_BANKS to allocate the array 83*4882a593Smuzhiyun * flash_info, and should be made sufficiently large to accomodate the number 84*4882a593Smuzhiyun * of banks that might actually be detected. Since most (all?) Flash related 85*4882a593Smuzhiyun * functions use CONFIG_SYS_MAX_FLASH_BANKS as the number of actual banks on 86*4882a593Smuzhiyun * the board, it is defined as tqm834x_num_flash_banks. 87*4882a593Smuzhiyun */ 88*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 2 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT 512 /* max sectors per device */ 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun /* 32 bit device at 0x80000000 via GPCM (0x8000_1801) */ 93*4882a593Smuzhiyun #define CONFIG_SYS_BR0_PRELIM ((CONFIG_SYS_FLASH_BASE & BR_BA) \ 94*4882a593Smuzhiyun | BR_MS_GPCM \ 95*4882a593Smuzhiyun | BR_PS_32 \ 96*4882a593Smuzhiyun | BR_V) 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun /* FLASH timing (0x0000_0c54) */ 99*4882a593Smuzhiyun #define CONFIG_SYS_OR_TIMING_FLASH (OR_GPCM_CSNT \ 100*4882a593Smuzhiyun | OR_GPCM_ACS_DIV4 \ 101*4882a593Smuzhiyun | OR_GPCM_SCY_5 \ 102*4882a593Smuzhiyun | OR_GPCM_TRLX) 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun #define CONFIG_SYS_PRELIM_OR_AM OR_AM_1GB /* OR addr mask: 1 GiB */ 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun #define CONFIG_SYS_OR0_PRELIM (CONFIG_SYS_PRELIM_OR_AM \ 107*4882a593Smuzhiyun | CONFIG_SYS_OR_TIMING_FLASH) 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR0_PRELIM (LBLAWAR_EN | LBLAWAR_1GB) 110*4882a593Smuzhiyun 111*4882a593Smuzhiyun /* Window base at flash base */ 112*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR0_PRELIM CONFIG_SYS_FLASH_BASE 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun /* disable remaining mappings */ 115*4882a593Smuzhiyun #define CONFIG_SYS_BR1_PRELIM 0x00000000 116*4882a593Smuzhiyun #define CONFIG_SYS_OR1_PRELIM 0x00000000 117*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR1_PRELIM 0x00000000 118*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR1_PRELIM 0x00000000 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun #define CONFIG_SYS_BR2_PRELIM 0x00000000 121*4882a593Smuzhiyun #define CONFIG_SYS_OR2_PRELIM 0x00000000 122*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR2_PRELIM 0x00000000 123*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR2_PRELIM 0x00000000 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun #define CONFIG_SYS_BR3_PRELIM 0x00000000 126*4882a593Smuzhiyun #define CONFIG_SYS_OR3_PRELIM 0x00000000 127*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWBAR3_PRELIM 0x00000000 128*4882a593Smuzhiyun #define CONFIG_SYS_LBLAWAR3_PRELIM 0x00000000 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun /* 131*4882a593Smuzhiyun * Monitor config 132*4882a593Smuzhiyun */ 133*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun #if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE) 136*4882a593Smuzhiyun # define CONFIG_SYS_RAMBOOT 137*4882a593Smuzhiyun #else 138*4882a593Smuzhiyun # undef CONFIG_SYS_RAMBOOT 139*4882a593Smuzhiyun #endif 140*4882a593Smuzhiyun 141*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_LOCK 1 142*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR 0x20000000 /* Initial RAM address */ 143*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE 0x1000 /* Size of used area in RAM*/ 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun #define CONFIG_SYS_GBL_DATA_OFFSET \ 146*4882a593Smuzhiyun (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 147*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun /* Reserve 384 kB = 3 sect. for Mon */ 150*4882a593Smuzhiyun #define CONFIG_SYS_MONITOR_LEN (384 * 1024) 151*4882a593Smuzhiyun /* Reserve 512 kB for malloc */ 152*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN (512 * 1024) 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun /* 155*4882a593Smuzhiyun * Serial Port 156*4882a593Smuzhiyun */ 157*4882a593Smuzhiyun #define CONFIG_CONS_INDEX 1 158*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_SERIAL 159*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_REG_SIZE 1 160*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 161*4882a593Smuzhiyun 162*4882a593Smuzhiyun #define CONFIG_SYS_BAUDRATE_TABLE \ 163*4882a593Smuzhiyun {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} 164*4882a593Smuzhiyun 165*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR + 0x4500) 166*4882a593Smuzhiyun #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR + 0x4600) 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun /* 169*4882a593Smuzhiyun * I2C 170*4882a593Smuzhiyun */ 171*4882a593Smuzhiyun #define CONFIG_SYS_I2C 172*4882a593Smuzhiyun #define CONFIG_SYS_I2C_FSL 173*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SPEED 400000 174*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 175*4882a593Smuzhiyun #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 176*4882a593Smuzhiyun 177*4882a593Smuzhiyun /* I2C EEPROM, configuration for onboard EEPROMs 24C256 and 24C32 */ 178*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* 1010000x */ 179*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 /* 16 bit */ 180*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 /* 32 bytes/write */ 181*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 12 /* 10ms +/- 20% */ 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun /* I2C RTC */ 184*4882a593Smuzhiyun #define CONFIG_RTC_DS1337 /* use ds1337 rtc via i2c */ 185*4882a593Smuzhiyun #define CONFIG_SYS_I2C_RTC_ADDR 0x68 /* at address 0x68 */ 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun /* 188*4882a593Smuzhiyun * TSEC 189*4882a593Smuzhiyun */ 190*4882a593Smuzhiyun #define CONFIG_TSEC_ENET /* tsec ethernet support */ 191*4882a593Smuzhiyun #define CONFIG_MII 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun #define CONFIG_SYS_TSEC1_OFFSET 0x24000 194*4882a593Smuzhiyun #define CONFIG_SYS_TSEC1 (CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET) 195*4882a593Smuzhiyun #define CONFIG_SYS_TSEC2_OFFSET 0x25000 196*4882a593Smuzhiyun #define CONFIG_SYS_TSEC2 (CONFIG_SYS_IMMR + CONFIG_SYS_TSEC2_OFFSET) 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun #if defined(CONFIG_TSEC_ENET) 199*4882a593Smuzhiyun 200*4882a593Smuzhiyun #define CONFIG_TSEC1 1 201*4882a593Smuzhiyun #define CONFIG_TSEC1_NAME "TSEC0" 202*4882a593Smuzhiyun #define CONFIG_TSEC2 1 203*4882a593Smuzhiyun #define CONFIG_TSEC2_NAME "TSEC1" 204*4882a593Smuzhiyun #define TSEC1_PHY_ADDR 2 205*4882a593Smuzhiyun #define TSEC2_PHY_ADDR 1 206*4882a593Smuzhiyun #define TSEC1_PHYIDX 0 207*4882a593Smuzhiyun #define TSEC2_PHYIDX 0 208*4882a593Smuzhiyun #define TSEC1_FLAGS TSEC_GIGABIT 209*4882a593Smuzhiyun #define TSEC2_FLAGS TSEC_GIGABIT 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun /* Options are: TSEC[0-1] */ 212*4882a593Smuzhiyun #define CONFIG_ETHPRIME "TSEC0" 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun #endif /* CONFIG_TSEC_ENET */ 215*4882a593Smuzhiyun 216*4882a593Smuzhiyun #if defined(CONFIG_PCI) 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 219*4882a593Smuzhiyun 220*4882a593Smuzhiyun /* PCI1 host bridge */ 221*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_BASE 0x90000000 222*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BASE 223*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MEM_SIZE 0x10000000 /* 256M */ 224*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_BASE \ 225*4882a593Smuzhiyun (CONFIG_SYS_PCI1_MEM_BASE + CONFIG_SYS_PCI1_MEM_SIZE) 226*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_PHYS CONFIG_SYS_PCI1_MMIO_BASE 227*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_MMIO_SIZE 0x10000000 /* 256M */ 228*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_BASE 0xe2000000 229*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_PHYS CONFIG_SYS_PCI1_IO_BASE 230*4882a593Smuzhiyun #define CONFIG_SYS_PCI1_IO_SIZE 0x1000000 /* 16M */ 231*4882a593Smuzhiyun 232*4882a593Smuzhiyun #undef CONFIG_EEPRO100 233*4882a593Smuzhiyun #define CONFIG_EEPRO100 234*4882a593Smuzhiyun #undef CONFIG_TULIP 235*4882a593Smuzhiyun 236*4882a593Smuzhiyun #if !defined(CONFIG_PCI_PNP) 237*4882a593Smuzhiyun #define PCI_ENET0_IOADDR CONFIG_SYS_PCI1_IO_BASE 238*4882a593Smuzhiyun #define PCI_ENET0_MEMADDR CONFIG_SYS_PCI1_MEM_BASE 239*4882a593Smuzhiyun #define PCI_IDSEL_NUMBER 0x1c /* slot0 (IDSEL) = 28 */ 240*4882a593Smuzhiyun #endif 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1957 /* Freescale */ 243*4882a593Smuzhiyun 244*4882a593Smuzhiyun #endif /* CONFIG_PCI */ 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun /* 247*4882a593Smuzhiyun * Environment 248*4882a593Smuzhiyun */ 249*4882a593Smuzhiyun #define CONFIG_ENV_ADDR \ 250*4882a593Smuzhiyun (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) 251*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) for env */ 252*4882a593Smuzhiyun #define CONFIG_ENV_SIZE 0x8000 /* 32K max size */ 253*4882a593Smuzhiyun #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE) 254*4882a593Smuzhiyun #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) 255*4882a593Smuzhiyun 256*4882a593Smuzhiyun #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 257*4882a593Smuzhiyun #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 258*4882a593Smuzhiyun 259*4882a593Smuzhiyun /* 260*4882a593Smuzhiyun * BOOTP options 261*4882a593Smuzhiyun */ 262*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTFILESIZE 263*4882a593Smuzhiyun #define CONFIG_BOOTP_BOOTPATH 264*4882a593Smuzhiyun #define CONFIG_BOOTP_GATEWAY 265*4882a593Smuzhiyun #define CONFIG_BOOTP_HOSTNAME 266*4882a593Smuzhiyun 267*4882a593Smuzhiyun /* 268*4882a593Smuzhiyun * Miscellaneous configurable options 269*4882a593Smuzhiyun */ 270*4882a593Smuzhiyun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 271*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 272*4882a593Smuzhiyun 273*4882a593Smuzhiyun #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 274*4882a593Smuzhiyun #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun #undef CONFIG_WATCHDOG /* watchdog disabled */ 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun /* 279*4882a593Smuzhiyun * For booting Linux, the board info and command line data 280*4882a593Smuzhiyun * have to be in the first 256 MB of memory, since this is 281*4882a593Smuzhiyun * the maximum mapped by the Linux kernel during initialization. 282*4882a593Smuzhiyun */ 283*4882a593Smuzhiyun /* Initial Memory map for Linux */ 284*4882a593Smuzhiyun #define CONFIG_SYS_BOOTMAPSZ (256 << 20) 285*4882a593Smuzhiyun 286*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_LOW (\ 287*4882a593Smuzhiyun HRCWL_LCL_BUS_TO_SCB_CLK_1X1 |\ 288*4882a593Smuzhiyun HRCWL_DDR_TO_SCB_CLK_1X1 |\ 289*4882a593Smuzhiyun HRCWL_CSB_TO_CLKIN_4X1 |\ 290*4882a593Smuzhiyun HRCWL_VCO_1X2 |\ 291*4882a593Smuzhiyun HRCWL_CORE_TO_CSB_2X1) 292*4882a593Smuzhiyun 293*4882a593Smuzhiyun #if defined(PCI_64BIT) 294*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 295*4882a593Smuzhiyun HRCWH_PCI_HOST |\ 296*4882a593Smuzhiyun HRCWH_64_BIT_PCI |\ 297*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_ENABLE |\ 298*4882a593Smuzhiyun HRCWH_PCI2_ARBITER_DISABLE |\ 299*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 300*4882a593Smuzhiyun HRCWH_FROM_0X00000100 |\ 301*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 302*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 303*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 304*4882a593Smuzhiyun HRCWH_TSEC1M_IN_GMII |\ 305*4882a593Smuzhiyun HRCWH_TSEC2M_IN_GMII) 306*4882a593Smuzhiyun #else 307*4882a593Smuzhiyun #define CONFIG_SYS_HRCW_HIGH (\ 308*4882a593Smuzhiyun HRCWH_PCI_HOST |\ 309*4882a593Smuzhiyun HRCWH_32_BIT_PCI |\ 310*4882a593Smuzhiyun HRCWH_PCI1_ARBITER_ENABLE |\ 311*4882a593Smuzhiyun HRCWH_PCI2_ARBITER_DISABLE |\ 312*4882a593Smuzhiyun HRCWH_CORE_ENABLE |\ 313*4882a593Smuzhiyun HRCWH_FROM_0X00000100 |\ 314*4882a593Smuzhiyun HRCWH_BOOTSEQ_DISABLE |\ 315*4882a593Smuzhiyun HRCWH_SW_WATCHDOG_DISABLE |\ 316*4882a593Smuzhiyun HRCWH_ROM_LOC_LOCAL_16BIT |\ 317*4882a593Smuzhiyun HRCWH_TSEC1M_IN_GMII |\ 318*4882a593Smuzhiyun HRCWH_TSEC2M_IN_GMII) 319*4882a593Smuzhiyun #endif 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun /* System IO Config */ 322*4882a593Smuzhiyun #define CONFIG_SYS_SICRH 0 323*4882a593Smuzhiyun #define CONFIG_SYS_SICRL SICRL_LDP_A 324*4882a593Smuzhiyun 325*4882a593Smuzhiyun /* i-cache and d-cache disabled */ 326*4882a593Smuzhiyun #define CONFIG_SYS_HID0_INIT 0x000000000 327*4882a593Smuzhiyun #define CONFIG_SYS_HID0_FINAL (CONFIG_SYS_HID0_INIT | \ 328*4882a593Smuzhiyun HID0_ENABLE_INSTRUCTION_CACHE) 329*4882a593Smuzhiyun #define CONFIG_SYS_HID2 HID2_HBE 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun #define CONFIG_HIGH_BATS 1 /* High BATs supported */ 332*4882a593Smuzhiyun 333*4882a593Smuzhiyun /* DDR 0 - 512M */ 334*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE \ 335*4882a593Smuzhiyun | BATL_PP_RW \ 336*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 337*4882a593Smuzhiyun #define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE \ 338*4882a593Smuzhiyun | BATU_BL_256M \ 339*4882a593Smuzhiyun | BATU_VS \ 340*4882a593Smuzhiyun | BATU_VP) 341*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1L (CONFIG_SYS_SDRAM_BASE + 0x10000000 \ 342*4882a593Smuzhiyun | BATL_PP_RW \ 343*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 344*4882a593Smuzhiyun #define CONFIG_SYS_IBAT1U (CONFIG_SYS_SDRAM_BASE + 0x10000000 \ 345*4882a593Smuzhiyun | BATU_BL_256M \ 346*4882a593Smuzhiyun | BATU_VS \ 347*4882a593Smuzhiyun | BATU_VP) 348*4882a593Smuzhiyun 349*4882a593Smuzhiyun /* stack in DCACHE @ 512M (no backing mem) */ 350*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2L (CONFIG_SYS_INIT_RAM_ADDR \ 351*4882a593Smuzhiyun | BATL_PP_RW \ 352*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 353*4882a593Smuzhiyun #define CONFIG_SYS_IBAT2U (CONFIG_SYS_INIT_RAM_ADDR \ 354*4882a593Smuzhiyun | BATU_BL_128K \ 355*4882a593Smuzhiyun | BATU_VS \ 356*4882a593Smuzhiyun | BATU_VP) 357*4882a593Smuzhiyun 358*4882a593Smuzhiyun /* PCI */ 359*4882a593Smuzhiyun #ifdef CONFIG_PCI 360*4882a593Smuzhiyun #define CONFIG_PCI_INDIRECT_BRIDGE 361*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3L (CONFIG_SYS_PCI1_MEM_BASE \ 362*4882a593Smuzhiyun | BATL_PP_RW \ 363*4882a593Smuzhiyun | BATL_MEMCOHERENCE) 364*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3U (CONFIG_SYS_PCI1_MEM_BASE \ 365*4882a593Smuzhiyun | BATU_BL_256M \ 366*4882a593Smuzhiyun | BATU_VS \ 367*4882a593Smuzhiyun | BATU_VP) 368*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4L (CONFIG_SYS_PCI1_MMIO_BASE \ 369*4882a593Smuzhiyun | BATL_PP_RW \ 370*4882a593Smuzhiyun | BATL_MEMCOHERENCE \ 371*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 372*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4U (CONFIG_SYS_PCI1_MMIO_BASE \ 373*4882a593Smuzhiyun | BATU_BL_256M \ 374*4882a593Smuzhiyun | BATU_VS \ 375*4882a593Smuzhiyun | BATU_VP) 376*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5L (CONFIG_SYS_PCI1_IO_BASE \ 377*4882a593Smuzhiyun | BATL_PP_RW \ 378*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 379*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 380*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5U (CONFIG_SYS_PCI1_IO_BASE \ 381*4882a593Smuzhiyun | BATU_BL_16M \ 382*4882a593Smuzhiyun | BATU_VS \ 383*4882a593Smuzhiyun | BATU_VP) 384*4882a593Smuzhiyun #else 385*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3L (0) 386*4882a593Smuzhiyun #define CONFIG_SYS_IBAT3U (0) 387*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4L (0) 388*4882a593Smuzhiyun #define CONFIG_SYS_IBAT4U (0) 389*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5L (0) 390*4882a593Smuzhiyun #define CONFIG_SYS_IBAT5U (0) 391*4882a593Smuzhiyun #endif 392*4882a593Smuzhiyun 393*4882a593Smuzhiyun /* IMMRBAR */ 394*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6L (CONFIG_SYS_IMMR \ 395*4882a593Smuzhiyun | BATL_PP_RW \ 396*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 397*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 398*4882a593Smuzhiyun #define CONFIG_SYS_IBAT6U (CONFIG_SYS_IMMR \ 399*4882a593Smuzhiyun | BATU_BL_1M \ 400*4882a593Smuzhiyun | BATU_VS \ 401*4882a593Smuzhiyun | BATU_VP) 402*4882a593Smuzhiyun 403*4882a593Smuzhiyun /* FLASH */ 404*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7L (CONFIG_SYS_FLASH_BASE \ 405*4882a593Smuzhiyun | BATL_PP_RW \ 406*4882a593Smuzhiyun | BATL_CACHEINHIBIT \ 407*4882a593Smuzhiyun | BATL_GUARDEDSTORAGE) 408*4882a593Smuzhiyun #define CONFIG_SYS_IBAT7U (CONFIG_SYS_FLASH_BASE \ 409*4882a593Smuzhiyun | BATU_BL_256M \ 410*4882a593Smuzhiyun | BATU_VS \ 411*4882a593Smuzhiyun | BATU_VP) 412*4882a593Smuzhiyun 413*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L 414*4882a593Smuzhiyun #define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U 415*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L 416*4882a593Smuzhiyun #define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U 417*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L 418*4882a593Smuzhiyun #define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U 419*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L 420*4882a593Smuzhiyun #define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U 421*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4L CONFIG_SYS_IBAT4L 422*4882a593Smuzhiyun #define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U 423*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 424*4882a593Smuzhiyun #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 425*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L 426*4882a593Smuzhiyun #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 427*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L 428*4882a593Smuzhiyun #define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U 429*4882a593Smuzhiyun 430*4882a593Smuzhiyun #if defined(CONFIG_CMD_KGDB) 431*4882a593Smuzhiyun #define CONFIG_KGDB_BAUDRATE 230400 /* speed of kgdb serial port */ 432*4882a593Smuzhiyun #endif 433*4882a593Smuzhiyun 434*4882a593Smuzhiyun /* 435*4882a593Smuzhiyun * Environment Configuration 436*4882a593Smuzhiyun */ 437*4882a593Smuzhiyun 438*4882a593Smuzhiyun /* default location for tftp and bootm */ 439*4882a593Smuzhiyun #define CONFIG_LOADADDR 400000 440*4882a593Smuzhiyun 441*4882a593Smuzhiyun #define CONFIG_PREBOOT "echo;" \ 442*4882a593Smuzhiyun "echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \ 443*4882a593Smuzhiyun "echo" 444*4882a593Smuzhiyun 445*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \ 446*4882a593Smuzhiyun "netdev=eth0\0" \ 447*4882a593Smuzhiyun "hostname=tqm834x\0" \ 448*4882a593Smuzhiyun "nfsargs=setenv bootargs root=/dev/nfs rw " \ 449*4882a593Smuzhiyun "nfsroot=${serverip}:${rootpath}\0" \ 450*4882a593Smuzhiyun "ramargs=setenv bootargs root=/dev/ram rw\0" \ 451*4882a593Smuzhiyun "addip=setenv bootargs ${bootargs} " \ 452*4882a593Smuzhiyun "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ 453*4882a593Smuzhiyun ":${hostname}:${netdev}:off panic=1\0" \ 454*4882a593Smuzhiyun "addcons=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0" \ 455*4882a593Smuzhiyun "flash_nfs_old=run nfsargs addip addcons;" \ 456*4882a593Smuzhiyun "bootm ${kernel_addr}\0" \ 457*4882a593Smuzhiyun "flash_nfs=run nfsargs addip addcons;" \ 458*4882a593Smuzhiyun "bootm ${kernel_addr} - ${fdt_addr}\0" \ 459*4882a593Smuzhiyun "flash_self_old=run ramargs addip addcons;" \ 460*4882a593Smuzhiyun "bootm ${kernel_addr} ${ramdisk_addr}\0" \ 461*4882a593Smuzhiyun "flash_self=run ramargs addip addcons;" \ 462*4882a593Smuzhiyun "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \ 463*4882a593Smuzhiyun "net_nfs_old=tftp 400000 ${bootfile};" \ 464*4882a593Smuzhiyun "run nfsargs addip addcons;bootm\0" \ 465*4882a593Smuzhiyun "net_nfs=tftp ${kernel_addr_r} ${bootfile}; " \ 466*4882a593Smuzhiyun "tftp ${fdt_addr_r} ${fdt_file}; " \ 467*4882a593Smuzhiyun "run nfsargs addip addcons; " \ 468*4882a593Smuzhiyun "bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \ 469*4882a593Smuzhiyun "rootpath=/opt/eldk/ppc_6xx\0" \ 470*4882a593Smuzhiyun "bootfile=tqm834x/uImage\0" \ 471*4882a593Smuzhiyun "fdtfile=tqm834x/tqm834x.dtb\0" \ 472*4882a593Smuzhiyun "kernel_addr_r=400000\0" \ 473*4882a593Smuzhiyun "fdt_addr_r=600000\0" \ 474*4882a593Smuzhiyun "ramdisk_addr_r=800000\0" \ 475*4882a593Smuzhiyun "kernel_addr=800C0000\0" \ 476*4882a593Smuzhiyun "fdt_addr=800A0000\0" \ 477*4882a593Smuzhiyun "ramdisk_addr=80300000\0" \ 478*4882a593Smuzhiyun "u-boot=tqm834x/u-boot.bin\0" \ 479*4882a593Smuzhiyun "load=tftp 200000 ${u-boot}\0" \ 480*4882a593Smuzhiyun "update=protect off 80000000 +${filesize};" \ 481*4882a593Smuzhiyun "era 80000000 +${filesize};" \ 482*4882a593Smuzhiyun "cp.b 200000 80000000 ${filesize}\0" \ 483*4882a593Smuzhiyun "upd=run load update\0" \ 484*4882a593Smuzhiyun "" 485*4882a593Smuzhiyun 486*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND "run flash_self" 487*4882a593Smuzhiyun 488*4882a593Smuzhiyun /* 489*4882a593Smuzhiyun * JFFS2 partitions 490*4882a593Smuzhiyun */ 491*4882a593Smuzhiyun /* mtdparts command line support */ 492*4882a593Smuzhiyun #define CONFIG_FLASH_CFI_MTD 493*4882a593Smuzhiyun #define MTDIDS_DEFAULT "nor0=TQM834x-0" 494*4882a593Smuzhiyun 495*4882a593Smuzhiyun /* default mtd partition table */ 496*4882a593Smuzhiyun #define MTDPARTS_DEFAULT "mtdparts=TQM834x-0:256k(u-boot),256k(env)," \ 497*4882a593Smuzhiyun "1m(kernel),2m(initrd)," \ 498*4882a593Smuzhiyun "-(user);" \ 499*4882a593Smuzhiyun 500*4882a593Smuzhiyun #endif /* __CONFIG_H */ 501