uboot/include/configs/xpedite1000.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2002 Scott McNutt <smcnutt@artesyncp.com>
   3 *
   4 * SPDX-License-Identifier:     GPL-2.0+
   5 */
   6
   7/*
   8 * config for XPedite1000 from XES Inc.
   9 * Ported from EBONY config by Travis B. Sawyer <tsawyer@sandburst.com>
  10 * (C) Copyright 2003 Sandburst Corporation
  11 * board/config_EBONY.h - configuration for AMCC 440GP Ref (Ebony)
  12 */
  13
  14#ifndef __CONFIG_H
  15#define __CONFIG_H
  16
  17/* High Level Configuration Options */
  18#define CONFIG_XPEDITE1000      1
  19#define CONFIG_SYS_BOARD_NAME   "XPedite1000"
  20#define CONFIG_SYS_FORM_PMC     1
  21#define CONFIG_440              1
  22#define CONFIG_440GX            1               /* 440 GX */
  23#define CONFIG_BOARD_EARLY_INIT_F 1             /* Call board_pre_init  */
  24#define CONFIG_SYS_CLK_FREQ     33333333        /* external freq to pll */
  25#define CONFIG_DISPLAY_BOARDINFO
  26
  27#define CONFIG_SYS_TEXT_BASE    0xFFF80000
  28
  29/*
  30 * DDR config
  31 */
  32#define CONFIG_SPD_EEPROM               /* Use SPD EEPROM for setup */
  33#define SPD_EEPROM_ADDRESS      {0x54}  /* SPD i2c spd addresses */
  34#define CONFIG_VERY_BIG_RAM     1
  35
  36/*
  37 * Base addresses -- Note these are effective addresses where the
  38 * actual resources get mapped (not physical addresses)
  39 */
  40#define CONFIG_SYS_SDRAM_BASE           0x00000000
  41#define CONFIG_SYS_FLASH_BASE           0xff000000      /* start of FLASH */
  42#define CONFIG_SYS_MONITOR_BASE         CONFIG_SYS_TEXT_BASE    /* start of monitor */
  43#define CONFIG_SYS_PCI_MEMBASE          0x80000000      /* mapped pci memory */
  44#define CONFIG_SYS_ISRAM_BASE           0xc0000000      /* internal SRAM */
  45#define CONFIG_SYS_PCI_BASE             0xd0000000      /* internal PCI regs */
  46#define CONFIG_SYS_NVRAM_BASE_ADDR      (CONFIG_SYS_PERIPHERAL_BASE + 0x08000000)
  47#define CONFIG_SYS_GPIO_BASE            (CONFIG_SYS_PERIPHERAL_BASE + 0x00000700)
  48
  49/*
  50 * Diagnostics
  51 */
  52#define CONFIG_SYS_ALT_MEMTEST
  53#define CONFIG_SYS_MEMTEST_START        0x0400000
  54#define CONFIG_SYS_MEMTEST_END          0x0C00000
  55
  56/* POST support */
  57#define CONFIG_POST             (CONFIG_SYS_POST_RTC    | \
  58                                 CONFIG_SYS_POST_I2C)
  59
  60/*
  61 * LED support
  62 */
  63#define USR_LED0        0x00000080
  64#define USR_LED1        0x00000100
  65#define USR_LED2        0x00000200
  66#define USR_LED3        0x00000400
  67
  68#ifndef __ASSEMBLY__
  69extern unsigned long in32(unsigned int);
  70extern void out32(unsigned int, unsigned long);
  71
  72#define LED0_ON() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) & ~USR_LED0))
  73#define LED1_ON() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) & ~USR_LED1))
  74#define LED2_ON() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) & ~USR_LED2))
  75#define LED3_ON() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) & ~USR_LED3))
  76
  77#define LED0_OFF() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) | USR_LED0))
  78#define LED1_OFF() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) | USR_LED1))
  79#define LED2_OFF() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) | USR_LED2))
  80#define LED3_OFF() out32(CONFIG_SYS_GPIO_BASE, (in32(CONFIG_SYS_GPIO_BASE) | USR_LED3))
  81#endif
  82
  83/*
  84 * Use internal SRAM for initial stack
  85 */
  86#define CONFIG_SYS_TEMP_STACK_OCM       1
  87#define CONFIG_SYS_OCM_DATA_ADDR        CONFIG_SYS_ISRAM_BASE
  88#define CONFIG_SYS_INIT_RAM_ADDR        CONFIG_SYS_ISRAM_BASE   /* Initial RAM address */
  89#define CONFIG_SYS_INIT_RAM_SIZE                0x2000  /* Size of used area in RAM */
  90#define CONFIG_SYS_GBL_DATA_OFFSET      (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  91#define CONFIG_SYS_INIT_SP_OFFSET       (CONFIG_SYS_GBL_DATA_OFFSET - 0x4)
  92
  93#define CONFIG_SYS_MONITOR_LEN  (512 * 1024)    /* Reserve 512 KB for Mon */
  94#define CONFIG_SYS_MALLOC_LEN   (1024 * 1024)   /* Reserved for malloc */
  95
  96/*
  97 * Serial Port
  98 */
  99#define CONFIG_CONS_INDEX       1       /* Use UART0                    */
 100#define CONFIG_SYS_NS16550_SERIAL
 101#define CONFIG_SYS_NS16550_REG_SIZE     1
 102#define CONFIG_SYS_NS16550_CLK          get_serial_clock()
 103
 104#define CONFIG_SYS_BAUDRATE_TABLE \
 105        {300, 600, 1200, 2400, 4800, 9600, 19200, 38400}
 106#define CONFIG_BAUDRATE                 115200
 107#define CONFIG_LOADS_ECHO               1       /* echo on for serial download */
 108#define CONFIG_SYS_LOADS_BAUD_CHANGE    1       /* allow baudrate change */
 109
 110/*
 111 * NOR flash configuration
 112 */
 113#define CONFIG_SYS_MAX_FLASH_BANKS      3
 114#define CONFIG_SYS_FLASH_BANKS_LIST     {CONFIG_SYS_FLASH_BASE, 0xf0000000, 0xf4000000 }
 115#define CONFIG_SYS_MAX_FLASH_SECT       512     /* sectors per device */
 116#define CONFIG_FLASH_CFI_DRIVER
 117#define CONFIG_SYS_FLASH_CFI
 118#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
 119#define CONFIG_SYS_FLASH_QUIET_TEST             /* MirrorBit flashes are optional */
 120#define CONFIG_SYS_FLASH_ERASE_TOUT     120000  /* Timeout for Flash Erase (in ms) */
 121#define CONFIG_SYS_FLASH_WRITE_TOUT     500     /* Timeout for Flash Write (in ms) */
 122
 123/*
 124 * I2C
 125 */
 126#define CONFIG_SYS_I2C
 127#define CONFIG_SYS_I2C_PPC4XX
 128#define CONFIG_SYS_I2C_PPC4XX_CH0
 129#define CONFIG_SYS_I2C_PPC4XX_SPEED_0           400000
 130#define CONFIG_SYS_I2C_PPC4XX_SLAVE_0           0x7f
 131
 132/* I2C EEPROM */
 133#define CONFIG_SYS_I2C_EEPROM_ADDR              0x50
 134#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN          1
 135#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS       3
 136#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS   10
 137
 138/* I2C RTC: STMicro M41T00 */
 139#define CONFIG_RTC_M41T11               1
 140#define CONFIG_SYS_I2C_RTC_ADDR         0x68
 141#define CONFIG_SYS_M41T11_BASE_YEAR     2000
 142
 143/*
 144 * PCI
 145 */
 146/* General PCI */
 147#define CONFIG_PCI                              /* include pci support */
 148#define CONFIG_PCI_INDIRECT_BRIDGE      /* indirect PCI bridge support */
 149#define CONFIG_PCI_PNP                          /* do pci plug-and-play */
 150#define CONFIG_PCI_SCAN_SHOW                    /* show pci devices on startup */
 151#define CONFIG_SYS_PCI_TARGBASE 0x80000000      /* PCIaddr mapped to CONFIG_SYS_PCI_MEMBASE */
 152
 153/* Board-specific PCI */
 154#define CONFIG_SYS_PCI_TARGET_INIT              /* let board init pci target */
 155#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1014   /* IBM */
 156#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0xcafe   /* Whatever */
 157#define CONFIG_SYS_PCI_FORCE_PCI_CONV           /* Force PCI Conventional Mode */
 158
 159/*
 160 * Networking options
 161 */
 162#define CONFIG_PPC4xx_EMAC
 163#define CONFIG_PHY_GIGE         1       /* Include GbE speed/duplex detection */
 164#define CONFIG_MII              1       /* MII PHY management */
 165#define CONFIG_PHY_RESET        1       /* reset phy upon startup */
 166#define CONFIG_SYS_RX_ETH_BUFFER 32     /* Number of ethernet rx buffers & descriptors */
 167#define CONFIG_ETHPRIME         "ppc_4xx_eth2"
 168#define CONFIG_PHY_ADDR         4       /* PHY address phy0 not populated */
 169#define CONFIG_PHY2_ADDR        4       /* PHY address phy2 */
 170#define CONFIG_HAS_ETH2         1       /* add support for "eth2addr" */
 171#define CONFIG_PHY3_ADDR        8       /* PHY address phy3 */
 172#define CONFIG_HAS_ETH3         1       /* add support for "eth3addr" */
 173
 174/* BOOTP options */
 175#define CONFIG_BOOTP_BOOTFILESIZE
 176#define CONFIG_BOOTP_BOOTPATH
 177#define CONFIG_BOOTP_GATEWAY
 178#define CONFIG_BOOTP_HOSTNAME
 179
 180/*
 181 * Command configuration
 182 */
 183#define CONFIG_CMD_DATE
 184#define CONFIG_CMD_EEPROM
 185#define CONFIG_CMD_IRQ
 186#define CONFIG_CMD_JFFS2
 187#define CONFIG_CMD_PCI
 188
 189/*
 190 * Miscellaneous configurable options
 191 */
 192#define CONFIG_SYS_LONGHELP                     /* undef to save memory */
 193#define CONFIG_SYS_LOAD_ADDR    0x100000        /* default load address */
 194#define CONFIG_SYS_CBSIZE       256             /* Console I/O Buffer Size */
 195#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
 196#define CONFIG_SYS_MAXARGS      16              /* max number of command args */
 197#define CONFIG_SYS_BARGSIZE     CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size */
 198#define CONFIG_CMDLINE_EDITING  1               /* Command-line editing */
 199#define CONFIG_PANIC_HANG                       /* do not reset board on panic */
 200#define CONFIG_PREBOOT                          /* enable preboot variable */
 201#define CONFIG_INTEGRITY                        /* support booting INTEGRITY OS */
 202#define CONFIG_SYS_EXTBDINFO    1               /* To use extended board_into (bd_t) */
 203
 204/*
 205 * For booting Linux, the board info and command line data
 206 * have to be in the first 8 MB of memory, since this is
 207 * the maximum mapped by the Linux kernel during initialization.
 208 */
 209#define CONFIG_SYS_BOOTMAPSZ            (8 << 20)       /* Initial Memory map for Linux */
 210
 211/*
 212 * Environment Configuration
 213 */
 214#define CONFIG_ENV_IS_IN_FLASH  1
 215#define CONFIG_ENV_SECT_SIZE    0x20000 /* 128k (one sector) for env */
 216#define CONFIG_ENV_SIZE         0x8000
 217#define CONFIG_ENV_ADDR         (CONFIG_SYS_MONITOR_BASE - (256 * 1024))
 218
 219/*
 220 * Flash memory map:
 221 * fff80000 - ffffffff  U-Boot (512 KB)
 222 * fff40000 - fff7ffff  U-Boot Environment (256 KB)
 223 * fff00000 - fff3ffff  FDT (256KB)
 224 * ffc00000 - ffefffff  OS image (3MB)
 225 * ff000000 - ffbfffff  OS Use/Filesystem (12MB)
 226 */
 227
 228#define CONFIG_UBOOT_ENV_ADDR   __stringify(CONFIG_SYS_TEXT_BASE)
 229#define CONFIG_FDT_ENV_ADDR     __stringify(0xfff00000)
 230#define CONFIG_OS_ENV_ADDR      __stringify(0xffc00000)
 231
 232#define CONFIG_PROG_UBOOT                                               \
 233        "$download_cmd $loadaddr $ubootfile; "                          \
 234        "if test $? -eq 0; then "                                       \
 235                "protect off "CONFIG_UBOOT_ENV_ADDR" +80000; "          \
 236                "erase "CONFIG_UBOOT_ENV_ADDR" +80000; "                \
 237                "cp.w $loadaddr "CONFIG_UBOOT_ENV_ADDR" 40000; "        \
 238                "protect on "CONFIG_UBOOT_ENV_ADDR" +80000; "           \
 239                "cmp.b $loadaddr "CONFIG_UBOOT_ENV_ADDR" 80000; "       \
 240                "if test $? -ne 0; then "                               \
 241                        "echo PROGRAM FAILED; "                         \
 242                "else; "                                                \
 243                        "echo PROGRAM SUCCEEDED; "                      \
 244                "fi; "                                                  \
 245        "else; "                                                        \
 246                "echo DOWNLOAD FAILED; "                                \
 247        "fi;"
 248
 249#define CONFIG_BOOT_OS_NET                                              \
 250        "$download_cmd $osaddr $osfile; "                               \
 251        "if test $? -eq 0; then "                                       \
 252                "if test -n $fdtaddr; then "                            \
 253                        "$download_cmd $fdtaddr $fdtfile; "             \
 254                        "if test $? -eq 0; then "                       \
 255                                "bootm $osaddr - $fdtaddr; "            \
 256                        "else; "                                        \
 257                                "echo FDT DOWNLOAD FAILED; "            \
 258                        "fi; "                                          \
 259                "else; "                                                \
 260                        "bootm $osaddr; "                               \
 261                "fi; "                                                  \
 262        "else; "                                                        \
 263                "echo OS DOWNLOAD FAILED; "                             \
 264        "fi;"
 265
 266#define CONFIG_PROG_OS                                                  \
 267        "$download_cmd $osaddr $osfile; "                               \
 268        "if test $? -eq 0; then "                                       \
 269                "erase "CONFIG_OS_ENV_ADDR" +$filesize; "               \
 270                "cp.b $osaddr "CONFIG_OS_ENV_ADDR" $filesize; "         \
 271                "cmp.b $osaddr "CONFIG_OS_ENV_ADDR" $filesize; "        \
 272                "if test $? -ne 0; then "                               \
 273                        "echo OS PROGRAM FAILED; "                      \
 274                "else; "                                                \
 275                        "echo OS PROGRAM SUCCEEDED; "                   \
 276                "fi; "                                                  \
 277        "else; "                                                        \
 278                "echo OS DOWNLOAD FAILED; "                             \
 279        "fi;"
 280
 281#define CONFIG_PROG_FDT                                                 \
 282        "$download_cmd $fdtaddr $fdtfile; "                             \
 283        "if test $? -eq 0; then "                                       \
 284                "erase "CONFIG_FDT_ENV_ADDR" +$filesize;"               \
 285                "cp.b $fdtaddr "CONFIG_FDT_ENV_ADDR" $filesize; "       \
 286                "cmp.b $fdtaddr "CONFIG_FDT_ENV_ADDR" $filesize; "      \
 287                "if test $? -ne 0; then "                               \
 288                        "echo FDT PROGRAM FAILED; "                     \
 289                "else; "                                                \
 290                        "echo FDT PROGRAM SUCCEEDED; "                  \
 291                "fi; "                                                  \
 292        "else; "                                                        \
 293                "echo FDT DOWNLOAD FAILED; "                            \
 294        "fi;"
 295
 296#define CONFIG_EXTRA_ENV_SETTINGS                                       \
 297        "autoload=yes\0"                                                \
 298        "download_cmd=tftp\0"                                           \
 299        "console_args=console=ttyS0,115200\0"                           \
 300        "root_args=root=/dev/nfs rw\0"                                  \
 301        "misc_args=ip=on\0"                                             \
 302        "set_bootargs=setenv bootargs ${console_args} ${root_args} ${misc_args}\0" \
 303        "bootfile=/home/user/file\0"                                    \
 304        "osfile=/home/user/board.uImage\0"                              \
 305        "fdtfile=/home/user/board.dtb\0"                                \
 306        "ubootfile=/home/user/u-boot.bin\0"                             \
 307        "fdtaddr=0x1e00000\0"                                           \
 308        "osaddr=0x1000000\0"                                            \
 309        "loadaddr=0x1000000\0"                                          \
 310        "prog_uboot="CONFIG_PROG_UBOOT"\0"                              \
 311        "prog_os="CONFIG_PROG_OS"\0"                                    \
 312        "prog_fdt="CONFIG_PROG_FDT"\0"                                  \
 313        "bootcmd_net=run set_bootargs; "CONFIG_BOOT_OS_NET"\0"          \
 314        "bootcmd_flash=run set_bootargs; "                              \
 315                "bootm "CONFIG_OS_ENV_ADDR" - "CONFIG_FDT_ENV_ADDR"\0"  \
 316        "bootcmd=run bootcmd_flash\0"
 317#endif  /* __CONFIG_H */
 318