uboot/include/configs/microblaze-generic.h
<<
>>
Prefs
   1/*
   2 * (C) Copyright 2007-2010 Michal Simek
   3 *
   4 * Michal SIMEK <monstr@monstr.eu>
   5 *
   6 * See file CREDITS for list of people who contributed to this
   7 * project.
   8 *
   9 * This program is free software; you can redistribute it and/or
  10 * modify it under the terms of the GNU General Public License as
  11 * published by the Free Software Foundation; either version 2 of
  12 * the License, or (at your option) any later version.
  13 *
  14 * This program is distributed in the hope that it will be useful,
  15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17 * GNU General Public License for more details.
  18 *
  19 * You should have received a copy of the GNU General Public License
  20 * along with this program; if not, write to the Free Software
  21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  22 * MA 02111-1307 USA
  23 */
  24
  25#ifndef __CONFIG_H
  26#define __CONFIG_H
  27
  28#include "../board/xilinx/microblaze-generic/xparameters.h"
  29
  30/* MicroBlaze CPU */
  31#define CONFIG_MICROBLAZE       1
  32#define MICROBLAZE_V5           1
  33
  34/* uart */
  35#ifdef XILINX_UARTLITE_BASEADDR
  36# define CONFIG_XILINX_UARTLITE
  37# define CONFIG_SERIAL_BASE     XILINX_UARTLITE_BASEADDR
  38# define CONFIG_BAUDRATE        XILINX_UARTLITE_BAUDRATE
  39# define CONFIG_SYS_BAUDRATE_TABLE      { CONFIG_BAUDRATE }
  40# define CONSOLE_ARG    "console=console=ttyUL0,115200\0"
  41#elif XILINX_UART16550_BASEADDR
  42# define CONFIG_SYS_NS16550             1
  43# define CONFIG_SYS_NS16550_SERIAL
  44# if defined(__MICROBLAZEEL__)
  45#  define CONFIG_SYS_NS16550_REG_SIZE   -4
  46# else
  47#  define CONFIG_SYS_NS16550_REG_SIZE   4
  48# endif
  49# define CONFIG_CONS_INDEX              1
  50# define CONFIG_SYS_NS16550_COM1 \
  51                ((XILINX_UART16550_BASEADDR & ~0xF) + 0x1000)
  52# define CONFIG_SYS_NS16550_CLK XILINX_UART16550_CLOCK_HZ
  53# define CONFIG_BAUDRATE        115200
  54
  55/* The following table includes the supported baudrates */
  56# define CONFIG_SYS_BAUDRATE_TABLE \
  57        {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
  58# define CONSOLE_ARG    "console=console=ttyS0,115200\0"
  59#else
  60# error Undefined uart
  61#endif
  62
  63/* setting reset address */
  64/*#define       CONFIG_SYS_RESET_ADDRESS        CONFIG_SYS_TEXT_BASE*/
  65
  66/* ethernet */
  67#undef CONFIG_SYS_ENET
  68#if defined(XILINX_EMACLITE_BASEADDR)
  69# define CONFIG_XILINX_EMACLITE 1
  70# define CONFIG_SYS_ENET
  71#endif
  72#if defined(XILINX_LLTEMAC_BASEADDR)
  73# define CONFIG_XILINX_LL_TEMAC 1
  74# define CONFIG_SYS_ENET
  75#endif
  76#if defined(XILINX_AXIEMAC_BASEADDR)
  77# define CONFIG_XILINX_AXIEMAC  1
  78# define CONFIG_SYS_ENET
  79#endif
  80
  81#undef ET_DEBUG
  82
  83/* gpio */
  84#ifdef XILINX_GPIO_BASEADDR
  85# define CONFIG_SYS_GPIO_0              1
  86# define CONFIG_SYS_GPIO_0_ADDR         XILINX_GPIO_BASEADDR
  87#endif
  88
  89/* interrupt controller */
  90#ifdef XILINX_INTC_BASEADDR
  91# define CONFIG_SYS_INTC_0              1
  92# define CONFIG_SYS_INTC_0_ADDR         XILINX_INTC_BASEADDR
  93# define CONFIG_SYS_INTC_0_NUM          XILINX_INTC_NUM_INTR_INPUTS
  94#endif
  95
  96/* timer */
  97#ifdef XILINX_TIMER_BASEADDR
  98# if (XILINX_TIMER_IRQ != -1)
  99#  define CONFIG_SYS_TIMER_0            1
 100#  define CONFIG_SYS_TIMER_0_ADDR       XILINX_TIMER_BASEADDR
 101#  define CONFIG_SYS_TIMER_0_IRQ        XILINX_TIMER_IRQ
 102#  define FREQUENCE     XILINX_CLOCK_FREQ
 103#  define CONFIG_SYS_TIMER_0_PRELOAD    ( FREQUENCE/1000 )
 104# endif
 105#elif XILINX_CLOCK_FREQ
 106# define CONFIG_XILINX_CLOCK_FREQ       XILINX_CLOCK_FREQ
 107#else
 108# error BAD CLOCK FREQ
 109#endif
 110/* FSL */
 111/* #define      CONFIG_SYS_FSL_2 */
 112/* #define      FSL_INTR_2      1 */
 113
 114/*
 115 * memory layout - Example
 116 * CONFIG_SYS_TEXT_BASE = 0x1200_0000;
 117 * CONFIG_SYS_SRAM_BASE = 0x1000_0000;
 118 * CONFIG_SYS_SRAM_SIZE = 0x0400_0000;
 119 *
 120 * CONFIG_SYS_GBL_DATA_OFFSET = 0x1000_0000 + 0x0400_0000 - 0x1000 = 0x13FF_F000
 121 * CONFIG_SYS_MONITOR_BASE = 0x13FF_F000 - 0x40000 = 0x13FB_F000
 122 * CONFIG_SYS_MALLOC_BASE = 0x13FB_F000 - 0x40000 = 0x13F7_F000
 123 *
 124 * 0x1000_0000  CONFIG_SYS_SDRAM_BASE
 125 *                                      FREE
 126 * 0x1200_0000  CONFIG_SYS_TEXT_BASE
 127 *              U-BOOT code
 128 * 0x1202_0000
 129 *                                      FREE
 130 *
 131 *                                      STACK
 132 * 0x13F7_F000  CONFIG_SYS_MALLOC_BASE
 133 *                                      MALLOC_AREA     256kB   Alloc
 134 * 0x11FB_F000  CONFIG_SYS_MONITOR_BASE
 135 *                                      MONITOR_CODE    256kB   Env
 136 * 0x13FF_F000  CONFIG_SYS_GBL_DATA_OFFSET
 137 *                                      GLOBAL_DATA     4kB     bd, gd
 138 * 0x1400_0000  CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE
 139 */
 140
 141/* ddr sdram - main memory */
 142#define CONFIG_SYS_SDRAM_BASE           XILINX_RAM_START
 143#define CONFIG_SYS_SDRAM_SIZE           XILINX_RAM_SIZE
 144#define CONFIG_SYS_MEMTEST_START        CONFIG_SYS_SDRAM_BASE
 145#define CONFIG_SYS_MEMTEST_END          (CONFIG_SYS_SDRAM_BASE + 0x1000)
 146
 147/* global pointer */
 148/* start of global data */
 149#define CONFIG_SYS_GBL_DATA_OFFSET \
 150                (CONFIG_SYS_SDRAM_SIZE - GENERATED_GBL_DATA_SIZE)
 151
 152/* monitor code */
 153#define SIZE                            0x40000
 154#define CONFIG_SYS_MONITOR_LEN          SIZE
 155#define CONFIG_SYS_MONITOR_BASE \
 156                (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET \
 157                        - CONFIG_SYS_MONITOR_LEN - GENERATED_BD_INFO_SIZE)
 158#define CONFIG_SYS_MONITOR_END \
 159                        (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
 160#define CONFIG_SYS_MALLOC_LEN           SIZE
 161#define CONFIG_SYS_MALLOC_BASE \
 162                        (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
 163
 164/* stack */
 165#define CONFIG_SYS_INIT_SP_OFFSET       CONFIG_SYS_MALLOC_BASE
 166
 167/*#define       RAMENV */
 168#define FLASH
 169
 170#ifdef FLASH
 171# define CONFIG_SYS_FLASH_BASE          XILINX_FLASH_START
 172# define CONFIG_SYS_FLASH_SIZE          XILINX_FLASH_SIZE
 173# define CONFIG_SYS_FLASH_CFI           1
 174# define CONFIG_FLASH_CFI_DRIVER        1
 175/* ?empty sector */
 176# define CONFIG_SYS_FLASH_EMPTY_INFO    1
 177/* max number of memory banks */
 178# define CONFIG_SYS_MAX_FLASH_BANKS     1
 179/* max number of sectors on one chip */
 180# define CONFIG_SYS_MAX_FLASH_SECT      512
 181/* hardware flash protection */
 182# define CONFIG_SYS_FLASH_PROTECTION
 183
 184# ifdef RAMENV
 185#  define CONFIG_ENV_IS_NOWHERE 1
 186#  define CONFIG_ENV_SIZE       0x1000
 187#  define CONFIG_ENV_ADDR       (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
 188
 189# else  /* !RAMENV */
 190#  define CONFIG_ENV_IS_IN_FLASH        1
 191/* 128K(one sector) for env */
 192#  define CONFIG_ENV_SECT_SIZE  0x20000
 193#  define CONFIG_ENV_ADDR \
 194                        (CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
 195#  define CONFIG_ENV_SIZE       0x20000
 196# endif /* !RAMBOOT */
 197#else /* !FLASH */
 198/* ENV in RAM */
 199# define CONFIG_SYS_NO_FLASH    1
 200# define CONFIG_ENV_IS_NOWHERE  1
 201# define CONFIG_ENV_SIZE        0x1000
 202# define CONFIG_ENV_ADDR        (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
 203/* hardware flash protection */
 204# define CONFIG_SYS_FLASH_PROTECTION
 205#endif /* !FLASH */
 206
 207/* system ace */
 208#ifdef XILINX_SYSACE_BASEADDR
 209# define CONFIG_SYSTEMACE
 210/* #define DEBUG_SYSTEMACE */
 211# define SYSTEMACE_CONFIG_FPGA
 212# define CONFIG_SYS_SYSTEMACE_BASE      XILINX_SYSACE_BASEADDR
 213# define CONFIG_SYS_SYSTEMACE_WIDTH     XILINX_SYSACE_MEM_WIDTH
 214# define CONFIG_DOS_PARTITION
 215#endif
 216
 217#if defined(XILINX_USE_ICACHE)
 218# define CONFIG_ICACHE
 219#else
 220# undef CONFIG_ICACHE
 221#endif
 222
 223#if defined(XILINX_USE_DCACHE)
 224# define CONFIG_DCACHE
 225#else
 226# undef CONFIG_DCACHE
 227#endif
 228
 229/*
 230 * BOOTP options
 231 */
 232#define CONFIG_BOOTP_BOOTFILESIZE
 233#define CONFIG_BOOTP_BOOTPATH
 234#define CONFIG_BOOTP_GATEWAY
 235#define CONFIG_BOOTP_HOSTNAME
 236
 237/*
 238 * Command line configuration.
 239 */
 240#include <config_cmd_default.h>
 241
 242#define CONFIG_CMD_ASKENV
 243#define CONFIG_CMD_IRQ
 244#define CONFIG_CMD_MFSL
 245#define CONFIG_CMD_ECHO
 246
 247#if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE)
 248# define CONFIG_CMD_CACHE
 249#else
 250# undef CONFIG_CMD_CACHE
 251#endif
 252
 253#ifndef CONFIG_SYS_ENET
 254# undef CONFIG_CMD_NET
 255# undef CONFIG_CMD_NFS
 256#else
 257# define CONFIG_CMD_PING
 258# define CONFIG_CMD_DHCP
 259# define CONFIG_CMD_TFTPPUT
 260#endif
 261
 262#if defined(CONFIG_SYSTEMACE)
 263# define CONFIG_CMD_EXT2
 264# define CONFIG_CMD_FAT
 265#endif
 266
 267#if defined(FLASH)
 268# define CONFIG_CMD_ECHO
 269# define CONFIG_CMD_FLASH
 270# define CONFIG_CMD_IMLS
 271# define CONFIG_CMD_JFFS2
 272
 273# if !defined(RAMENV)
 274#  define CONFIG_CMD_SAVEENV
 275#  define CONFIG_CMD_SAVES
 276# endif
 277#else
 278# undef CONFIG_CMD_IMLS
 279# undef CONFIG_CMD_FLASH
 280# undef CONFIG_CMD_JFFS2
 281#endif
 282
 283#if defined(CONFIG_CMD_JFFS2)
 284/* JFFS2 partitions */
 285#define CONFIG_CMD_MTDPARTS     /* mtdparts command line support */
 286#define CONFIG_MTD_DEVICE       /* needed for mtdparts commands */
 287#define CONFIG_FLASH_CFI_MTD
 288#define MTDIDS_DEFAULT          "nor0=flash-0"
 289
 290/* default mtd partition table */
 291#define MTDPARTS_DEFAULT        "mtdparts=flash-0:256k(u-boot),"\
 292                                "256k(env),3m(kernel),1m(romfs),"\
 293                                "1m(cramfs),-(jffs2)"
 294#endif
 295
 296/* Miscellaneous configurable options */
 297#define CONFIG_SYS_PROMPT       "U-Boot-mONStR> "
 298/* size of console buffer */
 299#define CONFIG_SYS_CBSIZE       512
 300 /* print buffer size */
 301#define CONFIG_SYS_PBSIZE \
 302                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
 303/* max number of command args */
 304#define CONFIG_SYS_MAXARGS      15
 305#define CONFIG_SYS_LONGHELP
 306/* default load address */
 307#define CONFIG_SYS_LOAD_ADDR    XILINX_RAM_START
 308
 309#define CONFIG_BOOTDELAY        -1      /* -1 disables auto-boot */
 310#define CONFIG_BOOTARGS         "root=romfs"
 311#define CONFIG_HOSTNAME         XILINX_BOARD_NAME
 312#define CONFIG_BOOTCOMMAND      "base 0;tftp 11000000 image.img;bootm"
 313#define CONFIG_IPADDR           192.168.0.3
 314#define CONFIG_SERVERIP         192.168.0.5
 315#define CONFIG_GATEWAYIP        192.168.0.1
 316#define CONFIG_ETHADDR          00:E0:0C:00:00:FD
 317
 318/* architecture dependent code */
 319#define CONFIG_SYS_USR_EXCEP    /* user exception */
 320#define CONFIG_SYS_HZ   1000
 321
 322#define CONFIG_PREBOOT  "echo U-BOOT for ${hostname};setenv preboot;echo"
 323
 324#define CONFIG_EXTRA_ENV_SETTINGS       "unlock=yes\0" \
 325                                        "nor0=flash-0\0"\
 326                                        "mtdparts=mtdparts=flash-0:"\
 327                                        "256k(u-boot),256k(env),3m(kernel),"\
 328                                        "1m(romfs),1m(cramfs),-(jffs2)\0"
 329
 330#define CONFIG_CMDLINE_EDITING
 331
 332/* Use the HUSH parser */
 333#define CONFIG_SYS_HUSH_PARSER
 334
 335/* Enable flat device tree support */
 336#define CONFIG_LMB              1
 337#define CONFIG_FIT              1
 338#define CONFIG_OF_LIBFDT        1
 339
 340#if defined(CONFIG_XILINX_LL_TEMAC) || defined(CONFIG_XILINX_AXIEMAC)
 341# define CONFIG_MII             1
 342# define CONFIG_CMD_MII         1
 343# define CONFIG_PHY_GIGE        1
 344# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN        1
 345# define CONFIG_PHYLIB          1
 346# define CONFIG_PHY_ATHEROS     1
 347# define CONFIG_PHY_BROADCOM    1
 348# define CONFIG_PHY_DAVICOM     1
 349# define CONFIG_PHY_LXT         1
 350# define CONFIG_PHY_MARVELL     1
 351# define CONFIG_PHY_MICREL      1
 352# define CONFIG_PHY_NATSEMI     1
 353# define CONFIG_PHY_REALTEK     1
 354# define CONFIG_PHY_VITESSE     1
 355#else
 356# undef CONFIG_MII
 357# undef CONFIG_CMD_MII
 358# undef CONFIG_PHYLIB
 359#endif
 360
 361#endif  /* __CONFIG_H */
 362