uboot/include/configs/cobra5272.h
<<
>>
Prefs
   1/*
   2 * Configuation settings for the Sentec Cobra Board.
   3 *
   4 * (C) Copyright 2003 Josef Baumgartner <josef.baumgartner@telex.de>
   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/* ---
  26 * Version: U-boot 1.0.0 - initial release for Sentec COBRA5272 board
  27 * Date: 2004-03-29
  28 * Author: Florian Schlote
  29 *
  30 * For a description of configuration options please refer also to the
  31 * general u-boot-1.x.x/README file
  32 * ---
  33 */
  34
  35/* ---
  36 * board/config.h - configuration options, board specific
  37 * ---
  38 */
  39
  40#ifndef _CONFIG_COBRA5272_H
  41#define _CONFIG_COBRA5272_H
  42
  43/* ---
  44 * Define processor
  45 * possible values for Sentec board: only Coldfire M5272 processor supported
  46 * (please do not change)
  47 * ---
  48 */
  49
  50#define CONFIG_MCF52x2                  /* define processor family */
  51#define CONFIG_M5272                    /* define processor type */
  52
  53/* ---
  54 * Defines processor clock - important for correct timings concerning serial
  55 * interface etc.
  56 * CONFIG_SYS_HZ gives unit: 1000 -> 1 Hz ^= 1000 ms
  57 * ---
  58 */
  59
  60#define CONFIG_SYS_HZ                   1000
  61#define CONFIG_SYS_CLK                  66000000
  62#define CONFIG_SYS_SDRAM_SIZE           16              /* SDRAM size in MB */
  63
  64/* ---
  65 * Enable use of Ethernet
  66 * ---
  67 */
  68#define CONFIG_MCFFEC
  69
  70/* Enable Dma Timer */
  71#define CONFIG_MCFTMR
  72
  73/* ---
  74 * Define baudrate for UART1 (console output, tftp, ...)
  75 * default value of CONFIG_BAUDRATE for Sentec board: 19200 baud
  76 * CONFIG_SYS_BAUDRATE_TABLE defines values that can be selected in u-boot command
  77 * interface
  78 * ---
  79 */
  80
  81#define CONFIG_MCFUART
  82#define CONFIG_SYS_UART_PORT            (0)
  83#define CONFIG_BAUDRATE         19200
  84
  85/* ---
  86 * set "#if 0" to "#if 1" if (Hardware)-WATCHDOG should be enabled & change
  87 * timeout acc. to your needs
  88 * #define CONFIG_WATCHDOG_TIMEOUT x , x is timeout in milliseconds, e. g. 10000
  89 * for 10 sec
  90 * ---
  91 */
  92
  93#if 0
  94#define CONFIG_WATCHDOG
  95#define CONFIG_WATCHDOG_TIMEOUT 10000   /* timeout in milliseconds */
  96#endif
  97
  98/* ---
  99 * CONFIG_MONITOR_IS_IN_RAM defines if u-boot is started from a different
 100 * bootloader residing in flash ('chainloading'); if you want to use
 101 * chainloading or want to compile a u-boot binary that can be loaded into
 102 * RAM via BDM set
 103 *      "#if 0" to "#if 1"
 104 * You will need a first stage bootloader then, e. g. colilo or a working BDM
 105 * cable (Background Debug Mode)
 106 *
 107 * Setting #if 0: u-boot will start from flash and relocate itself to RAM
 108 *
 109 * Please do not forget to modify the setting of CONFIG_SYS_TEXT_BASE
 110 * in board/cobra5272/config.mk accordingly (#if 0: 0xffe00000; #if 1: 0x20000)
 111 *
 112 * ---
 113 */
 114
 115#if 0
 116#define CONFIG_MONITOR_IS_IN_RAM /* monitor is started from a preloader */
 117#endif
 118
 119/* ---
 120 * Configuration for environment
 121 * Environment is embedded in u-boot in the second sector of the flash
 122 * ---
 123 */
 124
 125#ifndef CONFIG_MONITOR_IS_IN_RAM
 126#define CONFIG_ENV_OFFSET               0x4000
 127#define CONFIG_ENV_SECT_SIZE    0x2000
 128#define CONFIG_ENV_IS_IN_FLASH  1
 129#else
 130#define CONFIG_ENV_ADDR         0xffe04000
 131#define CONFIG_ENV_SECT_SIZE    0x2000
 132#define CONFIG_ENV_IS_IN_FLASH  1
 133#endif
 134
 135
 136/*
 137 * BOOTP options
 138 */
 139#define CONFIG_BOOTP_BOOTFILESIZE
 140#define CONFIG_BOOTP_BOOTPATH
 141#define CONFIG_BOOTP_GATEWAY
 142#define CONFIG_BOOTP_HOSTNAME
 143
 144
 145/*
 146 * Command line configuration.
 147 */
 148#include <config_cmd_default.h>
 149
 150#define CONFIG_CMD_PING
 151
 152#undef CONFIG_CMD_LOADS
 153#undef CONFIG_CMD_LOADB
 154#undef CONFIG_CMD_MII
 155
 156#ifdef CONFIG_MCFFEC
 157#       define CONFIG_MII               1
 158#       define CONFIG_MII_INIT          1
 159#       define CONFIG_SYS_DISCOVER_PHY
 160#       define CONFIG_SYS_RX_ETH_BUFFER 8
 161#       define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 162
 163#       define CONFIG_SYS_FEC0_PINMUX           0
 164#       define CONFIG_SYS_FEC0_MIIBASE          CONFIG_SYS_FEC0_IOBASE
 165#       define MCFFEC_TOUT_LOOP         50000
 166/* If CONFIG_SYS_DISCOVER_PHY is not defined - hardcoded */
 167#       ifndef CONFIG_SYS_DISCOVER_PHY
 168#               define FECDUPLEX        FULL
 169#               define FECSPEED         _100BASET
 170#       else
 171#               ifndef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 172#                       define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 173#               endif
 174#       endif                   /* CONFIG_SYS_DISCOVER_PHY */
 175#endif
 176
 177/*
 178 *-----------------------------------------------------------------------------
 179 * Define user parameters that have to be customized most likely
 180 *-----------------------------------------------------------------------------
 181 */
 182
 183/*AUTOBOOT settings - booting images automatically by u-boot after power on*/
 184
 185#define CONFIG_BOOTDELAY        5               /* used for autoboot, delay in
 186seconds u-boot will wait before starting defined (auto-)boot command, setting
 187to -1 disables delay, setting to 0 will too prevent access to u-boot command
 188interface: u-boot then has to reflashed */
 189
 190
 191/* The following settings will be contained in the environment block ; if you
 192want to use a neutral environment all those settings can be manually set in
 193u-boot: 'set' command */
 194
 195#if 0
 196
 197#define CONFIG_BOOTCOMMAND      "bootm 0xffe80000"      /*Autoboto command, please
 198enter a valid image address in flash */
 199
 200#define CONFIG_BOOTARGS         " "                     /* default bootargs that are
 201considered during boot */
 202
 203/* User network settings */
 204
 205#define CONFIG_ETHADDR 00:00:00:00:00:09        /* default ethernet MAC addr. */
 206#define CONFIG_IPADDR 192.168.100.2             /* default board IP address */
 207#define CONFIG_SERVERIP 192.168.100.1   /* default tftp server IP address */
 208
 209#endif
 210
 211#define CONFIG_SYS_PROMPT               "COBRA > "      /* Layout of u-boot prompt*/
 212
 213#define CONFIG_SYS_LOAD_ADDR            0x20000         /*Defines default RAM address
 214from which user programs will be started */
 215
 216/*---*/
 217
 218#define CONFIG_SYS_LONGHELP                             /* undef to save memory         */
 219
 220#if defined(CONFIG_CMD_KGDB)
 221#define CONFIG_SYS_CBSIZE               1024            /* Console I/O Buffer Size      */
 222#else
 223#define CONFIG_SYS_CBSIZE               256             /* Console I/O Buffer Size      */
 224#endif
 225#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
 226#define CONFIG_SYS_MAXARGS              16              /* max number of command args   */
 227#define CONFIG_SYS_BARGSIZE             CONFIG_SYS_CBSIZE       /* Boot Argument Buffer Size    */
 228
 229/*
 230 *-----------------------------------------------------------------------------
 231 * End of user parameters to be customized
 232 *-----------------------------------------------------------------------------
 233 */
 234
 235/* ---
 236 * Defines memory range for test
 237 * ---
 238 */
 239
 240#define CONFIG_SYS_MEMTEST_START        0x400
 241#define CONFIG_SYS_MEMTEST_END          0x380000
 242
 243/* ---
 244 * Low Level Configuration Settings
 245 * (address mappings, register initial values, etc.)
 246 * You should know what you are doing if you make changes here.
 247 * ---
 248 */
 249
 250/* ---
 251 * Base register address
 252 * ---
 253 */
 254
 255#define CONFIG_SYS_MBAR         0x10000000      /* Register Base Addrs */
 256
 257/* ---
 258 * System Conf. Reg. & System Protection Reg.
 259 * ---
 260 */
 261
 262#define CONFIG_SYS_SCR                  0x0003
 263#define CONFIG_SYS_SPR                  0xffff
 264
 265/* ---
 266 * Ethernet settings
 267 * ---
 268 */
 269
 270#define CONFIG_SYS_DISCOVER_PHY
 271#define CONFIG_SYS_ENET_BD_BASE 0x780000
 272
 273/*-----------------------------------------------------------------------
 274 * Definitions for initial stack pointer and data area (in internal SRAM)
 275 */
 276#define CONFIG_SYS_INIT_RAM_ADDR        0x20000000
 277#define CONFIG_SYS_INIT_RAM_SIZE        0x1000  /* Size of used area in internal SRAM   */
 278#define CONFIG_SYS_GBL_DATA_OFFSET      (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 279#define CONFIG_SYS_INIT_SP_OFFSET       CONFIG_SYS_GBL_DATA_OFFSET
 280
 281/*-----------------------------------------------------------------------
 282 * Start addresses for the final memory configuration
 283 * (Set up by the startup code)
 284 * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
 285 */
 286#define CONFIG_SYS_SDRAM_BASE           0x00000000
 287
 288/*
 289 *-------------------------------------------------------------------------
 290 * RAM SIZE (is defined above)
 291 *-----------------------------------------------------------------------
 292 */
 293
 294/* #define CONFIG_SYS_SDRAM_SIZE                16 */
 295
 296/*
 297 *-----------------------------------------------------------------------
 298 */
 299
 300#define CONFIG_SYS_FLASH_BASE           0xffe00000
 301
 302#ifdef  CONFIG_MONITOR_IS_IN_RAM
 303#define CONFIG_SYS_MONITOR_BASE 0x20000
 304#else
 305#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_FLASH_BASE + 0x400)
 306#endif
 307
 308#define CONFIG_SYS_MONITOR_LEN          0x20000
 309#define CONFIG_SYS_MALLOC_LEN           (256 << 10)
 310#define CONFIG_SYS_BOOTPARAMS_LEN       64*1024
 311
 312/*
 313 * For booting Linux, the board info and command line data
 314 * have to be in the first 8 MB of memory, since this is
 315 * the maximum mapped by the Linux kernel during initialization ??
 316 */
 317#define CONFIG_SYS_BOOTMAPSZ            (8 << 20)       /* Initial Memory map for Linux */
 318
 319/*-----------------------------------------------------------------------
 320 * FLASH organization
 321 */
 322#define CONFIG_SYS_MAX_FLASH_BANKS      1       /* max number of memory banks           */
 323#define CONFIG_SYS_MAX_FLASH_SECT       11      /* max number of sectors on one chip    */
 324#define CONFIG_SYS_FLASH_ERASE_TOUT     1000    /* flash timeout */
 325
 326/*-----------------------------------------------------------------------
 327 * Cache Configuration
 328 */
 329#define CONFIG_SYS_CACHELINE_SIZE       16
 330
 331#define ICACHE_STATUS                   (CONFIG_SYS_INIT_RAM_ADDR + \
 332                                         CONFIG_SYS_INIT_RAM_SIZE - 8)
 333#define DCACHE_STATUS                   (CONFIG_SYS_INIT_RAM_ADDR + \
 334                                         CONFIG_SYS_INIT_RAM_SIZE - 4)
 335#define CONFIG_SYS_ICACHE_INV           (CF_CACR_CINV | CF_CACR_INVI)
 336#define CONFIG_SYS_CACHE_ACR0           (CONFIG_SYS_SDRAM_BASE | \
 337                                         CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \
 338                                         CF_ACR_EN | CF_ACR_SM_ALL)
 339#define CONFIG_SYS_CACHE_ICACR          (CF_CACR_CENB | CF_CACR_CINV | \
 340                                         CF_CACR_DISD | CF_CACR_INVI | \
 341                                         CF_CACR_CEIB | CF_CACR_DCM | \
 342                                         CF_CACR_EUSP)
 343
 344/*-----------------------------------------------------------------------
 345 * Memory bank definitions
 346 *
 347 * Please refer also to Motorola Coldfire user manual - Chapter XXX
 348 * <http://e-www.motorola.com/files/dsp/doc/ref_manual/MCF5272UM.pdf>
 349 */
 350#define CONFIG_SYS_BR0_PRELIM           0xFFE00201
 351#define CONFIG_SYS_OR0_PRELIM           0xFFE00014
 352
 353#define CONFIG_SYS_BR1_PRELIM           0
 354#define CONFIG_SYS_OR1_PRELIM           0
 355
 356#define CONFIG_SYS_BR2_PRELIM           0
 357#define CONFIG_SYS_OR2_PRELIM           0
 358
 359#define CONFIG_SYS_BR3_PRELIM           0
 360#define CONFIG_SYS_OR3_PRELIM           0
 361
 362#define CONFIG_SYS_BR4_PRELIM           0
 363#define CONFIG_SYS_OR4_PRELIM           0
 364
 365#define CONFIG_SYS_BR5_PRELIM           0
 366#define CONFIG_SYS_OR5_PRELIM           0
 367
 368#define CONFIG_SYS_BR6_PRELIM           0
 369#define CONFIG_SYS_OR6_PRELIM           0
 370
 371#define CONFIG_SYS_BR7_PRELIM           0x00000701
 372#define CONFIG_SYS_OR7_PRELIM           0xFF00007C
 373
 374/*-----------------------------------------------------------------------
 375 * LED config
 376 */
 377#define LED_STAT_0      0xffff /*all LEDs off*/
 378#define LED_STAT_1      0xfffe
 379#define LED_STAT_2      0xfffd
 380#define LED_STAT_3      0xfffb
 381#define LED_STAT_4      0xfff7
 382#define LED_STAT_5      0xffef
 383#define LED_STAT_6      0xffdf
 384#define LED_STAT_7      0xff00 /*all LEDs on*/
 385
 386/*-----------------------------------------------------------------------
 387 * Port configuration (GPIO)
 388 */
 389#define CONFIG_SYS_PACNT                0x00000000              /* PortA control reg.: All pins are external
 390GPIO*/
 391#define CONFIG_SYS_PADDR                0x00FF                  /* PortA direction reg.: PA7 to PA0 are outputs
 392(1^=output, 0^=input) */
 393#define CONFIG_SYS_PADAT                LED_STAT_0              /* PortA value reg.: Turn all LED off */
 394#define CONFIG_SYS_PBCNT                0x55554155              /* PortB control reg.: Ethernet/UART
 395configuration */
 396#define CONFIG_SYS_PBDDR                0x0000                  /* PortB direction: All pins configured as inputs */
 397#define CONFIG_SYS_PBDAT                0x0000                  /* PortB value reg. */
 398#define CONFIG_SYS_PDCNT                0x00000000              /* PortD control reg. */
 399
 400#endif  /* _CONFIG_COBRA5272_H */
 401