uboot/include/configs/ELPT860.h
<<
>>
Prefs
   1/*
   2**=====================================================================
   3**
   4** Copyright (C) 2000, 2001, 2002, 2003
   5** The LEOX team <team@leox.org>, http://www.leox.org
   6**
   7** LEOX.org is about the development of free hardware and software resources
   8**   for system on chip.
   9**
  10** Description: U-Boot port on the LEOX's ELPT860 CPU board
  11** ~~~~~~~~~~~
  12**
  13**=====================================================================
  14**
  15** This program is free software; you can redistribute it and/or
  16** modify it under the terms of the GNU General Public License as
  17** published by the Free Software Foundation; either version 2 of
  18** the License, or (at your option) any later version.
  19**
  20** This program is distributed in the hope that it will be useful,
  21** but WITHOUT ANY WARRANTY; without even the implied warranty of
  22** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  23** GNU General Public License for more details.
  24**
  25** You should have received a copy of the GNU General Public License
  26** along with this program; if not, write to the Free Software
  27** Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  28** MA 02111-1307 USA
  29**
  30**=====================================================================
  31*/
  32
  33/*
  34 * board/config.h - configuration options, board specific
  35 */
  36
  37#ifndef __CONFIG_H
  38#define __CONFIG_H
  39
  40
  41/*
  42 * High Level Configuration Options
  43 * (easy to change)
  44 */
  45
  46#define CONFIG_MPC860           1       /* It's a MPC860, in fact a 860T CPU */
  47#define CONFIG_MPC860T          1
  48#define CONFIG_ELPT860          1       /* ...on a LEOX's ELPT860 CPU board */
  49
  50#define CONFIG_SYS_TEXT_BASE    0x02000000
  51
  52#define CONFIG_8xx_CONS_SMC1    1       /* Console is on SMC1               */
  53#undef    CONFIG_8xx_CONS_SMC2
  54#undef    CONFIG_8xx_CONS_NONE
  55
  56#define CONFIG_CLOCKS_IN_MHZ    1  /* Clock passed to Linux (<2.4.5) in MHz */
  57#define CONFIG_8xx_GCLK_FREQ    50000000       /* MPC860T runs at 50MHz */
  58
  59#define CONFIG_BOOTDELAY        5       /* autoboot after 5 seconds     */
  60
  61#define CONFIG_BOARD_EARLY_INIT_F 1     /* Call board_early_init_f      */
  62#define CONFIG_RESET_PHY_R      1       /* Call reset_phy()             */
  63
  64/* BOOT arguments */
  65#define CONFIG_PREBOOT                                                     \
  66     "echo;"                                                               \
  67     "echo Type \"run nfsboot\" to mount root filesystem over NFS;"        \
  68     "echo"
  69
  70#undef    CONFIG_BOOTARGS
  71
  72#define CONFIG_EXTRA_ENV_SETTINGS                                       \
  73    "ramargs=setenv bootargs root=/dev/ram rw\0"                        \
  74    "rootargs=setenv rootpath /tftp/${ipaddr}\0"                        \
  75    "nfsargs=setenv bootargs root=/dev/nfs rw "                         \
  76        "nfsroot=${serverip}:${rootpath}\0"                             \
  77    "addip=setenv bootargs ${bootargs} "                                \
  78        "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"              \
  79        ":${hostname}:eth0:off panic=1\0"                               \
  80    "ramboot=tftp 400000 /home/paugaml/pMulti;"                         \
  81        "run ramargs;bootm\0"                                           \
  82    "nfsboot=tftp 400000 /home/paugaml/uImage;"                         \
  83        "run rootargs;run nfsargs;run addip;bootm\0"                    \
  84    ""
  85#define CONFIG_BOOTCOMMAND      "run ramboot"
  86
  87/*
  88 * BOOTP options
  89 */
  90#define CONFIG_BOOTP_SUBNETMASK
  91#define CONFIG_BOOTP_GATEWAY
  92#define CONFIG_BOOTP_HOSTNAME
  93#define CONFIG_BOOTP_BOOTPATH
  94#define CONFIG_BOOTP_BOOTFILESIZE
  95
  96
  97#undef    CONFIG_WATCHDOG               /* watchdog disabled            */
  98#undef    CONFIG_CAN_DRIVER             /* CAN Driver support disabled  */
  99#undef    CONFIG_RTC_MPC8xx             /* internal RTC MPC8xx unused   */
 100#define CONFIG_RTC_DS164x       1       /* RTC is a Dallas DS1646       */
 101
 102#define CONFIG_LOADS_ECHO       1       /* echo on for serial download  */
 103#undef    CONFIG_SYS_LOADS_BAUD_CHANGE          /* don't allow baudrate change  */
 104
 105
 106/*
 107 * Command line configuration.
 108 */
 109#include <config_cmd_default.h>
 110
 111#define CONFIG_CMD_ASKENV
 112#define CONFIG_CMD_DATE
 113
 114
 115/*
 116 * Miscellaneous configurable options
 117 */
 118#define CONFIG_SYS_LONGHELP                     /* undef to save memory         */
 119#define CONFIG_SYS_PROMPT     "LEOX_elpt860: " /* Monitor Command Prompt        */
 120
 121#if defined(CONFIG_CMD_KGDB)
 122#  define CONFIG_SYS_CBSIZE     1024            /* Console I/O Buffer Size      */
 123#else
 124#  define CONFIG_SYS_CBSIZE      256            /* Console I/O Buffer Size      */
 125#endif
 126
 127#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
 128#define CONFIG_SYS_MAXARGS        16            /* max number of command args   */
 129#define CONFIG_SYS_BARGSIZE       CONFIG_SYS_CBSIZE     /* Boot Argument Buffer Size    */
 130
 131#define CONFIG_SYS_MEMTEST_START        0x00400000      /* memtest works on     */
 132#define CONFIG_SYS_MEMTEST_END          0x00C00000      /* 4 ... 12 MB in DRAM  */
 133
 134#define CONFIG_SYS_LOAD_ADDR            0x00100000      /* default load address */
 135
 136#define CONFIG_SYS_HZ           1000            /* decrementer freq: 1 ms ticks */
 137
 138/*
 139 * Environment Variables and Storages
 140 */
 141#define CONFIG_ENV_OVERWRITE    1  /* Allow Overwrite of serial# & ethaddr */
 142
 143#undef    CONFIG_ENV_IS_IN_NVRAM               /* Environment is in NVRAM       */
 144#undef    CONFIG_ENV_IS_IN_EEPROM              /* Environment is in I2C EEPROM  */
 145#define CONFIG_ENV_IS_IN_FLASH  1      /* Environment is in FLASH       */
 146
 147#define CONFIG_BAUDRATE         9600   /* console baudrate = 9600 bps   */
 148
 149#define CONFIG_ETHADDR          00:01:77:00:60:40
 150#define CONFIG_IPADDR           192.168.0.30
 151#define CONFIG_NETMASK          255.255.255.0
 152
 153#define CONFIG_SERVERIP         192.168.0.1
 154#define CONFIG_GATEWAYIP        192.168.0.1
 155
 156/*
 157 * Low Level Configuration Settings
 158 * (address mappings, register initial values, etc.)
 159 * You should know what you are doing if you make changes here.
 160 */
 161
 162/*-----------------------------------------------------------------------
 163 * Internal Memory Mapped Register
 164 */
 165#define CONFIG_SYS_IMMR         0xFF000000
 166
 167/*-----------------------------------------------------------------------
 168 * Definitions for initial stack pointer and data area (in DPRAM)
 169 */
 170#define CONFIG_SYS_INIT_RAM_ADDR        CONFIG_SYS_IMMR
 171#define CONFIG_SYS_INIT_RAM_SIZE        0x2F00  /* Size of used area in DPRAM   */
 172#define CONFIG_SYS_GBL_DATA_OFFSET    (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 173#define CONFIG_SYS_INIT_SP_OFFSET       CONFIG_SYS_GBL_DATA_OFFSET
 174
 175/*-----------------------------------------------------------------------
 176 * Start addresses for the final memory configuration
 177 * (Set up by the startup code)
 178 * Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
 179 */
 180#define CONFIG_SYS_SDRAM_BASE           0x00000000
 181#define CONFIG_SYS_FLASH_BASE           0x02000000
 182#define CONFIG_SYS_NVRAM_BASE           0x03000000
 183
 184#if defined(CONFIG_ENV_IS_IN_FLASH)
 185#  if defined(DEBUG)
 186#    define CONFIG_SYS_MONITOR_LEN      (320 << 10)  /* Reserve 320 kB for Monitor  */
 187#  else
 188#    define CONFIG_SYS_MONITOR_LEN      (256 << 10)  /* Reserve 256 kB for Monitor  */
 189#  endif
 190#else
 191#  if defined(DEBUG)
 192#    define CONFIG_SYS_MONITOR_LEN      (256 << 10)  /* Reserve 256 kB for Monitor  */
 193#  else
 194#    define CONFIG_SYS_MONITOR_LEN      (192 << 10)  /* Reserve 192 kB for Monitor  */
 195#  endif
 196#endif
 197
 198#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
 199#define CONFIG_SYS_MALLOC_LEN           (128 << 10)  /* Reserve 128 kB for malloc() */
 200
 201/*
 202 * For booting Linux, the board info and command line data
 203 * have to be in the first 8 MB of memory, since this is
 204 * the maximum mapped by the Linux kernel during initialization.
 205 */
 206#define CONFIG_SYS_BOOTMAPSZ            (8 << 20)    /* Initial Memory map for Linux */
 207
 208/*-----------------------------------------------------------------------
 209 * FLASH organization
 210 */
 211#define CONFIG_SYS_MAX_FLASH_BANKS      1       /* max number of memory banks        */
 212#define CONFIG_SYS_MAX_FLASH_SECT       8       /* max number of sectors on one chip */
 213
 214#define CONFIG_SYS_FLASH_ERASE_TOUT     120000  /* Timeout for Flash Erase (in ms)   */
 215#define CONFIG_SYS_FLASH_WRITE_TOUT     500     /* Timeout for Flash Write (in ms)   */
 216
 217#if defined(CONFIG_ENV_IS_IN_FLASH)
 218#  define CONFIG_ENV_OFFSET     0x10000 /* Offset   of Environment Sector    */
 219#  define CONFIG_ENV_SIZE               0x10000 /* Total Size of Environment Sector  */
 220#endif
 221
 222/*-----------------------------------------------------------------------
 223 * NVRAM organization
 224 */
 225#define CONFIG_SYS_NVRAM_BASE_ADDR      CONFIG_SYS_NVRAM_BASE /* Base address of NVRAM area */
 226#define CONFIG_SYS_NVRAM_SIZE           ((128*1024)-8) /* clock regs resident in the */
 227                                               /*   8 top NVRAM locations    */
 228
 229#if defined(CONFIG_ENV_IS_IN_NVRAM)
 230#  define CONFIG_ENV_ADDR               CONFIG_SYS_NVRAM_BASE /* Base address of NVRAM area */
 231#  define CONFIG_ENV_SIZE               0x4000  /* Total Size of Environment Sector  */
 232#endif
 233
 234/*-----------------------------------------------------------------------
 235 * Cache Configuration
 236 */
 237#define CONFIG_SYS_CACHELINE_SIZE       16      /* For all MPC8xx CPUs               */
 238
 239#if defined(CONFIG_CMD_KGDB)
 240#  define CONFIG_SYS_CACHELINE_SHIFT     4      /* log base 2 of the above value     */
 241#endif
 242
 243/*-----------------------------------------------------------------------
 244 * SYPCR - System Protection Control                            11-9
 245 * SYPCR can only be written once after reset!
 246 *-----------------------------------------------------------------------
 247 * Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
 248 */
 249#if defined(CONFIG_WATCHDOG)
 250#  define CONFIG_SYS_SYPCR      (SYPCR_SWTC | SYPCR_BMT  | SYPCR_BME | SYPCR_SWF | \
 251                         SYPCR_SWE  | SYPCR_SWRI | SYPCR_SWP)
 252#else
 253#  define CONFIG_SYS_SYPCR      (SYPCR_SWTC | SYPCR_BMT  | SYPCR_BME | SYPCR_SWF | \
 254                                                   SYPCR_SWP)
 255#endif
 256
 257/*-----------------------------------------------------------------------
 258 * SUMCR - SIU Module Configuration                             11-6
 259 *-----------------------------------------------------------------------
 260 * PCMCIA config., multi-function pin tri-state
 261 */
 262#define CONFIG_SYS_SIUMCR       (SIUMCR_DBGC11)
 263
 264/*-----------------------------------------------------------------------
 265 * TBSCR - Time Base Status and Control                         11-26
 266 *-----------------------------------------------------------------------
 267 * Clear Reference Interrupt Status, Timebase freezing enabled
 268 */
 269#define CONFIG_SYS_TBSCR        (TBSCR_REFA | TBSCR_REFB | TBSCR_TBF)
 270
 271/*-----------------------------------------------------------------------
 272 * RTCSC - Real-Time Clock Status and Control Register          11-27
 273 *-----------------------------------------------------------------------
 274 * Once-per-Second Interrupt, Alarm Interrupt, RTC freezing enabled, RTC
 275 *  enabled
 276 */
 277#define CONFIG_SYS_RTCSC        (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
 278
 279/*-----------------------------------------------------------------------
 280 * PISCR - Periodic Interrupt Status and Control                11-31
 281 *-----------------------------------------------------------------------
 282 * Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
 283 */
 284#define CONFIG_SYS_PISCR        (PISCR_PS | PISCR_PITF)
 285
 286/*-----------------------------------------------------------------------
 287 * PLPRCR - PLL, Low-Power, and Reset Control Register          15-30
 288 *-----------------------------------------------------------------------
 289 * Reset PLL lock status sticky bit, timer expired status bit and timer
 290 * interrupt status bit - leave PLL multiplication factor unchanged !
 291 */
 292#define CONFIG_SYS_PLPRCR       (PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)
 293
 294/*-----------------------------------------------------------------------
 295 * SCCR - System Clock and reset Control Register               15-27
 296 *-----------------------------------------------------------------------
 297 * Set clock output, timebase and RTC source and divider,
 298 * power management and some other internal clocks
 299 */
 300#define SCCR_MASK        SCCR_EBDF11
 301#define CONFIG_SYS_SCCR (SCCR_TBS     | \
 302                         SCCR_COM00   | SCCR_DFSYNC00 | SCCR_DFBRG00  | \
 303                         SCCR_DFNL000 | SCCR_DFNH000  | SCCR_DFLCD000 | \
 304                         SCCR_DFALCD00)
 305
 306/*-----------------------------------------------------------------------
 307 * Chip Selects + SDRAM timings + Memory Periodic Timer Prescaler
 308 *-----------------------------------------------------------------------
 309 *
 310 */
 311#ifdef DEBUG
 312#  define CONFIG_SYS_DER                0xFFE7400F      /* Debug Enable Register */
 313#else
 314#  define CONFIG_SYS_DER                0
 315#endif
 316
 317/*
 318 * Init Memory Controller:
 319 * ~~~~~~~~~~~~~~~~~~~~~~
 320 *
 321 * BR0 and OR0 (FLASH)
 322 */
 323
 324#define FLASH_BASE0_PRELIM      CONFIG_SYS_FLASH_BASE   /* FLASH bank #0          */
 325
 326/* used to re-map FLASH both when starting from SRAM or FLASH:
 327 * restrict access enough to keep SRAM working (if any)
 328 * but not too much to meddle with FLASH accesses
 329 */
 330#define CONFIG_SYS_PRELIM_OR_AM 0xFF000000      /* 16 MB between each CSx */
 331
 332/* FLASH timing: ACS = 11, TRLX = 0, CSNT = 0, SCY = 8, EHTR = 0          */
 333#define CONFIG_SYS_OR_TIMING_FLASH      (OR_ACS_DIV2 | OR_BI | OR_SCY_8_CLK)
 334
 335#define CONFIG_SYS_OR0_PRELIM   (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
 336#define CONFIG_SYS_BR0_PRELIM   ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_PS_8 | BR_V )
 337
 338/*
 339 * BR1 and OR1 (SDRAM)
 340 *
 341 */
 342#define SDRAM_BASE1_PRELIM      CONFIG_SYS_SDRAM_BASE   /* SDRAM bank #0        */
 343#define SDRAM_MAX_SIZE          0x02000000      /* 32 MB MAX for CS1    */
 344
 345/* SDRAM timing:                                                        */
 346#define CONFIG_SYS_OR_TIMING_SDRAM      0x00000000
 347
 348#define CONFIG_SYS_OR1_PRELIM   ((2 * CONFIG_SYS_PRELIM_OR_AM) | CONFIG_SYS_OR_TIMING_SDRAM )
 349#define CONFIG_SYS_BR1_PRELIM   ((SDRAM_BASE1_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
 350
 351/*
 352 * BR2 and OR2 (NVRAM)
 353 *
 354 */
 355#define NVRAM_BASE1_PRELIM      CONFIG_SYS_NVRAM_BASE   /* NVRAM bank #0        */
 356#define NVRAM_MAX_SIZE          0x00020000      /* 128 KB MAX for CS2   */
 357
 358#define CONFIG_SYS_OR2_PRELIM           0xFFF80160
 359#define CONFIG_SYS_BR2_PRELIM   ((NVRAM_BASE1_PRELIM & BR_BA_MSK) | BR_PS_8 | BR_V )
 360
 361/*
 362 * Memory Periodic Timer Prescaler
 363 */
 364
 365/* periodic timer for refresh */
 366#define CONFIG_SYS_MAMR_PTA             97     /* start with divider for 100 MHz */
 367
 368/* refresh rate 15.6 us (= 64 ms / 4K = 62.4 / quad bursts) for <= 128 MBit */
 369#define CONFIG_SYS_MPTPR_2BK_4K MPTPR_PTP_DIV16   /* setting for 2 banks */
 370#define CONFIG_SYS_MPTPR_1BK_4K MPTPR_PTP_DIV32   /* setting for 1 bank  */
 371
 372/* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit  */
 373#define CONFIG_SYS_MPTPR_2BK_8K MPTPR_PTP_DIV8    /* setting for 2 banks */
 374#define CONFIG_SYS_MPTPR_1BK_8K MPTPR_PTP_DIV16   /* setting for 1 bank  */
 375
 376/*
 377 * MAMR settings for SDRAM
 378 */
 379
 380/* 8 column SDRAM */
 381#define CONFIG_SYS_MAMR_8COL    ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT)  | MAMR_PTAE       | \
 382                         MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A11 | \
 383                         MAMR_RLFA_1X    | MAMR_WLFA_1X    | MAMR_TLFA_4X)
 384/* 9 column SDRAM */
 385#define CONFIG_SYS_MAMR_9COL    ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT)  | MAMR_PTAE       | \
 386                         MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 | \
 387                         MAMR_RLFA_1X    | MAMR_WLFA_1X    | MAMR_TLFA_4X)
 388
 389#endif  /* __CONFIG_H */
 390