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