1c00ac259SPeter Tyser /* 2c00ac259SPeter Tyser * Copyright 2008 Extreme Engineering Solutions, Inc. 3c00ac259SPeter Tyser * Copyright 2004-2008 Freescale Semiconductor, Inc. 4c00ac259SPeter Tyser * 51a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 6c00ac259SPeter Tyser */ 7c00ac259SPeter Tyser 8c00ac259SPeter Tyser /* 9c00ac259SPeter Tyser * xpedite520x board configuration file 10c00ac259SPeter Tyser */ 11c00ac259SPeter Tyser #ifndef __CONFIG_H 12c00ac259SPeter Tyser #define __CONFIG_H 13c00ac259SPeter Tyser 14c00ac259SPeter Tyser /* 15c00ac259SPeter Tyser * High Level Configuration Options 16c00ac259SPeter Tyser */ 17c00ac259SPeter Tyser #define CONFIG_XPEDITE5200 1 18c00ac259SPeter Tyser #define CONFIG_SYS_BOARD_NAME "XPedite5200" 19c00ac259SPeter Tyser #define CONFIG_SYS_FORM_PMC_XMC 1 20c00ac259SPeter Tyser #define CONFIG_BOARD_EARLY_INIT_R /* Call board_pre_init */ 21c00ac259SPeter Tyser 22c00ac259SPeter Tyser #ifndef CONFIG_SYS_TEXT_BASE 23c00ac259SPeter Tyser #define CONFIG_SYS_TEXT_BASE 0xfff80000 24c00ac259SPeter Tyser #endif 25c00ac259SPeter Tyser 26c00ac259SPeter Tyser #define CONFIG_PCI_SCAN_SHOW 1 /* show pci devices on startup */ 27c00ac259SPeter Tyser #define CONFIG_PCI1 1 /* PCI controller 1 */ 28c00ac259SPeter Tyser #define CONFIG_FSL_PCI_INIT 1 /* Use common FSL init code */ 29842033e6SGabor Juhos #define CONFIG_PCI_INDIRECT_BRIDGE 1 /* indirect PCI bridge support */ 30c00ac259SPeter Tyser #define CONFIG_SYS_PCI_64BIT 1 /* enable 64-bit PCI resources */ 31c00ac259SPeter Tyser 32c00ac259SPeter Tyser /* 33c00ac259SPeter Tyser * DDR config 34c00ac259SPeter Tyser */ 35c00ac259SPeter Tyser #undef CONFIG_FSL_DDR_INTERACTIVE 36c00ac259SPeter Tyser #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */ 37c00ac259SPeter Tyser #define CONFIG_DDR_SPD 38c00ac259SPeter Tyser #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 39c00ac259SPeter Tyser #define SPD_EEPROM_ADDRESS 0x54 40c00ac259SPeter Tyser #define CONFIG_DIMM_SLOTS_PER_CTLR 1 41c00ac259SPeter Tyser #define CONFIG_CHIP_SELECTS_PER_CTRL 2 42c00ac259SPeter Tyser #define CONFIG_DDR_ECC 43c00ac259SPeter Tyser #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 44c00ac259SPeter Tyser #define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 45c00ac259SPeter Tyser #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 46c00ac259SPeter Tyser #define CONFIG_VERY_BIG_RAM 47c00ac259SPeter Tyser 48c00ac259SPeter Tyser #define CONFIG_SYS_CLK_FREQ 66666666 49c00ac259SPeter Tyser 50c00ac259SPeter Tyser /* 51c00ac259SPeter Tyser * These can be toggled for performance analysis, otherwise use default. 52c00ac259SPeter Tyser */ 53c00ac259SPeter Tyser #define CONFIG_L2_CACHE /* toggle L2 cache */ 54c00ac259SPeter Tyser #define CONFIG_BTB /* toggle branch predition */ 55c00ac259SPeter Tyser #define CONFIG_ENABLE_36BIT_PHYS 1 56c00ac259SPeter Tyser 57e46fedfeSTimur Tabi #define CONFIG_SYS_CCSRBAR 0xef000000 58e46fedfeSTimur Tabi #define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR 59c00ac259SPeter Tyser 60c00ac259SPeter Tyser /* 61c00ac259SPeter Tyser * Diagnostics 62c00ac259SPeter Tyser */ 63c00ac259SPeter Tyser #define CONFIG_SYS_ALT_MEMTEST 64c00ac259SPeter Tyser #define CONFIG_SYS_MEMTEST_START 0x10000000 65c00ac259SPeter Tyser #define CONFIG_SYS_MEMTEST_END 0x20000000 6666a8b440SPeter Tyser #define CONFIG_POST (CONFIG_SYS_POST_MEMORY | \ 6766a8b440SPeter Tyser CONFIG_SYS_POST_I2C) 6866a8b440SPeter Tyser #define I2C_ADDR_LIST {CONFIG_SYS_I2C_MAX1237_ADDR, \ 6966a8b440SPeter Tyser CONFIG_SYS_I2C_EEPROM_ADDR, \ 7066a8b440SPeter Tyser CONFIG_SYS_I2C_PCA953X_ADDR0, \ 7166a8b440SPeter Tyser CONFIG_SYS_I2C_PCA953X_ADDR1, \ 7266a8b440SPeter Tyser CONFIG_SYS_I2C_RTC_ADDR} 73c00ac259SPeter Tyser 74c00ac259SPeter Tyser /* 75c00ac259SPeter Tyser * Memory map 76c00ac259SPeter Tyser * 0x0000_0000 0x7fff_ffff DDR 2G Cacheable 77c00ac259SPeter Tyser * 0x8000_0000 0xbfff_ffff PCI1 Mem 1G non-cacheable 78c00ac259SPeter Tyser * 0xe000_0000 0xe7ff_ffff SRAM/SSRAM/L1 Cache 128M non-cacheable 79c00ac259SPeter Tyser * 0xe800_0000 0xe87f_ffff PCI1 IO 8M non-cacheable 80c00ac259SPeter Tyser * 0xef00_0000 0xef0f_ffff CCSR/IMMR 1M non-cacheable 81c00ac259SPeter Tyser * 0xef80_0000 0xef8f_ffff NAND Flash 1M non-cacheable 82c00ac259SPeter Tyser * 0xf800_0000 0xfbff_ffff NOR Flash 2 64M non-cacheable 83c00ac259SPeter Tyser * 0xfc00_0000 0xffff_ffff NOR Flash 1 64M non-cacheable 84c00ac259SPeter Tyser */ 85c00ac259SPeter Tyser 86c00ac259SPeter Tyser #define CONFIG_SYS_LBC_LCRR (LCRR_CLKDIV_8 | LCRR_EADC_3) 87c00ac259SPeter Tyser 88c00ac259SPeter Tyser /* 89c00ac259SPeter Tyser * NAND flash configuration 90c00ac259SPeter Tyser */ 91c00ac259SPeter Tyser #define CONFIG_SYS_NAND_BASE 0xef800000 92c00ac259SPeter Tyser #define CONFIG_SYS_NAND_BASE2 0xef840000 /* Unused at this time */ 93c00ac259SPeter Tyser #define CONFIG_SYS_MAX_NAND_DEVICE 1 94c00ac259SPeter Tyser #define CONFIG_NAND_ACTL 95c00ac259SPeter Tyser #define CONFIG_SYS_NAND_ACTL_CLE (1 << 3) /* ADDR3 is CLE */ 96c00ac259SPeter Tyser #define CONFIG_SYS_NAND_ACTL_ALE (1 << 4) /* ADDR4 is ALE */ 97c00ac259SPeter Tyser #define CONFIG_SYS_NAND_ACTL_NCE (0) /* NCE not controlled by ADDR */ 98c00ac259SPeter Tyser #define CONFIG_SYS_NAND_ACTL_DELAY 25 99c00ac259SPeter Tyser 100c00ac259SPeter Tyser /* 101c00ac259SPeter Tyser * NOR flash configuration 102c00ac259SPeter Tyser */ 103c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_BASE 0xfc000000 104c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_BASE2 0xf8000000 105c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLASH_BASE2} 106c00ac259SPeter Tyser #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */ 107c00ac259SPeter Tyser #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 108c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 109c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 110c00ac259SPeter Tyser #define CONFIG_FLASH_CFI_DRIVER 111c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_CFI 112c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 113c00ac259SPeter Tyser #define CONFIG_SYS_FLASH_AUTOPROTECT_LIST { {0xfff40000, 0xc0000}, \ 114c00ac259SPeter Tyser {0xfbf40000, 0xc0000} } 115c00ac259SPeter Tyser #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 116c00ac259SPeter Tyser 117c00ac259SPeter Tyser /* 118c00ac259SPeter Tyser * Chip select configuration 119c00ac259SPeter Tyser */ 120c00ac259SPeter Tyser /* NOR Flash 0 on CS0 */ 121c00ac259SPeter Tyser #define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | \ 122c00ac259SPeter Tyser BR_PS_16 | \ 123c00ac259SPeter Tyser BR_V) 124c00ac259SPeter Tyser #define CONFIG_SYS_OR0_PRELIM (OR_AM_64MB | \ 125c00ac259SPeter Tyser OR_GPCM_ACS_DIV4 | \ 126c00ac259SPeter Tyser OR_GPCM_SCY_8) 127c00ac259SPeter Tyser 128c00ac259SPeter Tyser /* NOR Flash 1 on CS1 */ 129c00ac259SPeter Tyser #define CONFIG_SYS_BR1_PRELIM (CONFIG_SYS_FLASH_BASE2 | \ 130c00ac259SPeter Tyser BR_PS_16 | \ 131c00ac259SPeter Tyser BR_V) 132c00ac259SPeter Tyser #define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_OR0_PRELIM 133c00ac259SPeter Tyser 134c00ac259SPeter Tyser /* NAND flash on CS2 */ 135c00ac259SPeter Tyser #define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_NAND_BASE | \ 136c00ac259SPeter Tyser BR_PS_8 | \ 137c00ac259SPeter Tyser BR_V) 138c00ac259SPeter Tyser 139c00ac259SPeter Tyser /* NAND flash on CS2 */ 140c00ac259SPeter Tyser #define CONFIG_SYS_OR2_PRELIM (OR_AM_256KB | \ 141c00ac259SPeter Tyser OR_GPCM_BCTLD | \ 142c00ac259SPeter Tyser OR_GPCM_CSNT | \ 143c00ac259SPeter Tyser OR_GPCM_ACS_DIV4 | \ 144c00ac259SPeter Tyser OR_GPCM_SCY_4 | \ 145c00ac259SPeter Tyser OR_GPCM_TRLX | \ 146c00ac259SPeter Tyser OR_GPCM_EHTR) 147c00ac259SPeter Tyser 148c00ac259SPeter Tyser /* NAND flash on CS3 */ 149c00ac259SPeter Tyser #define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_NAND_BASE2 | \ 150c00ac259SPeter Tyser BR_PS_8 | \ 151c00ac259SPeter Tyser BR_V) 152c00ac259SPeter Tyser #define CONFIG_SYS_OR3_PRELIM CONFIG_SYS_OR2_PRELIM 153c00ac259SPeter Tyser 154c00ac259SPeter Tyser /* 155c00ac259SPeter Tyser * Use L1 as initial stack 156c00ac259SPeter Tyser */ 157c00ac259SPeter Tyser #define CONFIG_SYS_INIT_RAM_LOCK 1 158c00ac259SPeter Tyser #define CONFIG_SYS_INIT_RAM_ADDR 0xe0000000 159553f0982SWolfgang Denk #define CONFIG_SYS_INIT_RAM_SIZE 0x4000 160c00ac259SPeter Tyser 16125ddd1fbSWolfgang Denk #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE) 162c00ac259SPeter Tyser #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 163c00ac259SPeter Tyser 164c00ac259SPeter Tyser #define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 KB for Mon */ 165c00ac259SPeter Tyser #define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc */ 166c00ac259SPeter Tyser 167c00ac259SPeter Tyser /* 168c00ac259SPeter Tyser * Serial Port 169c00ac259SPeter Tyser */ 170c00ac259SPeter Tyser #define CONFIG_CONS_INDEX 1 171c00ac259SPeter Tyser #define CONFIG_SYS_NS16550_SERIAL 172c00ac259SPeter Tyser #define CONFIG_SYS_NS16550_REG_SIZE 1 173c00ac259SPeter Tyser #define CONFIG_SYS_NS16550_CLK get_bus_freq(0) 174c00ac259SPeter Tyser #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x4500) 175c00ac259SPeter Tyser #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x4600) 176c00ac259SPeter Tyser #define CONFIG_SYS_BAUDRATE_TABLE \ 177c00ac259SPeter Tyser {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200} 178c00ac259SPeter Tyser #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ 179c00ac259SPeter Tyser #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */ 180c00ac259SPeter Tyser 181c00ac259SPeter Tyser /* 182c00ac259SPeter Tyser * I2C 183c00ac259SPeter Tyser */ 18400f792e0SHeiko Schocher #define CONFIG_SYS_I2C 18500f792e0SHeiko Schocher #define CONFIG_SYS_I2C_FSL 18600f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SPEED 400000 18700f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 18800f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET 0x3000 18900f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_SPEED 400000 19000f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F 19100f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_OFFSET 0x3100 192c00ac259SPeter Tyser 193c00ac259SPeter Tyser /* I2C EEPROM */ 194c00ac259SPeter Tyser #define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 195c00ac259SPeter Tyser #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 196c00ac259SPeter Tyser #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 6 /* 64 byte pages */ 197c00ac259SPeter Tyser #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* take up to 10 msec */ 198c00ac259SPeter Tyser 199c00ac259SPeter Tyser /* I2C RTC */ 200c00ac259SPeter Tyser #define CONFIG_RTC_M41T11 1 201c00ac259SPeter Tyser #define CONFIG_SYS_I2C_RTC_ADDR 0x68 202c00ac259SPeter Tyser #define CONFIG_SYS_M41T11_BASE_YEAR 2000 203c00ac259SPeter Tyser 204c00ac259SPeter Tyser /* GPIO */ 205c00ac259SPeter Tyser #define CONFIG_PCA953X 206c00ac259SPeter Tyser #define CONFIG_SYS_I2C_PCA953X_ADDR0 0x18 207c00ac259SPeter Tyser #define CONFIG_SYS_I2C_PCA953X_ADDR1 0x19 208c00ac259SPeter Tyser #define CONFIG_SYS_I2C_PCA953X_ADDR CONFIG_SYS_I2C_PCA953X_ADDR0 209c00ac259SPeter Tyser 210c00ac259SPeter Tyser /* PCA957 @ 0x18 */ 211c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_BRD_CFG0 0x01 212c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_BRD_CFG1 0x02 213c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_BRD_CFG2 0x04 214c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_XMC_ROOT0 0x08 215c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_FLASH_PASS_CS 0x10 216c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_NVM_WP 0x20 217c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_MONARCH 0x40 218c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_EREADY 0x80 219c00ac259SPeter Tyser 220c00ac259SPeter Tyser /* PCA957 @ 0x19 */ 221c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO0 0x01 222c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO1 0x02 223c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO2 0x04 224c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO3 0x08 225c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO4 0x10 226c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO5 0x20 227c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO6 0x40 228c00ac259SPeter Tyser #define CONFIG_SYS_PCA953X_P14_IO7 0x80 229c00ac259SPeter Tyser 23066a8b440SPeter Tyser /* 12-bit ADC used to measure CPU diode */ 23166a8b440SPeter Tyser #define CONFIG_SYS_I2C_MAX1237_ADDR 0x34 23266a8b440SPeter Tyser 233c00ac259SPeter Tyser /* 234c00ac259SPeter Tyser * General PCI 235c00ac259SPeter Tyser * Memory space is mapped 1-1, but I/O space must start from 0. 236c00ac259SPeter Tyser */ 237c00ac259SPeter Tyser #define CONFIG_SYS_PCI1_MEM_BUS 0x80000000 238c00ac259SPeter Tyser #define CONFIG_SYS_PCI1_MEM_PHYS CONFIG_SYS_PCI1_MEM_BUS 239c00ac259SPeter Tyser #define CONFIG_SYS_PCI1_MEM_SIZE 0x40000000 /* 1G */ 240c00ac259SPeter Tyser #define CONFIG_SYS_PCI1_IO_BUS 0x00000000 241c00ac259SPeter Tyser #define CONFIG_SYS_PCI1_IO_PHYS 0xe8000000 242c00ac259SPeter Tyser #define CONFIG_SYS_PCI1_IO_SIZE 0x00800000 /* 1M */ 243c00ac259SPeter Tyser 244c00ac259SPeter Tyser /* 245c00ac259SPeter Tyser * Networking options 246c00ac259SPeter Tyser */ 247c00ac259SPeter Tyser #define CONFIG_TSEC_ENET /* tsec ethernet support */ 248c00ac259SPeter Tyser #define CONFIG_MII 1 /* MII PHY management */ 249c00ac259SPeter Tyser #define CONFIG_ETHPRIME "eTSEC1" 250c00ac259SPeter Tyser 251c00ac259SPeter Tyser #define CONFIG_TSEC1 1 252c00ac259SPeter Tyser #define CONFIG_TSEC1_NAME "eTSEC1" 253c00ac259SPeter Tyser #define TSEC1_FLAGS TSEC_GIGABIT 254c00ac259SPeter Tyser #define TSEC1_PHY_ADDR 1 255c00ac259SPeter Tyser #define TSEC1_PHYIDX 0 256c00ac259SPeter Tyser #define CONFIG_HAS_ETH0 257c00ac259SPeter Tyser 258c00ac259SPeter Tyser #define CONFIG_TSEC2 1 259c00ac259SPeter Tyser #define CONFIG_TSEC2_NAME "eTSEC2" 260c00ac259SPeter Tyser #define TSEC2_FLAGS TSEC_GIGABIT 261c00ac259SPeter Tyser #define TSEC2_PHY_ADDR 2 262c00ac259SPeter Tyser #define TSEC2_PHYIDX 0 263c00ac259SPeter Tyser #define CONFIG_HAS_ETH1 264c00ac259SPeter Tyser 265c00ac259SPeter Tyser #define CONFIG_TSEC3 1 266c00ac259SPeter Tyser #define CONFIG_TSEC3_NAME "eTSEC3" 267c00ac259SPeter Tyser #define TSEC3_FLAGS TSEC_GIGABIT 268c00ac259SPeter Tyser #define TSEC3_PHY_ADDR 3 269c00ac259SPeter Tyser #define TSEC3_PHYIDX 0 270c00ac259SPeter Tyser #define CONFIG_HAS_ETH2 271c00ac259SPeter Tyser 272c00ac259SPeter Tyser #define CONFIG_TSEC4 1 273c00ac259SPeter Tyser #define CONFIG_TSEC4_NAME "eTSEC4" 274c00ac259SPeter Tyser #define TSEC4_FLAGS TSEC_GIGABIT 275c00ac259SPeter Tyser #define TSEC4_PHY_ADDR 4 276c00ac259SPeter Tyser #define TSEC4_PHYIDX 0 277c00ac259SPeter Tyser #define CONFIG_HAS_ETH3 278c00ac259SPeter Tyser 279c00ac259SPeter Tyser /* 280c00ac259SPeter Tyser * BOOTP options 281c00ac259SPeter Tyser */ 282c00ac259SPeter Tyser #define CONFIG_BOOTP_BOOTFILESIZE 283c00ac259SPeter Tyser #define CONFIG_BOOTP_BOOTPATH 284c00ac259SPeter Tyser #define CONFIG_BOOTP_GATEWAY 285c00ac259SPeter Tyser 286c00ac259SPeter Tyser /* 287c00ac259SPeter Tyser * Miscellaneous configurable options 288c00ac259SPeter Tyser */ 289c00ac259SPeter Tyser #define CONFIG_SYS_LONGHELP /* undef to save memory */ 290c00ac259SPeter Tyser #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 291c00ac259SPeter Tyser #define CONFIG_CMDLINE_EDITING 1 /* add command line history */ 292c00ac259SPeter Tyser #define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */ 293c00ac259SPeter Tyser #define CONFIG_LOADADDR 0x1000000 /* default location for tftp and bootm */ 294c00ac259SPeter Tyser #define CONFIG_PREBOOT /* enable preboot variable */ 295c00ac259SPeter Tyser #define CONFIG_INTEGRITY /* support booting INTEGRITY OS */ 296c00ac259SPeter Tyser #define CONFIG_INTERRUPTS /* enable pci, srio, ddr interrupts */ 297c00ac259SPeter Tyser 298c00ac259SPeter Tyser /* 299c00ac259SPeter Tyser * For booting Linux, the board info and command line data 300c00ac259SPeter Tyser * have to be in the first 16 MB of memory, since this is 301c00ac259SPeter Tyser * the maximum mapped by the Linux kernel during initialization. 302c00ac259SPeter Tyser */ 303c00ac259SPeter Tyser #define CONFIG_SYS_BOOTMAPSZ (16 << 20) /* Initial Memory map for Linux*/ 304c00ac259SPeter Tyser #define CONFIG_SYS_BOOTM_LEN (16 << 20) /* Increase max gunzip size */ 305c00ac259SPeter Tyser 306c00ac259SPeter Tyser /* 307c00ac259SPeter Tyser * Environment Configuration 308c00ac259SPeter Tyser */ 309c00ac259SPeter Tyser #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128k (one sector) for env */ 310c00ac259SPeter Tyser #define CONFIG_ENV_SIZE 0x8000 311c00ac259SPeter Tyser #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - (256 * 1024)) 312c00ac259SPeter Tyser 313c00ac259SPeter Tyser /* 314c00ac259SPeter Tyser * Flash memory map: 315c00ac259SPeter Tyser * fff80000 - ffffffff Pri U-Boot (512 KB) 316c00ac259SPeter Tyser * fff40000 - fff7ffff Pri U-Boot Environment (256 KB) 317c00ac259SPeter Tyser * fff00000 - fff3ffff Pri FDT (256KB) 318c00ac259SPeter Tyser * fef00000 - ffefffff Pri OS image (16MB) 319c00ac259SPeter Tyser * fc000000 - feefffff Pri OS Use/Filesystem (47MB) 320c00ac259SPeter Tyser * 321c00ac259SPeter Tyser * fbf80000 - fbffffff Sec U-Boot (512 KB) 322c00ac259SPeter Tyser * fbf40000 - fbf7ffff Sec U-Boot Environment (256 KB) 323c00ac259SPeter Tyser * fbf00000 - fbf3ffff Sec FDT (256KB) 324c00ac259SPeter Tyser * faf00000 - fbefffff Sec OS image (16MB) 325c00ac259SPeter Tyser * f8000000 - faefffff Sec OS Use/Filesystem (47MB) 326c00ac259SPeter Tyser */ 3275368c55dSMarek Vasut #define CONFIG_UBOOT1_ENV_ADDR __stringify(0xfff80000) 3285368c55dSMarek Vasut #define CONFIG_UBOOT2_ENV_ADDR __stringify(0xfbf80000) 3295368c55dSMarek Vasut #define CONFIG_FDT1_ENV_ADDR __stringify(0xfff00000) 3305368c55dSMarek Vasut #define CONFIG_FDT2_ENV_ADDR __stringify(0xfbf00000) 3315368c55dSMarek Vasut #define CONFIG_OS1_ENV_ADDR __stringify(0xfef00000) 3325368c55dSMarek Vasut #define CONFIG_OS2_ENV_ADDR __stringify(0xfaf00000) 333c00ac259SPeter Tyser 334c00ac259SPeter Tyser #define CONFIG_PROG_UBOOT1 \ 335c00ac259SPeter Tyser "$download_cmd $loadaddr $ubootfile; " \ 336c00ac259SPeter Tyser "if test $? -eq 0; then " \ 337c00ac259SPeter Tyser "protect off "CONFIG_UBOOT1_ENV_ADDR" +80000; " \ 338c00ac259SPeter Tyser "erase "CONFIG_UBOOT1_ENV_ADDR" +80000; " \ 339c00ac259SPeter Tyser "cp.w $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 40000; " \ 340c00ac259SPeter Tyser "protect on "CONFIG_UBOOT1_ENV_ADDR" +80000; " \ 341c00ac259SPeter Tyser "cmp.b $loadaddr "CONFIG_UBOOT1_ENV_ADDR" 80000; " \ 342c00ac259SPeter Tyser "if test $? -ne 0; then " \ 343c00ac259SPeter Tyser "echo PROGRAM FAILED; " \ 344c00ac259SPeter Tyser "else; " \ 345c00ac259SPeter Tyser "echo PROGRAM SUCCEEDED; " \ 346c00ac259SPeter Tyser "fi; " \ 347c00ac259SPeter Tyser "else; " \ 348c00ac259SPeter Tyser "echo DOWNLOAD FAILED; " \ 349c00ac259SPeter Tyser "fi;" 350c00ac259SPeter Tyser 351c00ac259SPeter Tyser #define CONFIG_PROG_UBOOT2 \ 352c00ac259SPeter Tyser "$download_cmd $loadaddr $ubootfile; " \ 353c00ac259SPeter Tyser "if test $? -eq 0; then " \ 354c00ac259SPeter Tyser "protect off "CONFIG_UBOOT2_ENV_ADDR" +80000; " \ 355c00ac259SPeter Tyser "erase "CONFIG_UBOOT2_ENV_ADDR" +80000; " \ 356c00ac259SPeter Tyser "cp.w $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 40000; " \ 357c00ac259SPeter Tyser "protect on "CONFIG_UBOOT2_ENV_ADDR" +80000; " \ 358c00ac259SPeter Tyser "cmp.b $loadaddr "CONFIG_UBOOT2_ENV_ADDR" 80000; " \ 359c00ac259SPeter Tyser "if test $? -ne 0; then " \ 360c00ac259SPeter Tyser "echo PROGRAM FAILED; " \ 361c00ac259SPeter Tyser "else; " \ 362c00ac259SPeter Tyser "echo PROGRAM SUCCEEDED; " \ 363c00ac259SPeter Tyser "fi; " \ 364c00ac259SPeter Tyser "else; " \ 365c00ac259SPeter Tyser "echo DOWNLOAD FAILED; " \ 366c00ac259SPeter Tyser "fi;" 367c00ac259SPeter Tyser 368c00ac259SPeter Tyser #define CONFIG_BOOT_OS_NET \ 369c00ac259SPeter Tyser "$download_cmd $osaddr $osfile; " \ 370c00ac259SPeter Tyser "if test $? -eq 0; then " \ 371c00ac259SPeter Tyser "if test -n $fdtaddr; then " \ 372c00ac259SPeter Tyser "$download_cmd $fdtaddr $fdtfile; " \ 373c00ac259SPeter Tyser "if test $? -eq 0; then " \ 374c00ac259SPeter Tyser "bootm $osaddr - $fdtaddr; " \ 375c00ac259SPeter Tyser "else; " \ 376c00ac259SPeter Tyser "echo FDT DOWNLOAD FAILED; " \ 377c00ac259SPeter Tyser "fi; " \ 378c00ac259SPeter Tyser "else; " \ 379c00ac259SPeter Tyser "bootm $osaddr; " \ 380c00ac259SPeter Tyser "fi; " \ 381c00ac259SPeter Tyser "else; " \ 382c00ac259SPeter Tyser "echo OS DOWNLOAD FAILED; " \ 383c00ac259SPeter Tyser "fi;" 384c00ac259SPeter Tyser 385c00ac259SPeter Tyser #define CONFIG_PROG_OS1 \ 386c00ac259SPeter Tyser "$download_cmd $osaddr $osfile; " \ 387c00ac259SPeter Tyser "if test $? -eq 0; then " \ 388c00ac259SPeter Tyser "erase "CONFIG_OS1_ENV_ADDR" +$filesize; " \ 389c00ac259SPeter Tyser "cp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; " \ 390c00ac259SPeter Tyser "cmp.b $osaddr "CONFIG_OS1_ENV_ADDR" $filesize; " \ 391c00ac259SPeter Tyser "if test $? -ne 0; then " \ 392c00ac259SPeter Tyser "echo OS PROGRAM FAILED; " \ 393c00ac259SPeter Tyser "else; " \ 394c00ac259SPeter Tyser "echo OS PROGRAM SUCCEEDED; " \ 395c00ac259SPeter Tyser "fi; " \ 396c00ac259SPeter Tyser "else; " \ 397c00ac259SPeter Tyser "echo OS DOWNLOAD FAILED; " \ 398c00ac259SPeter Tyser "fi;" 399c00ac259SPeter Tyser 400c00ac259SPeter Tyser #define CONFIG_PROG_OS2 \ 401c00ac259SPeter Tyser "$download_cmd $osaddr $osfile; " \ 402c00ac259SPeter Tyser "if test $? -eq 0; then " \ 403c00ac259SPeter Tyser "erase "CONFIG_OS2_ENV_ADDR" +$filesize; " \ 404c00ac259SPeter Tyser "cp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; " \ 405c00ac259SPeter Tyser "cmp.b $osaddr "CONFIG_OS2_ENV_ADDR" $filesize; " \ 406c00ac259SPeter Tyser "if test $? -ne 0; then " \ 407c00ac259SPeter Tyser "echo OS PROGRAM FAILED; " \ 408c00ac259SPeter Tyser "else; " \ 409c00ac259SPeter Tyser "echo OS PROGRAM SUCCEEDED; " \ 410c00ac259SPeter Tyser "fi; " \ 411c00ac259SPeter Tyser "else; " \ 412c00ac259SPeter Tyser "echo OS DOWNLOAD FAILED; " \ 413c00ac259SPeter Tyser "fi;" 414c00ac259SPeter Tyser 415c00ac259SPeter Tyser #define CONFIG_PROG_FDT1 \ 416c00ac259SPeter Tyser "$download_cmd $fdtaddr $fdtfile; " \ 417c00ac259SPeter Tyser "if test $? -eq 0; then " \ 418c00ac259SPeter Tyser "erase "CONFIG_FDT1_ENV_ADDR" +$filesize;" \ 419c00ac259SPeter Tyser "cp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; " \ 420c00ac259SPeter Tyser "cmp.b $fdtaddr "CONFIG_FDT1_ENV_ADDR" $filesize; " \ 421c00ac259SPeter Tyser "if test $? -ne 0; then " \ 422c00ac259SPeter Tyser "echo FDT PROGRAM FAILED; " \ 423c00ac259SPeter Tyser "else; " \ 424c00ac259SPeter Tyser "echo FDT PROGRAM SUCCEEDED; " \ 425c00ac259SPeter Tyser "fi; " \ 426c00ac259SPeter Tyser "else; " \ 427c00ac259SPeter Tyser "echo FDT DOWNLOAD FAILED; " \ 428c00ac259SPeter Tyser "fi;" 429c00ac259SPeter Tyser 430c00ac259SPeter Tyser #define CONFIG_PROG_FDT2 \ 431c00ac259SPeter Tyser "$download_cmd $fdtaddr $fdtfile; " \ 432c00ac259SPeter Tyser "if test $? -eq 0; then " \ 433c00ac259SPeter Tyser "erase "CONFIG_FDT2_ENV_ADDR" +$filesize;" \ 434c00ac259SPeter Tyser "cp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; " \ 435c00ac259SPeter Tyser "cmp.b $fdtaddr "CONFIG_FDT2_ENV_ADDR" $filesize; " \ 436c00ac259SPeter Tyser "if test $? -ne 0; then " \ 437c00ac259SPeter Tyser "echo FDT PROGRAM FAILED; " \ 438c00ac259SPeter Tyser "else; " \ 439c00ac259SPeter Tyser "echo FDT PROGRAM SUCCEEDED; " \ 440c00ac259SPeter Tyser "fi; " \ 441c00ac259SPeter Tyser "else; " \ 442c00ac259SPeter Tyser "echo FDT DOWNLOAD FAILED; " \ 443c00ac259SPeter Tyser "fi;" 444c00ac259SPeter Tyser 445c00ac259SPeter Tyser #define CONFIG_EXTRA_ENV_SETTINGS \ 446c00ac259SPeter Tyser "autoload=yes\0" \ 447c00ac259SPeter Tyser "download_cmd=tftp\0" \ 448c00ac259SPeter Tyser "console_args=console=ttyS0,115200\0" \ 449c00ac259SPeter Tyser "root_args=root=/dev/nfs rw\0" \ 450c00ac259SPeter Tyser "misc_args=ip=on\0" \ 451c00ac259SPeter Tyser "set_bootargs=setenv bootargs ${console_args} ${root_args} ${misc_args}\0" \ 452c00ac259SPeter Tyser "bootfile=/home/user/file\0" \ 453c00ac259SPeter Tyser "osfile=/home/user/board.uImage\0" \ 454c00ac259SPeter Tyser "fdtfile=/home/user/board.dtb\0" \ 455c00ac259SPeter Tyser "ubootfile=/home/user/u-boot.bin\0" \ 456*b24a4f62SScott Wood "fdtaddr=0x1e00000\0" \ 457c00ac259SPeter Tyser "osaddr=0x1000000\0" \ 458c00ac259SPeter Tyser "loadaddr=0x1000000\0" \ 459c00ac259SPeter Tyser "prog_uboot1="CONFIG_PROG_UBOOT1"\0" \ 460c00ac259SPeter Tyser "prog_uboot2="CONFIG_PROG_UBOOT2"\0" \ 461c00ac259SPeter Tyser "prog_os1="CONFIG_PROG_OS1"\0" \ 462c00ac259SPeter Tyser "prog_os2="CONFIG_PROG_OS2"\0" \ 463c00ac259SPeter Tyser "prog_fdt1="CONFIG_PROG_FDT1"\0" \ 464c00ac259SPeter Tyser "prog_fdt2="CONFIG_PROG_FDT2"\0" \ 465c00ac259SPeter Tyser "bootcmd_net=run set_bootargs; "CONFIG_BOOT_OS_NET"\0" \ 466c00ac259SPeter Tyser "bootcmd_flash1=run set_bootargs; " \ 467c00ac259SPeter Tyser "bootm "CONFIG_OS1_ENV_ADDR" - "CONFIG_FDT1_ENV_ADDR"\0"\ 468c00ac259SPeter Tyser "bootcmd_flash2=run set_bootargs; " \ 469c00ac259SPeter Tyser "bootm "CONFIG_OS2_ENV_ADDR" - "CONFIG_FDT2_ENV_ADDR"\0"\ 470c00ac259SPeter Tyser "bootcmd=run bootcmd_flash1\0" 471c00ac259SPeter Tyser #endif /* __CONFIG_H */ 472