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# define CONFIG_SYS_NS16550_REG_SIZE    -4
  45# define CONFIG_CONS_INDEX              1
  46# define CONFIG_SYS_NS16550_COM1 \
  47                        (XILINX_UART16550_BASEADDR + 0x1000 + 0x3)
  48# define CONFIG_SYS_NS16550_CLK XILINX_UART16550_CLOCK_HZ
  49# define CONFIG_BAUDRATE        115200
  50
  51/* The following table includes the supported baudrates */
  52# define CONFIG_SYS_BAUDRATE_TABLE \
  53        {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
  54# define CONSOLE_ARG    "console=console=ttyS0,115200\0"
  55#else
  56# error Undefined uart
  57#endif
  58
  59/* setting reset address */
  60/*#define       CONFIG_SYS_RESET_ADDRESS        CONFIG_SYS_TEXT_BASE*/
  61
  62/* ethernet */
  63#ifdef XILINX_EMACLITE_BASEADDR
  64# define CONFIG_XILINX_EMACLITE         1
  65# define CONFIG_SYS_ENET
  66#elif XILINX_LLTEMAC_BASEADDR
  67# define CONFIG_XILINX_LL_TEMAC         1
  68# define CONFIG_SYS_ENET
  69#endif
  70
  71#undef ET_DEBUG
  72
  73/* gpio */
  74#ifdef XILINX_GPIO_BASEADDR
  75# define CONFIG_SYS_GPIO_0              1
  76# define CONFIG_SYS_GPIO_0_ADDR         XILINX_GPIO_BASEADDR
  77#endif
  78
  79/* interrupt controller */
  80#ifdef XILINX_INTC_BASEADDR
  81# define CONFIG_SYS_INTC_0              1
  82# define CONFIG_SYS_INTC_0_ADDR         XILINX_INTC_BASEADDR
  83# define CONFIG_SYS_INTC_0_NUM          XILINX_INTC_NUM_INTR_INPUTS
  84#endif
  85
  86/* timer */
  87#ifdef XILINX_TIMER_BASEADDR
  88# if (XILINX_TIMER_IRQ != -1)
  89#  define CONFIG_SYS_TIMER_0            1
  90#  define CONFIG_SYS_TIMER_0_ADDR       XILINX_TIMER_BASEADDR
  91#  define CONFIG_SYS_TIMER_0_IRQ        XILINX_TIMER_IRQ
  92#  define FREQUENCE     XILINX_CLOCK_FREQ
  93#  define CONFIG_SYS_TIMER_0_PRELOAD    ( FREQUENCE/1000 )
  94# endif
  95#elif XILINX_CLOCK_FREQ
  96# define CONFIG_XILINX_CLOCK_FREQ       XILINX_CLOCK_FREQ
  97#else
  98# error BAD CLOCK FREQ
  99#endif
 100/* FSL */
 101/* #define      CONFIG_SYS_FSL_2 */
 102/* #define      FSL_INTR_2      1 */
 103
 104/*
 105 * memory layout - Example
 106 * CONFIG_SYS_TEXT_BASE = 0x1200_0000;
 107 * CONFIG_SYS_SRAM_BASE = 0x1000_0000;
 108 * CONFIG_SYS_SRAM_SIZE = 0x0400_0000;
 109 *
 110 * CONFIG_SYS_GBL_DATA_OFFSET = 0x1000_0000 + 0x0400_0000 - 0x1000 = 0x13FF_F000
 111 * CONFIG_SYS_MONITOR_BASE = 0x13FF_F000 - 0x40000 = 0x13FB_F000
 112 * CONFIG_SYS_MALLOC_BASE = 0x13FB_F000 - 0x40000 = 0x13F7_F000
 113 *
 114 * 0x1000_0000  CONFIG_SYS_SDRAM_BASE
 115 *                                      FREE
 116 * 0x1200_0000  CONFIG_SYS_TEXT_BASE
 117 *              U-BOOT code
 118 * 0x1202_0000
 119 *                                      FREE
 120 *
 121 *                                      STACK
 122 * 0x13F7_F000  CONFIG_SYS_MALLOC_BASE
 123 *                                      MALLOC_AREA     256kB   Alloc
 124 * 0x11FB_F000  CONFIG_SYS_MONITOR_BASE
 125 *                                      MONITOR_CODE    256kB   Env
 126 * 0x13FF_F000  CONFIG_SYS_GBL_DATA_OFFSET
 127 *                                      GLOBAL_DATA     4kB     bd, gd
 128 * 0x1400_0000  CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_SDRAM_SIZE
 129 */
 130
 131/* ddr sdram - main memory */
 132#define CONFIG_SYS_SDRAM_BASE           XILINX_RAM_START
 133#define CONFIG_SYS_SDRAM_SIZE           XILINX_RAM_SIZE
 134#define CONFIG_SYS_MEMTEST_START        CONFIG_SYS_SDRAM_BASE
 135#define CONFIG_SYS_MEMTEST_END          (CONFIG_SYS_SDRAM_BASE + 0x1000)
 136
 137/* global pointer */
 138/* start of global data */
 139#define CONFIG_SYS_GBL_DATA_OFFSET \
 140                (CONFIG_SYS_SDRAM_SIZE - GENERATED_GBL_DATA_SIZE)
 141
 142/* monitor code */
 143#define SIZE                            0x40000
 144#define CONFIG_SYS_MONITOR_LEN          SIZE
 145#define CONFIG_SYS_MONITOR_BASE \
 146                (CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET \
 147                        - CONFIG_SYS_MONITOR_LEN - GENERATED_BD_INFO_SIZE)
 148#define CONFIG_SYS_MONITOR_END \
 149                        (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
 150#define CONFIG_SYS_MALLOC_LEN           SIZE
 151#define CONFIG_SYS_MALLOC_BASE \
 152                        (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN)
 153
 154/* stack */
 155#define CONFIG_SYS_INIT_SP_OFFSET       CONFIG_SYS_MALLOC_BASE
 156
 157/*#define       RAMENV */
 158#define FLASH
 159
 160#ifdef FLASH
 161# define CONFIG_SYS_FLASH_BASE          XILINX_FLASH_START
 162# define CONFIG_SYS_FLASH_SIZE          XILINX_FLASH_SIZE
 163# define CONFIG_SYS_FLASH_CFI           1
 164# define CONFIG_FLASH_CFI_DRIVER        1
 165/* ?empty sector */
 166# define CONFIG_SYS_FLASH_EMPTY_INFO    1
 167/* max number of memory banks */
 168# define CONFIG_SYS_MAX_FLASH_BANKS     1
 169/* max number of sectors on one chip */
 170# define CONFIG_SYS_MAX_FLASH_SECT      512
 171/* hardware flash protection */
 172# define CONFIG_SYS_FLASH_PROTECTION
 173
 174# ifdef RAMENV
 175#  define CONFIG_ENV_IS_NOWHERE 1
 176#  define CONFIG_ENV_SIZE       0x1000
 177#  define CONFIG_ENV_ADDR       (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
 178
 179# else  /* !RAMENV */
 180#  define CONFIG_ENV_IS_IN_FLASH        1
 181/* 128K(one sector) for env */
 182#  define CONFIG_ENV_SECT_SIZE  0x20000
 183#  define CONFIG_ENV_ADDR \
 184                        (CONFIG_SYS_FLASH_BASE + (2 * CONFIG_ENV_SECT_SIZE))
 185#  define CONFIG_ENV_SIZE       0x20000
 186# endif /* !RAMBOOT */
 187#else /* !FLASH */
 188/* ENV in RAM */
 189# define CONFIG_SYS_NO_FLASH    1
 190# define CONFIG_ENV_IS_NOWHERE  1
 191# define CONFIG_ENV_SIZE        0x1000
 192# define CONFIG_ENV_ADDR        (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SIZE)
 193/* hardware flash protection */
 194# define CONFIG_SYS_FLASH_PROTECTION
 195#endif /* !FLASH */
 196
 197/* system ace */
 198#ifdef XILINX_SYSACE_BASEADDR
 199# define CONFIG_SYSTEMACE
 200/* #define DEBUG_SYSTEMACE */
 201# define SYSTEMACE_CONFIG_FPGA
 202# define CONFIG_SYS_SYSTEMACE_BASE      XILINX_SYSACE_BASEADDR
 203# define CONFIG_SYS_SYSTEMACE_WIDTH     XILINX_SYSACE_MEM_WIDTH
 204# define CONFIG_DOS_PARTITION
 205#endif
 206
 207#if defined(XILINX_USE_ICACHE)
 208# define CONFIG_ICACHE
 209#else
 210# undef CONFIG_ICACHE
 211#endif
 212
 213#if defined(XILINX_USE_DCACHE)
 214# define CONFIG_DCACHE
 215#else
 216# undef CONFIG_DCACHE
 217#endif
 218
 219/*
 220 * BOOTP options
 221 */
 222#define CONFIG_BOOTP_BOOTFILESIZE
 223#define CONFIG_BOOTP_BOOTPATH
 224#define CONFIG_BOOTP_GATEWAY
 225#define CONFIG_BOOTP_HOSTNAME
 226
 227/*
 228 * Command line configuration.
 229 */
 230#include <config_cmd_default.h>
 231
 232#define CONFIG_CMD_ASKENV
 233#define CONFIG_CMD_IRQ
 234#define CONFIG_CMD_MFSL
 235#define CONFIG_CMD_ECHO
 236
 237#if defined(CONFIG_DCACHE) || defined(CONFIG_ICACHE)
 238# define CONFIG_CMD_CACHE
 239#else
 240# undef CONFIG_CMD_CACHE
 241#endif
 242
 243#ifndef CONFIG_SYS_ENET
 244# undef CONFIG_CMD_NET
 245# undef CONFIG_NET_MULTI
 246#else
 247# define CONFIG_CMD_PING
 248# define CONFIG_CMD_DHCP
 249# define CONFIG_NET_MULTI
 250#endif
 251
 252#if defined(CONFIG_SYSTEMACE)
 253# define CONFIG_CMD_EXT2
 254# define CONFIG_CMD_FAT
 255#endif
 256
 257#if defined(FLASH)
 258# define CONFIG_CMD_ECHO
 259# define CONFIG_CMD_FLASH
 260# define CONFIG_CMD_IMLS
 261# define CONFIG_CMD_JFFS2
 262
 263# if !defined(RAMENV)
 264#  define CONFIG_CMD_SAVEENV
 265#  define CONFIG_CMD_SAVES
 266# endif
 267#else
 268# undef CONFIG_CMD_IMLS
 269# undef CONFIG_CMD_FLASH
 270# undef CONFIG_CMD_JFFS2
 271#endif
 272
 273#if defined(CONFIG_CMD_JFFS2)
 274/* JFFS2 partitions */
 275#define CONFIG_CMD_MTDPARTS     /* mtdparts command line support */
 276#define CONFIG_MTD_DEVICE       /* needed for mtdparts commands */
 277#define CONFIG_FLASH_CFI_MTD
 278#define MTDIDS_DEFAULT          "nor0=flash-0"
 279
 280/* default mtd partition table */
 281#define MTDPARTS_DEFAULT        "mtdparts=flash-0:256k(u-boot),"\
 282                                "256k(env),3m(kernel),1m(romfs),"\
 283                                "1m(cramfs),-(jffs2)"
 284#endif
 285
 286/* Miscellaneous configurable options */
 287#define CONFIG_SYS_PROMPT       "U-Boot-mONStR> "
 288/* size of console buffer */
 289#define CONFIG_SYS_CBSIZE       512
 290 /* print buffer size */
 291#define CONFIG_SYS_PBSIZE \
 292                (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
 293/* max number of command args */
 294#define CONFIG_SYS_MAXARGS      15
 295#define CONFIG_SYS_LONGHELP
 296/* default load address */
 297#define CONFIG_SYS_LOAD_ADDR    XILINX_RAM_START
 298
 299#define CONFIG_BOOTDELAY        -1      /* -1 disables auto-boot */
 300#define CONFIG_BOOTARGS         "root=romfs"
 301#define CONFIG_HOSTNAME         XILINX_BOARD_NAME
 302#define CONFIG_BOOTCOMMAND      "base 0;tftp 11000000 image.img;bootm"
 303#define CONFIG_IPADDR           192.168.0.3
 304#define CONFIG_SERVERIP         192.168.0.5
 305#define CONFIG_GATEWAYIP        192.168.0.1
 306#define CONFIG_ETHADDR          00:E0:0C:00:00:FD
 307
 308/* architecture dependent code */
 309#define CONFIG_SYS_USR_EXCEP    /* user exception */
 310#define CONFIG_SYS_HZ   1000
 311
 312#define CONFIG_PREBOOT  "echo U-BOOT for ${hostname};setenv preboot;echo"
 313
 314#define CONFIG_EXTRA_ENV_SETTINGS       "unlock=yes\0" \
 315                                        "nor0=flash-0\0"\
 316                                        "mtdparts=mtdparts=flash-0:"\
 317                                        "256k(u-boot),256k(env),3m(kernel),"\
 318                                        "1m(romfs),1m(cramfs),-(jffs2)\0"
 319
 320#define CONFIG_CMDLINE_EDITING
 321
 322/* Use the HUSH parser */
 323#define CONFIG_SYS_HUSH_PARSER
 324#ifdef CONFIG_SYS_HUSH_PARSER
 325# define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
 326#endif
 327
 328#endif  /* __CONFIG_H */
 329