]> git.sur5r.net Git - u-boot/commitdiff
Merge with git://www.denx.de/git/u-boot.git
authorStefan Roese <sr@denx.de>
Tue, 14 Aug 2007 14:36:29 +0000 (16:36 +0200)
committerStefan Roese <sr@denx.de>
Tue, 14 Aug 2007 14:36:29 +0000 (16:36 +0200)
17 files changed:
1  2 
CREDITS
MAINTAINERS
MAKEALL
Makefile
board/netstal/common/nm_bsp.c
board/netstal/hcu4/hcu4.c
cpu/ppc4xx/4xx_enet.c
cpu/ppc4xx/serial.c
cpu/ppc4xx/traps.c
cpu/ppc4xx/usb.c
include/configs/bamboo.h
include/configs/hcu4.h
include/configs/hcu5.h
include/configs/luan.h
include/configs/lwmon5.h
include/configs/taihu.h
include/configs/zeus.h

diff --cc CREDITS
Simple merge
diff --cc MAINTAINERS
Simple merge
diff --cc MAKEALL
index 8d1830f05caec01e642feffc8ff9809d70575abc,7fb10b36486f9c36a57356bf11afd7acc96f35cc..1219fb373f7f6f198576e2a02fc7e400aa2ac2a0
+++ b/MAKEALL
@@@ -74,25 -150,73 +150,77 @@@ LIST_8xx="               
  ## PPC4xx Systems
  #########################################################################
  
- LIST_4xx="    \
-       acadia          acadia_nand     ADCIOP          alpr            \
-       AP1000          AR405           ASH405          bamboo          \
-       bamboo_nand     bubinga         CANBT           CMS700          \
-       CPCI2DP         CPCI405         CPCI4052        CPCI405AB       \
-       CPCI405DT       CPCI440         CPCIISER4       CRAYL1          \
-       csb272          csb472          DASA_SIM        DP405           \
-       DU405           ebony           ERIC            EXBITGEN        \
-       G2000           HH405           hcu4            hcu5            \
-       HUB405          JSE             KAREF           katmai          \
-       luan            lwmon5          METROBOX        MIP405          \
-       MIP405T         ML2             ml300           ocotea          \
-       OCRTC           ORSG            p3p440          PCI405          \
-       pcs440ep        PIP405          PLU405          PMC405          \
-       PPChameleonEVB  sbc405          sc3             sequoia         \
-       sequoia_nand    taihu           taishan         VOH405          \
-       VOM405          W7OLMC          W7OLMG          walnut          \
-       WUH405          XPEDITE1K       yellowstone     yosemite        \
-       yucca           zeus                                            \
+ LIST_4xx="            \
+       acadia          \
+       acadia_nand     \
+       ADCIOP          \
+       alpr            \
+       AP1000          \
+       AR405           \
+       ASH405          \
+       bamboo          \
+       bamboo_nand     \
+       bubinga         \
+       CANBT           \
+       CMS700          \
+       CPCI2DP         \
+       CPCI405         \
+       CPCI4052        \
+       CPCI405AB       \
+       CPCI405DT       \
+       CPCI440         \
+       CPCIISER4       \
+       CRAYL1          \
+       csb272          \
+       csb472          \
+       DASA_SIM        \
+       DP405           \
+       DU405           \
+       ebony           \
+       ERIC            \
+       EXBITGEN        \
+       G2000           \
++      hcu4            \
++      hcu5            \
+       HH405           \
+       HUB405          \
+       JSE             \
+       KAREF           \
+       katmai          \
+       luan            \
+       lwmon5          \
+       METROBOX        \
+       MIP405          \
+       MIP405T         \
+       ML2             \
+       ml300           \
+       ocotea          \
+       OCRTC           \
+       ORSG            \
+       p3p440          \
+       PCI405          \
+       pcs440ep        \
+       PIP405          \
+       PLU405          \
+       PMC405          \
+       PPChameleonEVB  \
+       sbc405          \
+       sc3             \
+       sequoia         \
+       sequoia_nand    \
++      taihu           \
+       taishan         \
+       VOH405          \
+       VOM405          \
+       W7OLMC          \
+       W7OLMG          \
+       walnut          \
+       WUH405          \
+       XPEDITE1K       \
+       yellowstone     \
+       yosemite        \
+       yucca           \
++      zeus            \
  "
  
  #########################################################################
diff --cc Makefile
Simple merge
index 1e06780c0eb2a7f46a6e743665fb4e2bd736bbb9,0000000000000000000000000000000000000000..a9de45ea704eb738a974fa6ed7855bc494dba26f
mode 100644,000000..100644
--- /dev/null
@@@ -1,41 -1,0 +1,41 @@@
- #if (CONFIG_COMMANDS & CFG_CMD_BSP)
 +/*
 + *(C) Copyright 2005-2007 Netstal Maschinen AG
 + *    Niklaus Giger (Niklaus.Giger@netstal.com)
 + *
 + *    This source code is free software; you can redistribute it
 + *    and/or modify it in source code form under the terms of the GNU
 + *    General Public License as published by the Free Software
 + *    Foundation; either version 2 of the License, or (at your option)
 + *    any later version.
 + *
 + *    This program is distributed in the hope that it will be useful,
 + *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 + *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + *    GNU General Public License for more details.
 + *
 + *    You should have received a copy of the GNU General Public License
 + *    along with this program; if not, write to the Free Software
 + *    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 + */
 +
 +#include <common.h>
 +#include <command.h>
 +
++#ifdef CONFIG_CMD_BSP
 +/*
 + * Command nm_bsp: Netstal Maschinen BSP specific command
 + */
 +int nm_bsp(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 +{
 +      printf("%s: flag %d,  argc %d,  argv[0] %s\n",  __FUNCTION__,
 +             flag,  argc,  argv[0]);
 +      printf("Netstal Maschinen BSP specific command. None at the moment.\n");
 +      return 0;
 +}
 +
 +U_BOOT_CMD(
 +        nm_bsp, 1,      1,      nm_bsp,
 +        "nm_bsp  - Netstal Maschinen BSP specific command. \n",
 +        "Help for Netstal Maschinen BSP specific command.\n"
 +        );
 +#endif
index 252aaa76b2adab48010bd19b7fb36fa22d4e002d,0000000000000000000000000000000000000000..2b9560484d7257bab8326998555d70a0164d74aa
mode 100644,000000..100644
--- /dev/null
@@@ -1,403 -1,0 +1,400 @@@
- #define mtsdram(reg, data)  { mtdcr(memcfga,reg);mtdcr(memcfgd,data); }
- #define mfsdram(value, reg) { mtdcr(memcfga,reg); value = mfdcr(memcfgd); }
 +/*
 + *(C) Copyright 2005-2007 Netstal Maschinen AG
 + *    Niklaus Giger (Niklaus.Giger@netstal.com)
 + *
 + *    This source code is free software; you can redistribute it
 + *    and/or modify it in source code form under the terms of the GNU
 + *    General Public License as published by the Free Software
 + *    Foundation; either version 2 of the License, or (at your option)
 + *    any later version.
 + *
 + *    This program is distributed in the hope that it will be useful,
 + *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 + *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 + *    GNU General Public License for more details.
 + *
 + *    You should have received a copy of the GNU General Public License
 + *    along with this program; if not, write to the Free Software
 + *    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 + */
 +
 +#include  <common.h>
 +#include  <ppc4xx.h>
 +#include  <asm/processor.h>
 +#include  <asm/io.h>
 +#include  <asm-ppc/u-boot.h>
 +#include  "../common/nm_bsp.c"
 +
 +DECLARE_GLOBAL_DATA_PTR;
 +
 +#define HCU_MACH_VERSIONS_REGISTER    (0x7C000000 + 0xF00000)
 +
-       mfsdram(value, mem_mcopt1);
 +#define SDRAM_LEN 32*1024*1024 /* 32 MB -RAM */
 +
 +#define DO_UGLY_SDRAM_WORKAROUND
 +
 +enum {
 +      /* HW_GENERATION_HCU wird nicht mehr unterstuetzt */
 +      HW_GENERATION_HCU2  = 0x10,
 +      HW_GENERATION_HCU3  = 0x10,
 +      HW_GENERATION_HCU4  = 0x20,
 +      HW_GENERATION_MCU   = 0x08,
 +      HW_GENERATION_MCU20 = 0x0a,
 +      HW_GENERATION_MCU25 = 0x09,
 +};
 +
 +void sysLedSet(u32 value);
 +long int spd_sdram(int(read_spd)(uint addr));
 +
 +#ifdef CONFIG_SPD_EEPROM
 +#define DEBUG
 +#endif
 +
 +#if defined(DEBUG)
 +void show_sdram_registers(void);
 +#endif
 +
 +/*
 + * This function is run very early, out of flash, and before devices are
 + * initialized. It is called by lib_ppc/board.c:board_init_f by virtue
 + * of being in the init_sequence array.
 + *
 + * The SDRAM has been initialized already -- start.S:start called
 + * init.S:init_sdram early on -- but it is not yet being used for
 + * anything, not even stack. So be careful.
 + */
 +
 +#define CPC0_CR0      0xb1    /* Chip control register 0 */
 +#define CPC0_CR1        0xb2  /* Chip control register 1 */
 +/* Attention: If you want 1 microsecs times from the external oscillator
 + * use  0x00804051. But this causes problems with u-boot and linux!
 + */
 +#define CPC0_CR1_VALUE        0x00004051
 +#define CPC0_ECR      0xaa    /* Edge condition register */
 +#define EBC0_CFG      0x23    /* External Peripheral Control Register */
 +#define CPC0_EIRR     0xb6    /* External Interrupt Register */
 +
 +
 +int board_early_init_f (void)
 +{
 +      /*-------------------------------------------------------------------+
 +      | Interrupt controller setup for the HCU4 board.
 +      | Note: IRQ 0-15  405GP internally generated; high; level sensitive
 +      |       IRQ 16    405GP internally generated; low; level sensitive
 +      |       IRQ 17-24 RESERVED/UNUSED
 +      |       IRQ 31 (EXT IRQ 6) (unused)
 +      +-------------------------------------------------------------------*/
 +      mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */
 +      mtdcr (uicer, 0x00000000); /* disable all ints */
 +      mtdcr (uiccr, 0x00000000); /* set all to be non-critical */
 +      mtdcr (uicpr, 0xFFFFFF87); /* set int polarities */
 +      mtdcr (uictr, 0x10000000); /* set int trigger levels */
 +      mtdcr (uicsr, 0xFFFFFFFF); /* clear all ints */
 +
 +      mtdcr(CPC0_CR1,  CPC0_CR1_VALUE);
 +      mtdcr(CPC0_ECR,  0x60606000);
 +      mtdcr(CPC0_EIRR, 0x7c000000);
 +
 +      return 0;
 +}
 +
 +#ifdef CONFIG_BOARD_PRE_INIT
 +int board_pre_init (void)
 +{
 +      return board_early_init_f ();
 +}
 +#endif
 +
 +int checkboard (void)
 +{
 +      unsigned int j;
 +      u16 *boardVersReg = (u16 *) HCU_MACH_VERSIONS_REGISTER;
 +      u16 generation = *boardVersReg & 0xf0;
 +      u16 index      = *boardVersReg & 0x0f;
 +
 +      /* Force /RTS to active. The board it not wired quite
 +         correctly to use cts/rtc flow control, so just force the
 +         /RST active and forget about it. */
 +      writeb (readb (0xef600404) | 0x03, 0xef600404);
 +      printf ("\nNetstal Maschinen AG ");
 +      if (generation == HW_GENERATION_HCU3)
 +              printf ("HCU3: index %d\n\n", index);
 +      else if (generation == HW_GENERATION_HCU4)
 +              printf ("HCU4: index %d\n\n", index);
 +      /* GPIO here noch nicht richtig initialisert !!! */
 +      sysLedSet(0);
 +      for (j = 0; j < 7; j++) {
 +              sysLedSet(1 << j);
 +              udelay(50 * 1000);
 +      }
 +
 +      return 0;
 +}
 +
 +u32 sysLedGet(void)
 +{
 +      return (~((*(u32 *)GPIO0_OR)) >> 23) & 0xff;
 +}
 +
 +void sysLedSet(u32 value /* value to place in LEDs */)
 +{
 +      u32   tmp = ~value;
 +      u32   *ledReg;
 +
 +      tmp = (tmp << 23) | 0x7FFFFF;
 +      ledReg = (u32 *)GPIO0_OR;
 +      *ledReg = tmp;
 +}
 +
 +/*
 + * sdram_init - Dummy implementation for start.S, spd_sdram  or initdram
 + *            used for HCUx
 + */
 +void sdram_init(void)
 +{
 +      return;
 +}
 +
 +#if defined(DEBUG)
 +void show_sdram_registers(void)
 +{
 +      u32 value;
 +
 +      printf ("SDRAM Controller Registers --\n");
-       mfsdram(value, mem_status);
++      mfsdram(mem_mcopt1, value);
 +      printf ("    SDRAM0_CFG   : 0x%08x\n", value);
-       mfsdram(value, mem_mb0cf);
++      mfsdram(mem_status, value);
 +      printf ("    SDRAM0_STATUS: 0x%08x\n", value);
-       mfsdram(value, mem_mb1cf);
++      mfsdram(mem_mb0cf, value);
 +      printf ("    SDRAM0_B0CR  : 0x%08x\n", value);
-       mfsdram(value, mem_sdtr1);
++      mfsdram(mem_mb1cf, value);
 +      printf ("    SDRAM0_B1CR  : 0x%08x\n", value);
-       mfsdram(value, mem_rtr);
++      mfsdram(mem_sdtr1, value);
 +      printf ("    SDRAM0_TR    : 0x%08x\n", value);
++      mfsdram(mem_rtr, value);
 +      printf ("    SDRAM0_RTR   : 0x%08x\n", value);
 +}
 +#endif
 +
 +/*
 + * this is even after checkboard. It returns the size of the SDRAM
 + * that we have installed. This function is called by board_init_f
 + * in lib_ppc/board.c to initialize the memory and return what I
 + * found. These are default value, which will be overridden later.
 + */
 +
 +long int fixed_hcu4_sdram (int board_type)
 +{
 +#ifdef DEBUG
 +      printf (__FUNCTION__);
 +#endif
 +      /* disable memory controller */
 +      mtdcr (memcfga, mem_mcopt1);
 +      mtdcr (memcfgd, 0x00000000);
 +
 +      udelay (500);
 +
 +      /* Clear SDRAM0_BESR0 (Bus Error Syndrome Register) */
 +      mtdcr (memcfga, mem_besra);
 +      mtdcr (memcfgd, 0xffffffff);
 +
 +      /* Clear SDRAM0_BESR1 (Bus Error Syndrome Register) */
 +      mtdcr (memcfga, mem_besrb);
 +      mtdcr (memcfgd, 0xffffffff);
 +
 +      /* Clear SDRAM0_ECCCFG (disable ECC) */
 +      mtdcr (memcfga, mem_ecccf);
 +      mtdcr (memcfgd, 0x00000000);
 +
 +      /* Clear SDRAM0_ECCESR (ECC Error Syndrome Register) */
 +      mtdcr (memcfga, mem_eccerr);
 +      mtdcr (memcfgd, 0xffffffff);
 +
 +      /* Timing register: CASL=2, PTA=2, CTP=2, LDF=1, RFTA=5, RCD=2
 +       * TODO ngngng
 +       */
 +      mtdcr (memcfga, mem_sdtr1);
 +      mtdcr (memcfgd, 0x008a4015);
 +
 +      /* Memory Bank 0 Config == BA=0x00000000, SZ=64M, AM=3, BE=1
 +       * TODO ngngng
 +       */
 +      mtdcr (memcfga, mem_mb0cf);
 +      mtdcr (memcfgd, 0x00062001);
 +
 +      /* refresh timer = 0x400  */
 +      mtdcr (memcfga, mem_rtr);
 +      mtdcr (memcfgd, 0x04000000);
 +
 +      /* Power management idle timer set to the default. */
 +      mtdcr (memcfga, mem_pmit);
 +      mtdcr (memcfgd, 0x07c00000);
 +
 +      udelay (500);
 +
 +      /* Enable banks (DCE=1, BPRF=1, ECCDD=1, EMDUL=1) TODO */
 +      mtdcr (memcfga, mem_mcopt1);
 +      mtdcr (memcfgd, 0x90800000);
 +
 +#ifdef DEBUG
 +      printf ("%s: done\n", __FUNCTION__);
 +#endif
 +      return SDRAM_LEN;
 +}
 +
 +/*---------------------------------------------------------------------------+
 + * getSerialNr
 + *---------------------------------------------------------------------------*/
 +static u32 getSerialNr(void)
 +{
 +      u32 *serial = (u32 *)CFG_FLASH_BASE;
 +
 +      if (*serial == 0xffffffff)
 +              return get_ticks();
 +
 +      return *serial;
 +}
 +
 +
 +/*---------------------------------------------------------------------------+
 + * misc_init_r.
 + *---------------------------------------------------------------------------*/
 +
 +int misc_init_r(void)
 +{
 +      char *s = getenv("ethaddr");
 +      char *e;
 +      int i;
 +      u32 serial = getSerialNr();
 +
 +      for (i = 0; i < 6; ++i) {
 +              gd->bd->bi_enetaddr[i] = s ? simple_strtoul (s, &e, 16) : 0;
 +              if (s)
 +                      s = (*e) ? e + 1 : e;
 +      }
 +
 +      if (gd->bd->bi_enetaddr[3] == 0 &&
 +          gd->bd->bi_enetaddr[4] == 0 &&
 +          gd->bd->bi_enetaddr[5] == 0) {
 +              char ethaddr[22];
 +              /* [0..3] Must be in sync with CONFIG_ETHADDR */
 +              gd->bd->bi_enetaddr[0] = 0x00;
 +              gd->bd->bi_enetaddr[1] = 0x60;
 +              gd->bd->bi_enetaddr[2] = 0x13;
 +              gd->bd->bi_enetaddr[3] = (serial          >> 16) & 0xff;
 +              gd->bd->bi_enetaddr[4] = (serial          >>  8) & 0xff;
 +              gd->bd->bi_enetaddr[5] = (serial          >>  0) & 0xff;
 +              sprintf (ethaddr, "%02X:%02X:%02X:%02X:%02X:%02X\0",
 +                       gd->bd->bi_enetaddr[0], gd->bd->bi_enetaddr[1],
 +                       gd->bd->bi_enetaddr[2], gd->bd->bi_enetaddr[3],
 +                       gd->bd->bi_enetaddr[4], gd->bd->bi_enetaddr[5]) ;
 +              printf("%s: Setting eth %s serial 0x%x\n",  __FUNCTION__,
 +                     ethaddr, serial);
 +              setenv ("ethaddr", ethaddr);
 +      }
 +      return 0;
 +}
 +
 +#ifdef  DO_UGLY_SDRAM_WORKAROUND
 +#include "i2c.h"
 +
 +void set_spd_default_value(unsigned int spd_addr,uchar def_val)
 +{
 +      uchar value;
 +      int res = i2c_read(SPD_EEPROM_ADDRESS, spd_addr, 1, &value, 1) ;
 +
 +      if (res == 0 && value == 0xff) {
 +              res = i2c_write(SPD_EEPROM_ADDRESS,
 +                              spd_addr, 1, &def_val, 1) ;
 +#ifdef DEBUG
 +              printf("%s: Setting spd offset %3d to %3d res %d\n",
 +                     __FUNCTION__, spd_addr,  def_val, res);
 +#endif
 +      }
 +}
 +#endif
 +
 +long int initdram(int board_type)
 +{
 +      long dram_size = 0;
 +
 +#if !defined(CONFIG_SPD_EEPROM)
 +      dram_size = fixed_hcu4_sdram();
 +#else
 +#ifdef  DO_UGLY_SDRAM_WORKAROUND
 +      /* Workaround if you have no working I2C-EEPROM-SPD-configuration */
 +      i2c_init(CFG_I2C_SPEED, CFG_I2C_SLAVE);
 +      set_spd_default_value(2,  4); /* SDRAM Type */
 +      set_spd_default_value(7,  0); /* module width, high byte */
 +      set_spd_default_value(12, 1); /* Refresh or 0x81 */
 +
 +      /* Only correct for HCU3 with 32 MB RAM*/
 +      /* Number of bytes used by module manufacturer */
 +      set_spd_default_value( 0, 128);
 +      set_spd_default_value( 1, 11 ); /* Total SPD memory size */
 +      set_spd_default_value( 2, 4  ); /* Memory type */
 +      set_spd_default_value( 3, 12 ); /* Number of row address bits */
 +      set_spd_default_value( 4, 9  ); /* Number of column address bits */
 +      set_spd_default_value( 5, 1  ); /* Number of module rows */
 +      set_spd_default_value( 6, 32 ); /* Module data width, LSB */
 +      set_spd_default_value( 7, 0  ); /* Module data width, MSB */
 +      set_spd_default_value( 8, 1  ); /* Module interface signal levels */
 +      /* SDRAM cycle time for highest CL (Tclk) */
 +      set_spd_default_value( 9, 112);
 +      /* SDRAM access time from clock for highest CL (Tac) */
 +      set_spd_default_value(10, 84 );
 +      set_spd_default_value(11, 2  ); /* Module configuration type */
 +      set_spd_default_value(12, 128); /* Refresh rate/type */
 +      set_spd_default_value(13, 16 ); /* Primary SDRAM width */
 +      set_spd_default_value(14, 8  ); /* Error Checking SDRAM width */
 +      /* SDRAM device attributes, min clock delay for back to back */
 +      /*random column addresses (Tccd) */
 +      set_spd_default_value(15, 1  );
 +      /* SDRAM device attributes, burst lengths supported */
 +      set_spd_default_value(16, 143);
 +      /* SDRAM device attributes, number of banks on SDRAM device */
 +      set_spd_default_value(17, 4  );
 +      /* SDRAM device attributes, CAS latency */
 +      set_spd_default_value(18, 6  );
 +      /* SDRAM device attributes, CS latency */
 +      set_spd_default_value(19, 1  );
 +      /* SDRAM device attributes, WE latency */
 +      set_spd_default_value(20, 1  );
 +      set_spd_default_value(21, 0  ); /* SDRAM module attributes */
 +      /* SDRAM device attributes, general */
 +      set_spd_default_value(22, 14 );
 +      /* SDRAM cycle time for 2nd highest CL (Tclk) */
 +      set_spd_default_value(23, 117);
 +      /* SDRAM access time from clock for2nd highest CL (Tac) */
 +      set_spd_default_value(24, 84 );
 +      /* SDRAM cycle time for 3rd highest CL (Tclk) */
 +      set_spd_default_value(25, 0  );
 +      /* SDRAM access time from clock for3rd highest CL (Tac) */
 +      set_spd_default_value(26, 0  );
 +      set_spd_default_value(27, 15 ); /* Minimum row precharge time (Trp) */
 +      /* Minimum row active to row active delay (Trrd) */
 +      set_spd_default_value(28, 14 );
 +      set_spd_default_value(29, 15 ); /* Minimum CAS to RAS delay (Trcd) */
 +      set_spd_default_value(30, 37 ); /* Minimum RAS pulse width (Tras) */
 +      set_spd_default_value(31, 8  ); /* Module bank density */
 +      /* Command and Address signal input setup time */
 +      set_spd_default_value(32, 21 );
 +      /* Command and Address signal input hold time */
 +      set_spd_default_value(33, 8  );
 +      set_spd_default_value(34, 21 ); /* Data signal input setup time */
 +      set_spd_default_value(35, 8  ); /* Data signal input hold time */
 +#endif  /* DO_UGLY_SDRAM_WORKAROUND */
 +      dram_size = spd_sdram(0);
 +#endif
 +
 +#ifdef DEBUG
 +      show_sdram_registers();
 +#endif
 +
 +#if defined(CFG_DRAM_TEST)
 +      bcu4_testdram(dram_size);
 +      printf("%s %d MB of SDRAM\n", __FUNCTION__, dram_size/(1024*1024));
 +#endif
 +
 +      return dram_size;
 +}
Simple merge
Simple merge
index de5fde9e29f1ebda03456805b8418a1bf5bc1c81,899cdbd1f4414c007b92450c0d732414987a12cf..f5365cb76a66937c1e3f7ac808d8aae890132d5f
mode 100755,100644..100644
index 0000000000000000000000000000000000000000,2837b37c58e530f6e6002ba5915970d0deaeaf54..272ed8c15e4f75ca3109f846434f3c6b6c9c9abd
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,50 +1,50 @@@
 -int usb_cpu_init()
+ /*
+  * (C) Copyright 2007
+  * Markus Klotzbuecher, DENX Software Engineering <mk@denx.de>
+  *
+  * See file CREDITS for list of people who contributed to this
+  * project.
+  *
+  * This program is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU General Public License as
+  * published by the Free Software Foundation; either version 2 of
+  * the License, or (at your option) any later version.
+  *
+  * This program is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  * You should have received a copy of the GNU General Public License
+  * along with this program; if not, write to the Free Software
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+  * MA 02111-1307 USA
+  */
+ #include <common.h>
+ #if defined(CONFIG_USB_OHCI_NEW) && defined(CFG_USB_OHCI_CPU_INIT)
+ #include "usbdev.h"
 -int usb_cpu_stop()
++int usb_cpu_init(void)
+ {
+ #if defined(CONFIG_440EP) || defined(CONFIG_440EPX)
+       usb_dev_init();
+ #endif
+       return 0;
+ }
 -int usb_cpu_init_fail()
++int usb_cpu_stop(void)
+ {
+       return 0;
+ }
++int usb_cpu_init_fail(void)
+ {
+       return 0;
+ }
+ #endif /* defined(CONFIG_USB_OHCI) && defined(CFG_USB_OHCI_CPU_INIT) */
Simple merge
index 9e45e903d2df28b13dd366feb2c4a08bde41455d,0000000000000000000000000000000000000000..577f459e29e9a0787a9644ed11dfec28d7fa426d
mode 100644,000000..100644
--- /dev/null
@@@ -1,341 -1,0 +1,348 @@@
- #define CONFIG_COMMANDS              (CONFIG_CMD_DFL  | \
-                               CFG_CMD_ASKENV  |       \
-                               CFG_CMD_BSP     | \
-                               CFG_CMD_CACHE   | \
-                               CFG_CMD_DHCP    | \
-                               CFG_CMD_DIAG    | \
-                               CFG_CMD_EEPROM  | \
-                               CFG_CMD_ELF     | \
-                               CFG_CMD_FLASH   | \
-                               CFG_CMD_I2C     | \
-                               CFG_CMD_IMMAP   | \
-                               CFG_CMD_IRQ     | \
-                               CFG_CMD_MII     | \
-                               CFG_CMD_NET     | \
-                               CFG_CMD_PING    | \
-                               CFG_CMD_REGINFO | \
-                               CFG_CMD_SDRAM    \
-                               )
- /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
- #include <cmd_confdefs.h>
 +/*
 + *(C) Copyright 2005-2007 Netstal Maschinen AG
 + *    Niklaus Giger (Niklaus.Giger@netstal.com)
 + *
 + * See file CREDITS for list of people who contributed to this
 + * project.
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of
 + * the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 + * MA 02111-1307 USA
 + */
 +
 +/************************************************************************
 + * hcu4.h - configuration for HCU4 board (similar to hcu5.h)
 + ***********************************************************************/
 +
 +#ifndef __CONFIG_H
 +#define __CONFIG_H
 +
 +/*-----------------------------------------------------------------------
 + * High Level Configuration Options
 + *----------------------------------------------------------------------*/
 +#define CONFIG_HCU4           1               /* Board is HCU4        */
 +#define CONFIG_4xx            1               /* ... PPC4xx family    */
 +#define CONFIG_405GPr 1 /* HCU4 has a 405GPr */
 +#define CONFIG_405GP 1
 +#define CONFIG_4xx   1
 +
 +#define CONFIG_SYS_CLK_FREQ   33333333        /* external freq to pll */
 +
 +#define CONFIG_BOARD_EARLY_INIT_F 1           /* Call board_early_init_f */
 +#define CONFIG_MISC_INIT_R    1               /* Call misc_init_r     */
 +
 +/*-----------------------------------------------------------------------
 + * Base addresses -- Note these are effective addresses where the
 + * actual resources get mapped (not physical addresses)
 +*----------------------------------------------------------------------*/
 +#define CFG_MONITOR_LEN               (384 * 1024)    /* Reserve 384 kB for Monitor   */
 +#define CFG_MALLOC_LEN                (256 * 1024)    /* Reserve 256 kB for malloc()  */
 +
 +
 +#define CFG_SDRAM_BASE                0x00000000      /* _must_ be 0          */
 +#define CFG_FLASH_BASE                0xfff80000      /* start of FLASH       */
 +#define CFG_MONITOR_BASE      TEXT_BASE
 +
 +/* ... with on-chip memory here (4KBytes) */
 +#define CFG_OCM_DATA_ADDR 0xF4000000
 +#define CFG_OCM_DATA_SIZE 0x00001000
 +/* Do not set up locked dcache as init ram. */
 +#undef CFG_INIT_DCACHE_CS
 +
 +/* Use the On-Chip-Memory (OCM) as a temporary stack for the startup code. */
 +#define CFG_TEMP_STACK_OCM 1
 +
 +#define CFG_INIT_RAM_ADDR     CFG_OCM_DATA_ADDR       /* OCM          */
 +#define CFG_INIT_RAM_END      CFG_OCM_DATA_SIZE
 +#define CFG_GBL_DATA_SIZE     256             /* num bytes initial data */
 +#define CFG_GBL_DATA_OFFSET   (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
 +#define CFG_INIT_SP_OFFSET    CFG_GBL_DATA_OFFSET
 +
 +/*-----------------------------------------------------------------------
 + * Serial Port
 + *----------------------------------------------------------------------*/
 +/*
 + * If CFG_EXT_SERIAL_CLOCK, then the UART divisor is 1.
 + * If CFG_405_UART_ERRATA_59, then UART divisor is 31.
 + * Otherwise, UART divisor is determined by CPU Clock and CFG_BASE_BAUD value.
 + * The Linux BASE_BAUD define should match this configuration.
 + *    baseBaud = cpuClock/(uartDivisor*16)
 + * If CFG_405_UART_ERRATA_59 and 200MHz CPU clock,
 + * set Linux BASE_BAUD to 403200.
 + */
 +#undef CFG_EXT_SERIAL_CLOCK          /* external serial clock */
 +#undef CONFIG_SERIAL_MULTI            /* needed to be able to define
 +                                        CONFIG_SERIAL_SOFTWARE_FIFO */
 +#undef        CFG_405_UART_ERRATA_59         /* 405GP/CR Rev. D silicon */
 +#define CFG_BASE_BAUD     691200
 +
 +/* Size (bytes) of interrupt driven serial port buffer.
 + * Set to 0 to use polling instead of interrupts.
 + * Setting to 0 will also disable RTS/CTS handshaking.
 + */
 +#undef CONFIG_SERIAL_SOFTWARE_FIFO
 +
 +/* Set console baudrate to 9600 */
 +#define CONFIG_BAUDRATE               9600
 +
 +
 +#define CFG_BAUDRATE_TABLE                                            \
 +      {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
 +
 +/*-----------------------------------------------------------------------
 + * Environment
 + *----------------------------------------------------------------------*/
 +
 +#undef        CFG_ENV_IS_IN_NVRAM
 +#undef  CFG_ENV_IS_IN_FLASH
 +#define       CFG_ENV_IS_IN_EEPROM
 +#undef  CFG_ENV_IS_NOWHERE
 +
 +#ifdef  CFG_ENV_IS_IN_EEPROM
 +/* Put the environment after the SDRAM configuration */
 +#define PROM_SIZE     2048
 +#define CFG_ENV_OFFSET         512
 +#define CFG_ENV_SIZE  (PROM_SIZE-CFG_ENV_OFFSET)
 +#endif
 +
 +#ifdef CFG_ENV_IS_IN_FLASH
 +/* Put the environment in Flash */
 +#define CFG_ENV_SECT_SIZE     0x10000         /* size of one complete sector  */
 +#define CFG_ENV_ADDR          ((-CFG_MONITOR_LEN)-CFG_ENV_SECT_SIZE)
 +#define       CFG_ENV_SIZE            0x10000 /* Total Size of Environment Sector     */
 +
 +/* Address and size of Redundant Environment Sector   */
 +#define CFG_ENV_ADDR_REDUND   (CFG_ENV_ADDR-CFG_ENV_SECT_SIZE)
 +#define CFG_ENV_SIZE_REDUND   (CFG_ENV_SIZE)
 +#endif
 +
 +/*-----------------------------------------------------------------------
 + * I2C stuff for a ATMEL AT24C16 (2kB holding ENV, we are using the
 + * the first internal I2C controller of the PPC440EPx
 + *----------------------------------------------------------------------*/
 +#define CFG_SPD_BUS_NUM               0
 +
 +#define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
 +#undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
 +#define CFG_I2C_SPEED         400000  /* I2C speed and slave address  */
 +#define CFG_I2C_SLAVE         0x7F
 +
 +/* This is the 7bit address of the device, not including P. */
 +#define CFG_I2C_EEPROM_ADDR 0x50
 +#define CFG_I2C_EEPROM_ADDR_LEN 1
 +
 +/* The EEPROM can do 16byte ( 1 << 4 ) page writes. */
 +#define CFG_I2C_EEPROM_ADDR_OVERFLOW  0x07
 +#define CFG_EEPROM_PAGE_WRITE_BITS 4
 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10
 +#define CFG_EEPROM_PAGE_WRITE_ENABLE
 +#undef CFG_I2C_MULTI_EEPROMS
 +
 +
 +#define CONFIG_PREBOOT        "echo;"                                         \
 +      "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \
 +      "echo"
 +
 +#undef        CONFIG_BOOTARGS
 +
 +/* Setup some board specific values for the default environment variables */
 +#define CONFIG_HOSTNAME               hcu4
 +#define CONFIG_IPADDR         172.25.1.42
 +#define CONFIG_ETHADDR      00:60:13:00:00:00   /* Netstal Machines AG MAC */
 +#define CONFIG_OVERWRITE_ETHADDR_ONCE
 +#define CONFIG_SERVERIP               172.25.1.3
 +
 +#define CFG_TFTP_LOADADDR 0x01000000 /* @16 MB */
 +
 +#define       CONFIG_EXTRA_ENV_SETTINGS                                       \
 +      "netdev=eth0\0"                                                 \
 +      "loadaddr=0x01000000\0"                                         \
 +      "nfsargs=setenv bootargs root=/dev/nfs rw "                     \
 +              "nfsroot=${serverip}:${rootpath}\0"                     \
 +      "ramargs=setenv bootargs root=/dev/ram rw\0"                    \
 +      "addip=setenv bootargs ${bootargs} "                            \
 +              "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
 +              ":${hostname}:${netdev}:off panic=1\0"                  \
 +      "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
 +      "nfs=tftp 200000 ${bootfile};run nfsargs addip addtty;"         \
 +              "bootm\0"                                               \
 +      "rootpath=/home/diagnose/eldk/ppc_4xx\0"                        \
 +      "bootfile=/tftpboot/hcu4/uImage\0"                              \
 +      "load=tftp 100000 hcu4/u-boot.bin\0"                    \
 +      "update=protect off FFFa0000 FFFFFFFF;era FFFa0000 FFFFFFFF;"   \
 +              "cp.b 100000 FFFa0000 60000\0"                          \
 +      "upd=run load;run update\0"                                     \
 +      "vx=tftp ${loadaddr} hcu4_vx_rom;"                              \
 +      "setenv bootargs emac(0,0)hcu4_vx_rom e=${ipaddr} "             \
 +      " h=${serverip} u=dpu pw=netstal8752 tn=hcu4 f=0x3008;"         \
 +      "bootvx ${loadaddr}\0"                                          \
 +      ""
 +#define CONFIG_BOOTCOMMAND    "run vx"
 +
 +#if 0
 +#define CONFIG_BOOTDELAY      -1      /* autoboot disabled            */
 +#else
 +#define CONFIG_BOOTDELAY      5       /* autoboot after 5 seconds     */
 +#endif
 +
 +#define CONFIG_LOADS_ECHO     1       /* echo on for serial download  */
 +#define CFG_LOADS_BAUD_CHANGE 1       /* allow baudrate change        */
 +
 +#define CONFIG_MII            1       /* MII PHY management           */
 +#define CONFIG_PHY_ADDR               1       /* PHY address                  */
 +
 +#define CONFIG_PHY_RESET        1     /* reset phy upon startup         */
 +
 +#define CONFIG_HAS_ETH0
 +#define CFG_RX_ETH_BUFFER     16      /* Number of ethernet rx buffers & descriptors */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++
++/*
++ * BOOTP options
++ */
++#define CONFIG_BOOTP_BOOTFILESIZE
++#define CONFIG_BOOTP_BOOTPATH
++#define CONFIG_BOOTP_GATEWAY
++#define CONFIG_BOOTP_HOSTNAME
++
++/*
++ * Command line configuration.
++ */
++#include <config_cmd_default.h>
++
++#define CONFIG_CMD_ASKENV
++#define CONFIG_CMD_BSP
++#define CONFIG_CMD_CACHE
++#define CONFIG_CMD_DHCP
++#define CONFIG_CMD_DIAG
++#define CONFIG_CMD_EEPROM
++#define CONFIG_CMD_ELF
++#define CONFIG_CMD_FLASH
++#define CONFIG_CMD_I2C
++#define CONFIG_CMD_IMMAP
++#define CONFIG_CMD_IRQ
++#define CONFIG_CMD_MII
++#define CONFIG_CMD_NET
++#define CONFIG_CMD_PING
++#define CONFIG_CMD_REGINFO
++#define CONFIG_CMD_SDRAM
 +
 +/* SPD EEPROM (sdram speed config) disabled */
 +#define CONFIG_SPD_EEPROM          1
 +#define SPD_EEPROM_ADDRESS      0x50
 +
 +/*-----------------------------------------------------------------------
 + * Miscellaneous configurable options
 + *----------------------------------------------------------------------*/
 +#define CFG_LONGHELP                  /* undef to save memory         */
 +#define CFG_PROMPT    "=> "           /* Monitor Command Prompt       */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#if defined(CONFIG_CMD_KGDB)
 +      #define CFG_CBSIZE      1024            /* Console I/O Buffer Size      */
 +#else
 +      #define CFG_CBSIZE      256             /* Console I/O Buffer Size      */
 +#endif
 +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
 +#define CFG_MAXARGS   16              /* max number of command args   */
 +#define CFG_BARGSIZE  CFG_CBSIZE      /* Boot Argument Buffer Size    */
 +
 +#define CFG_MEMTEST_START     0x0400000       /* memtest works on     */
 +#define CFG_MEMTEST_END               0x0C00000       /* 4 ... 12 MB in DRAM  */
 +
 +
 +#define CFG_LOAD_ADDR         0x100000        /* default load address */
 +#define CFG_EXTBDINFO         1       /* To use extended board_into (bd_t) */
 +
 +#define CFG_HZ                1000            /* decrementer freq: 1 ms ticks */
 +
 +#define CONFIG_CMDLINE_EDITING        1       /* add command line history     */
 +#define CONFIG_LOOPW            1       /* enable loopw command         */
 +#define CONFIG_ZERO_BOOTDELAY_CHECK   /* check for keypress on bootdelay==0 */
 +#define CONFIG_VERSION_VARIABLE 1     /* include version env variable */
 +
 +/*-----------------------------------------------------------------------
 + * External Bus Controller (EBC) Setup
 + */
 +
 +/* Memory Bank 0 (Flash Bank 0) initialization                                        */
 +#define CFG_EBC_PB0AP         0x02005400
 +#define CFG_EBC_PB0CR         0xFFF18000  /* BAS=0xFFF,BS=1MB,BU=R/W,BW=8bit  */
 +
 +#define CFG_EBC_PB1AP         0x03041200
 +#define CFG_EBC_PB1CR         0x7009A000  /* BAS=,BS=MB,BU=R/W,BW=bit */
 +
 +#define CFG_EBC_PB2AP         0x02054500
 +#define CFG_EBC_PB2CR         0x78018000  /* BAS=,BS=MB,BU=R/W,BW=bit */
 +
 +#define CFG_EBC_PB3AP         0x01840300
 +#define CFG_EBC_PB3CR         0x7c0ba000  /* BAS=,BS=MB,BU=R/W,BW=bit */
 +
 +#define CFG_EBC_PB4AP         0x01800300
 +#define CFG_EBC_PB4CR         0x7e0ba000  /* BAS=,BS=MB,BU=R/W,BW=bit */
 +
 +#define CFG_GPIO0_TCR         0x7ffe0000  /* GPIO value */
 +
 +/*
 + * For booting Linux, the board info and command line data
 + * have to be in the first 8 MB of memory, since this is
 + * the maximum mapped by the Linux kernel during initialization.
 + */
 +#define CFG_BOOTMAPSZ         (8 << 20)       /* Initial Memory map for Linux */
 +
 +/*-----------------------------------------------------------------------
 + * FLASH organization
 + */
 +#define CFG_MAX_FLASH_BANKS   1       /* max number of memory banks           */
 +#define CFG_MAX_FLASH_SECT    256     /* max number of sectors on one chip    */
 +
 +
 +#define CFG_FLASH_ERASE_TOUT  120000  /* Timeout for Flash Erase (in ms)      */
 +#define CFG_FLASH_WRITE_TOUT  500     /* Timeout for Flash Write (in ms)      */
 +
 +/* Init Memory Controller:
 + *
 + * BR0/1 and OR0/1 (FLASH)
 + */
 +
 +#define FLASH_BASE0_PRELIM    CFG_FLASH_BASE  /* FLASH bank #0        */
 +#define FLASH_BASE1_PRELIM    0               /* FLASH bank #1        */
 +
 +
 +/* Configuration Port location */
 +#define CONFIG_PORT_ADDR      0xF0000500
 +
 +
 +/*-----------------------------------------------------------------------
 + * Cache Configuration
 + *----------------------------------------------------------------------*/
 +#define CFG_DCACHE_SIZE               16384   /* For IBM 405GPr CPUs  */
 +#define CFG_CACHELINE_SIZE    32      /* ...                  */
- #endif
 +#define CFG_CACHELINE_SHIFT   5             /* log base 2 of the above value  */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 +
 +/*
 + * Internal Definitions
 + *
 + * Boot Flags
 + */
 +#define BOOTFLAG_COLD 0x01            /* Normal Power-On: Boot from FLASH     */
 +#define BOOTFLAG_WARM 0x02            /* Software reboot                      */
 +
 +#define CFG_HUSH_PARSER                 /* use "hush" command parser    */
 +#ifdef  CFG_HUSH_PARSER
 +#define CFG_PROMPT_HUSH_PS2   "> "
 +#endif
 +
++#if defined(CONFIG_CMD_KGDB)
 +#define CONFIG_KGDB_BAUDRATE  230400  /* speed to run kgdb serial port */
 +#define CONFIG_KGDB_SER_INDEX 2           /* which serial port to use */
 +#endif
 +#endif        /* __CONFIG_H */
index fa6ca37534f099733f785b9b1b64b0fd14f775fc,0000000000000000000000000000000000000000..d0bf2516edc1423206034bd36a638d32e0893928
mode 100644,000000..100644
--- /dev/null
@@@ -1,388 -1,0 +1,393 @@@
- #define CMD_USB                       CFG_CMD_USB
 +/*
 + * (C) Copyright 2007 Netstal Maschinen AG
 + * Niklaus Giger (Niklaus.Giger@netstal.com)
 + *
 + * (C) Copyright 2006-2007
 + * Stefan Roese, DENX Software Engineering, sr@denx.de.
 + *
 + * (C) Copyright 2006
 + * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com
 + * Alain Saurel,            AMCC/IBM, alain.saurel@fr.ibm.com
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of
 + * the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 + * MA 02111-1307 USA
 + */
 +
 +/************************************************************************
 + * hcu5.h - configuration for HCU5 board (derived from sequoia.h)
 + ***********************************************************************/
 +
 +#ifndef __CONFIG_H
 +#define __CONFIG_H
 +
 +/*-----------------------------------------------------------------------
 + * High Level Configuration Options
 + *----------------------------------------------------------------------*/
 +#define CONFIG_HCU5           1               /* Board is HCU5        */
 +#define CONFIG_440EPX         1               /* Specific PPC440EPx   */
 +#define CONFIG_440            1               /* ... PPC440 family    */
 +#define CONFIG_4xx            1               /* ... PPC4xx family    */
 +#define CONFIG_SYS_CLK_FREQ   33333333        /* external freq to pll */
 +
 +#define CONFIG_BOARD_EARLY_INIT_F 1           /* Call board_early_init_f */
 +#define CONFIG_MISC_INIT_R    1               /* Call misc_init_r     */
 +#define CONFIG_ADD_RAM_INFO   1       /* Print additional info        */
 +
 +/*-----------------------------------------------------------------------
 + * Base addresses -- Note these are effective addresses where the
 + * actual resources get mapped (not physical addresses)
 + *----------------------------------------------------------------------*/
 +#define CFG_MONITOR_LEN               (384 * 1024)    /* Reserve 384 kB for Monitor   */
 +#define CFG_MALLOC_LEN                (256 * 1024)    /* Reserve 256 kB for malloc()  */
 +
 +#define CFG_BOOT_BASE_ADDR    0xfff00000
 +#define CFG_SDRAM_BASE                0x00000000      /* _must_ be 0          */
 +#define CFG_FLASH_BASE                0xfff80000      /* start of FLASH       */
 +#define CFG_MONITOR_BASE      TEXT_BASE
 +#define CFG_OCM_BASE          0xe0010000      /* ocm                  */
 +#define CFG_PCI_BASE          0xe0000000      /* Internal PCI regs    */
 +#define CFG_PCI_MEMBASE               0x80000000      /* mapped pci memory    */
 +#define CFG_PCI_MEMBASE1      CFG_PCI_MEMBASE  + 0x10000000
 +#define CFG_PCI_MEMBASE2      CFG_PCI_MEMBASE1 + 0x10000000
 +#define CFG_PCI_MEMBASE3      CFG_PCI_MEMBASE2 + 0x10000000
 +
 +/* Don't change either of these */
 +#define CFG_PERIPHERAL_BASE   0xef600000      /* internal peripherals */
 +
 +#define CFG_USB2D0_BASE               0xe0000100
 +#define CFG_USB_DEVICE                0xe0000000
 +#define CFG_USB_HOST          0xe0000400
 +
 +/*-----------------------------------------------------------------------
 + * Initial RAM & stack pointer
 + *----------------------------------------------------------------------*/
 +/* 440EPx/440GRx have 16KB of internal SRAM, so no need for D-Cache   */
 +#define CFG_INIT_RAM_OCM      1               /* OCM as init ram      */
 +#define CFG_INIT_RAM_ADDR     CFG_OCM_BASE    /* OCM                  */
 +
 +#define CFG_INIT_RAM_END      (4 << 10)
 +#define CFG_GBL_DATA_SIZE     256             /* num bytes initial data */
 +#define CFG_GBL_DATA_OFFSET   (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
 +#define CFG_INIT_SP_OFFSET    CFG_GBL_DATA_OFFSET
 +
 +/*-----------------------------------------------------------------------
 + * Serial Port
 + *----------------------------------------------------------------------*/
 +#undef CFG_EXT_SERIAL_CLOCK          /* external serial clock */
 +#define CONFIG_BAUDRATE               9600
 +#undef CONFIG_SERIAL_MULTI            /* needed to be able to define
 +      CONFIG_SERIAL_SOFTWARE_FIFO, but
 +      CONFIG_SERIAL_SOFTWARE_FIFO (16) does not work */
 +/* Size (bytes) of interrupt driven serial port buffer.
 + * Set to 0 to use polling instead of interrupts.
 + * Setting to 0 will also disable RTS/CTS handshaking.
 + */
 +#undef CONFIG_SERIAL_SOFTWARE_FIFO
 +#undef CONFIG_UART1_CONSOLE
 +
 +#define CFG_BAUDRATE_TABLE                                            \
 +      {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
 +
 +/*-----------------------------------------------------------------------
 + * Environment
 + *----------------------------------------------------------------------*/
 +
 +#undef        CFG_ENV_IS_IN_NVRAM
 +#undef  CFG_ENV_IS_IN_FLASH
 +#define       CFG_ENV_IS_IN_EEPROM
 +#undef  CFG_ENV_IS_NOWHERE
 +
 +#ifdef  CFG_ENV_IS_IN_EEPROM
 +/* Put the environment after the SDRAM and bootstrap configuration */
 +#define PROM_SIZE     2048
 +#define CFG_BOOSTRAP_OPTION_OFFSET     512
 +#define CFG_ENV_OFFSET         (CFG_BOOSTRAP_OPTION_OFFSET + 0x10)
 +#define CFG_ENV_SIZE  (PROM_SIZE-CFG_ENV_OFFSET)
 +#endif
 +
 +#ifdef CFG_ENV_IS_IN_FLASH
 +/* Put the environment in Flash */
 +#define CFG_ENV_SECT_SIZE     0x10000         /* size of one complete sector  */
 +#define CFG_ENV_ADDR          ((-CFG_MONITOR_LEN)-CFG_ENV_SECT_SIZE)
 +#define       CFG_ENV_SIZE            0x10000 /* Total Size of Environment Sector     */
 +
 +/* Address and size of Redundant Environment Sector   */
 +#define CFG_ENV_ADDR_REDUND   (CFG_ENV_ADDR-CFG_ENV_SECT_SIZE)
 +#define CFG_ENV_SIZE_REDUND   (CFG_ENV_SIZE)
 +#endif
 +
 +/*-----------------------------------------------------------------------
 + * DDR SDRAM
 + *----------------------------------------------------------------------*/
 +#define CFG_MBYTES_SDRAM        (128)         /* 128 MB or 256 MB             */
 +#define CFG_DDR_CACHED_ADDR   0x40000000      /* setup 2nd TLB cached here    */
 +#undef  CONFIG_DDR_DATA_EYE                   /* Do not use DDR2 optimization */
 +#define CONFIG_DDR_ECC                1               /* enable ECC                   */
 +
 +/*-----------------------------------------------------------------------
 + * I2C stuff for a ATMEL AT24C16 (2kB holding ENV, we are using the
 + * the second internal I2C controller of the PPC440EPx
 + *----------------------------------------------------------------------*/
 +#define CFG_SPD_BUS_NUM               1
 +
 +#define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
 +#undef        CONFIG_SOFT_I2C                 /* I2C bit-banged               */
 +#define CFG_I2C_SPEED         400000  /* I2C speed and slave address  */
 +#define CFG_I2C_SLAVE         0x7F
 +
 +/* This is the 7bit address of the device, not including P. */
 +#define CFG_I2C_EEPROM_ADDR 0x50
 +#define CFG_I2C_EEPROM_ADDR_LEN 1
 +
 +/* The EEPROM can do 16byte ( 1 << 4 ) page writes. */
 +#define CFG_I2C_EEPROM_ADDR_OVERFLOW  0x07
 +#define CFG_EEPROM_PAGE_WRITE_BITS 4
 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10
 +#define CFG_EEPROM_PAGE_WRITE_ENABLE
 +#undef CFG_I2C_MULTI_EEPROMS
 +
 +
 +#define CONFIG_PREBOOT        "echo;"                                         \
 +      "echo Type \"run nfs\" to mount Linux root filesystem over NFS;"\
 +      "echo"
 +
 +#undef        CONFIG_BOOTARGS
 +
 +/* Setup some board specific values for the default environment variables */
 +#define CONFIG_HOSTNAME               hcu5
 +#define CONFIG_IPADDR         172.25.1.42
 +#define CONFIG_ETHADDR        00:60:13:00:00:00   /* Netstal Machines AG MAC */
 +#define CONFIG_OVERWRITE_ETHADDR_ONCE
 +#define CONFIG_SERVERIP               172.25.1.3
 +
 +#define CFG_TFTP_LOADADDR 0x01000000 /* @16 MB */
 +
 +#define       CONFIG_EXTRA_ENV_SETTINGS                                       \
 +      "netdev=eth0\0"                                                 \
 +      "loadaddr=0x01000000\0"                                         \
 +      "nfsargs=setenv bootargs root=/dev/nfs rw "                     \
 +              "nfsroot=${serverip}:${rootpath}\0"                     \
 +      "ramargs=setenv bootargs root=/dev/ram rw\0"                    \
 +      "addip=setenv bootargs ${bootargs} "                            \
 +              "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
 +              ":${hostname}:${netdev}:off panic=1\0"                  \
 +      "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
 +      "nfs=tftp 200000 ${bootfile};run nfsargs addip addtty;"         \
 +              "bootm\0"                                               \
 +              "bootfile=hcu5/uImage\0"                                \
 +              "rootpath=/home/hcu/eldk/ppc_4xxFP\0"                   \
 +              "load=tftp 100000 hcu5/u-boot.bin\0"                    \
 +      "update=protect off FFFa0000 FFFFFFFF;era FFFa0000 FFFFFFFF;"   \
 +              "cp.b 100000 FFFa0000 60000\0"                          \
 +      "upd=run load;run update\0"                                     \
 +      "vx=tftp ${loadaddr} hcu5/hcu5_vx_rom;"                         \
 +      "setenv bootargs emac(0,0)hcu5_vx_rom e=${ipaddr} "             \
 +              " h=${serverip} u=dpu pw=netstal8752 tn=hcu5 f=0x3008;" \
 +      "bootvx ${loadaddr}\0" \
 +      ""
 +#define CONFIG_BOOTCOMMAND    "run vx"
 +
 +#if 0
 +#define CONFIG_BOOTDELAY      -1      /* autoboot disabled            */
 +#else
 +#define CONFIG_BOOTDELAY      5       /* autoboot after 5 seconds     */
 +#endif
 +
 +#define CONFIG_LOADS_ECHO     1       /* echo on for serial download  */
 +#define CFG_LOADS_BAUD_CHANGE 1       /* allow baudrate change        */
 +
 +#define CONFIG_M88E1111_PHY   1
 +#define       CONFIG_IBM_EMAC4_V4     1
 +#define CONFIG_MII            1       /* MII PHY management           */
 +#define CONFIG_PHY_ADDR               0       /* PHY address, See schematics  */
 +
 +#define CONFIG_PHY_RESET        1     /* reset phy upon startup         */
 +
 +#define CONFIG_HAS_ETH0
 +#define CFG_RX_ETH_BUFFER     32      /* Number of ethernet rx buffers & descriptors */
 +
 +#define CONFIG_NET_MULTI      1
 +#define CONFIG_HAS_ETH1               1       /* add support for "eth1addr"   */
 +#define CONFIG_PHY1_ADDR      1
 +
 +/* USB */
 +#define CONFIG_USB_OHCI
 +#define CONFIG_USB_STORAGE
 +
 +/* Comment this out to enable USB 1.1 device */
 +#define USB_2_0_DEVICE
 +
- #define CONFIG_COMMANDS (CONFIG_CMD_DFL       |       \
-                       CFG_CMD_ASKENV  |       \
-                       CFG_CMD_BSP     |       \
-                       CFG_CMD_DHCP    |       \
-                       CFG_CMD_DIAG    |       \
-                       CFG_CMD_EEPROM  |       \
-                       CFG_CMD_ELF     |       \
-                       CFG_CMD_FAT     |       \
-                       CFG_CMD_I2C     |       \
-                       CFG_CMD_IMMAP   |       \
-                       CFG_CMD_IRQ     |       \
-                       CFG_CMD_MII     |       \
-                       CFG_CMD_NET     |       \
-                       CFG_CMD_NFS     |       \
-                       CFG_CMD_PCI     |       \
-                       CFG_CMD_PING    |       \
-                       CFG_CMD_REGINFO |       \
-                       CFG_CMD_SDRAM   |       \
-                       CMD_USB)
 +/* Partitions */
 +#define CONFIG_MAC_PARTITION
 +#define CONFIG_DOS_PARTITION
 +#define CONFIG_ISO_PARTITION
 +
- #define CONFIG_SUPPORT_VFAT
++/*
++ * BOOTP options
++ */
++#define CONFIG_BOOTP_BOOTFILESIZE
++#define CONFIG_BOOTP_BOOTPATH
++#define CONFIG_BOOTP_GATEWAY
++#define CONFIG_BOOTP_HOSTNAME
 +
- /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
- #include <cmd_confdefs.h>
++/*
++ * Command line configuration.
++ */
++#include <config_cmd_default.h>
++
++#define CONFIG_CMD_ASKENV
++#define CONFIG_CMD_BSP
++#define CONFIG_CMD_DHCP
++#define CONFIG_CMD_DIAG
++#define CONFIG_CMD_EEPROM
++#define CONFIG_CMD_ELF
++#define CONFIG_CMD_FLASH
++#define CONFIG_CMD_FAT
++#define CONFIG_CMD_I2C
++#define CONFIG_CMD_IMMAP
++#define CONFIG_CMD_IRQ
++#define CONFIG_CMD_MII
++#define CONFIG_CMD_NET
++#define CONFIG_CMD_NFS
++#define CONFIG_CMD_PING
++#define CONFIG_CMD_REGINFO
++#define CONFIG_CMD_SDRAM
++#define CONFIG_CMD_USB
 +
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#define CONFIG_SUPPORT_VFAT
 +
 +/*-----------------------------------------------------------------------
 + * Miscellaneous configurable options
 + *----------------------------------------------------------------------*/
 +#define CFG_LONGHELP                  /* undef to save memory         */
 +#define CFG_PROMPT            "=> "   /* Monitor Command Prompt       */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#if defined(CONFIG_CMD_KGDB)
 +#define CFG_CBSIZE            1024    /* Console I/O Buffer Size      */
 +#else
 +#define CFG_CBSIZE            256     /* Console I/O Buffer Size      */
 +#endif
 +#define CFG_PBSIZE              (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
 +#define CFG_MAXARGS           16      /* max number of command args   */
 +#define CFG_BARGSIZE          CFG_CBSIZE /* Boot Argument Buffer Size */
 +
 +#define CFG_MEMTEST_START     0x0400000 /* memtest works on           */
 +#define CFG_MEMTEST_END               0x0C00000 /* 4 ... 12 MB in DRAM        */
 +
 +#define CFG_LOAD_ADDR         0x100000  /* default load address       */
 +#define CFG_EXTBDINFO         1       /* To use extended board_into (bd_t) */
 +
 +#define CFG_HZ                        1000    /* decrementer freq: 1 ms ticks */
 +
 +#define CONFIG_CMDLINE_EDITING        1       /* add command line history     */
 +#define CONFIG_LOOPW            1       /* enable loopw command         */
 +#define CONFIG_MX_CYCLIC        1       /* enable mdc/mwc commands      */
 +#define CONFIG_ZERO_BOOTDELAY_CHECK   /* check for keypress on bootdelay==0 */
 +#define CONFIG_VERSION_VARIABLE 1     /* include version env variable */
 +
 +/*-----------------------------------------------------------------------
 + * PCI stuff
 + *----------------------------------------------------------------------*/
 +/* General PCI */
 +#define CONFIG_PCI                    /* include pci support          */
 +#undef CONFIG_PCI_PNP                 /* do (not) pci plug-and-play   */
 +#define CONFIG_PCI_SCAN_SHOW          /* show pci devices on startup  */
 +#define CFG_PCI_TARGBASE        0x80000000 /* PCIaddr mapped to CFG_PCI_MEMBASE*/
 +
 +/* Board-specific PCI */
 +#define CFG_PCI_TARGET_INIT
 +#define CFG_PCI_MASTER_INIT
 +
 +#define CFG_PCI_SUBSYS_VENDORID 0x10e8        /* AMCC                         */
 +#define CFG_PCI_SUBSYS_ID       0xcafe        /* Whatever                     */
 +
 +/*
 + * For booting Linux, the board info and command line data
 + * have to be in the first 8 MB of memory, since this is
 + * the maximum mapped by the Linux kernel during initialization.
 + */
 +#define CFG_BOOTMAPSZ         (8 << 20)       /* Initial Memory map for Linux */
 +
 +/*-----------------------------------------------------------------------
 + * External Bus Controller (EBC) Setup
 + *----------------------------------------------------------------------*/
 +#define CFG_FLASH             CFG_FLASH_BASE
 +#define CFG_CS_1              0xC8000000 /* CAN */
 +#define CFG_CS_2              0xCC000000 /* CPLD and IMC-Bus Standard */
 +#define CFG_CPLD              CFG_CS_2
 +#define CFG_CS_3              0xCD000000 /* CPLD and IMC-Bus Fast  */
 +
 +/*-----------------------------------------------------------------------
 + * FLASH organization
 + * Memory Bank 0 (BOOT-FLASH) initialization
 + */
 +#define CFG_BOOTFLASH_CS              0       /* Boot Flash chip connected to CSx     */
 +#define CFG_EBC_PB0AP         0x02005400
 +#define CFG_EBC_PB0CR         0xFFF18000 /* (CFG_FLASH | 0xda000)  */
 +#define FLASH_BASE0_PRELIM    CFG_FLASH_BASE  /* FLASH bank #0        */
 +#define CFG_MAX_FLASH_BANKS   1       /* max number of memory banks           */
 +#define CFG_MAX_FLASH_SECT    32      /* max number of sectors on one chip    */
 +
 +
 +#define CFG_FLASH_ERASE_TOUT  120000  /* Timeout for Flash Erase (in ms)      */
 +#define CFG_FLASH_WRITE_TOUT  500     /* Timeout for Flash Write (in ms)      */
 +
 +/* Memory Bank 1 CAN-Chips initialization                                             */
 +#define CFG_EBC_PB1AP         0x02054500
 +#define CFG_EBC_PB1CR         0xC8018000
 +
 +/* Memory Bank 2 CPLD/IMC-Bus standard initialization                                         */
 +#define CFG_EBC_PB2AP         0x01840300
 +#define CFG_EBC_PB2CR         0xCC0BA000
 +
 +/* Memory Bank 3 IMC-Bus fast mode initialization                                             */
 +#define CFG_EBC_PB3AP         0x01800300
 +#define CFG_EBC_PB3CR         0xCE0BA000
 +
 +/* Memory Bank 4 (not used) initialization                                            */
 +#undef CFG_EBC_PB4AP
 +#undef CFG_EBC_PB4CR
 +
 +/* Memory Bank 5 (not used) initialization                                            */
 +#undef CFG_EBC_PB5AP
 +#undef CFG_EBC_PB5CR
 +
 +#define HCU_CPLD_VERSION_REGISTER ( CFG_CPLD + 0x0F00000 )
 +#define HCU_HW_VERSION_REGISTER   ( CFG_CPLD + 0x1400000 )
 +
 +/*-----------------------------------------------------------------------
 + * Cache Configuration
 + *----------------------------------------------------------------------*/
 +#define CFG_DCACHE_SIZE               (32<<10)  /* For AMCC 440 CPUs                  */
 +#define CFG_CACHELINE_SIZE    32            /* ...                                */
- #endif
 +#define CFG_CACHELINE_SHIFT   5             /* log base 2 of the above value  */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 +
 +/*
 + * Internal Definitions
 + *
 + * Boot Flags
 + */
 +#define BOOTFLAG_COLD 0x01            /* Normal Power-On: Boot from FLASH     */
 +#define BOOTFLAG_WARM 0x02            /* Software reboot                      */
 +
 +#define CFG_HUSH_PARSER                 /* use "hush" command parser    */
 +#ifdef  CFG_HUSH_PARSER
 +      #define CFG_PROMPT_HUSH_PS2     "> "
 +#endif
 +
++#if defined(CONFIG_CMD_KGDB)
 +#define CONFIG_KGDB_BAUDRATE  230400  /* speed to run kgdb serial port */
 +#define CONFIG_KGDB_SER_INDEX 2           /* which serial port to use */
 +#endif
 +#endif        /* __CONFIG_H */
index e192d06923361f108e11e8257170635f6ad6f8f1,72aae09d03971a831e037b25441c8b45130f7c9c..26dbec92e97c3a61238213c261535dd1fc18f662
  #define CONFIG_HW_WATCHDOG                    /* watchdog */
  #endif
  
- #define CONFIG_COMMANDS              (CONFIG_CMD_DFL          |       \
-                               CFG_CMD_ASKENV          |       \
-                               CFG_CMD_DHCP            |       \
-                               CFG_CMD_ELF             |       \
-                               CFG_CMD_EEPROM          |       \
-                               CFG_CMD_I2C             |       \
-                               CFG_CMD_IRQ             |       \
-                               CFG_CMD_MII             |       \
-                               CFG_CMD_NET             |       \
-                               CFG_CMD_NFS             |       \
-                               CFG_CMD_PCI             |       \
-                               CFG_CMD_PING            |       \
-                               CFG_CMD_REGINFO         |       \
-                               CFG_CMD_SDRAM           |       \
-                               0)
--
- /* this must be included AFTER the definition of CONFIG_COMMANDS */
- #include <cmd_confdefs.h>
+ /*
+  * BOOTP options
+  */
+ #define CONFIG_BOOTP_BOOTFILESIZE
+ #define CONFIG_BOOTP_BOOTPATH
+ #define CONFIG_BOOTP_GATEWAY
+ #define CONFIG_BOOTP_HOSTNAME
 -
+ /*
+  * Command line configuration.
+  */
+ #include <config_cmd_default.h>
+ #define CONFIG_CMD_ASKENV
+ #define CONFIG_CMD_DHCP
 -#define CONFIG_CMD_ELF
+ #define CONFIG_CMD_EEPROM
+ #define CONFIG_CMD_I2C
+ #define CONFIG_CMD_IRQ
+ #define CONFIG_CMD_MII
+ #define CONFIG_CMD_NET
+ #define CONFIG_CMD_NFS
+ #define CONFIG_CMD_PCI
+ #define CONFIG_CMD_PING
+ #define CONFIG_CMD_REGINFO
+ #define CONFIG_CMD_SDRAM
  
 -
  /*
   * Miscellaneous configurable options
   */
index 52db71e89d7de90c1e5d379f09d00e7dec47c311,ef9ab22b60ad566602cfbdff7935db91cd1e961b..604b7d12f8321848650ecc93c217c4b0d79bb6fc
  #define CONFIG_DOS_PARTITION
  #define CONFIG_ISO_PARTITION
  
- #define CONFIG_COMMANDS       (CONFIG_CMD_DFL |       \
-                              CFG_CMD_ASKENV   |       \
-                              CFG_CMD_DATE     |       \
-                              CFG_CMD_DHCP     |       \
-                              CFG_CMD_DIAG     |       \
-                              CFG_CMD_EEPROM   |       \
-                              CFG_CMD_ELF      |       \
-                              CFG_CMD_FAT      |       \
-                              CFG_CMD_LOG      |       \
-                              CFG_CMD_I2C      |       \
-                              CFG_CMD_IRQ      |       \
-                              CFG_CMD_MII      |       \
-                              CFG_CMD_NET      |       \
-                              CFG_CMD_NFS      |       \
-                              CFG_CMD_PCI      |       \
-                              CFG_CMD_PING     |       \
-                              CFG_CMD_REGINFO  |       \
-                              CFG_CMD_SDRAM    |       \
-                              CMD_USB)
 -
+ /*
+  * BOOTP options
+  */
+ #define CONFIG_BOOTP_BOOTFILESIZE
+ #define CONFIG_BOOTP_BOOTPATH
+ #define CONFIG_BOOTP_GATEWAY
+ #define CONFIG_BOOTP_HOSTNAME
  
- #define CONFIG_SUPPORT_VFAT
 -
+ /*
+  * Command line configuration.
+  */
+ #include <config_cmd_default.h>
+ #define CONFIG_CMD_ASKENV
+ #define CONFIG_CMD_DATE
+ #define CONFIG_CMD_DHCP
+ #define CONFIG_CMD_DIAG
+ #define CONFIG_CMD_EEPROM
+ #define CONFIG_CMD_ELF
+ #define CONFIG_CMD_FAT
+ #define CONFIG_CMD_I2C
+ #define CONFIG_CMD_IRQ
++#define CONFIG_CMD_LOG
+ #define CONFIG_CMD_MII
+ #define CONFIG_CMD_NET
+ #define CONFIG_CMD_NFS
+ #define CONFIG_CMD_PCI
+ #define CONFIG_CMD_PING
+ #define CONFIG_CMD_REGINFO
+ #define CONFIG_CMD_SDRAM
  
- /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
- #include <cmd_confdefs.h>
+ #ifdef CONFIG_440EPX
+ #define CONFIG_CMD_USB
+ #endif
  
 -
  /*-----------------------------------------------------------------------
   * Miscellaneous configurable options
   *----------------------------------------------------------------------*/
index 61814a8096058e030fabfde2b33d7923c4caf46a,0000000000000000000000000000000000000000..d623e56009aecf292978b94ce2c55d9558790c54
mode 100644,000000..100644
--- /dev/null
@@@ -1,473 -1,0 +1,476 @@@
- #define CONFIG_COMMANDS              (CONFIG_CMD_DFL  | \
-                               CFG_CMD_ASKENV  | \
-                               CFG_CMD_CACHE   | \
-                               CFG_CMD_DHCP    | \
-                               CFG_CMD_EEPROM  | \
-                               CFG_CMD_ELF     | \
-                               CFG_CMD_I2C     | \
-                               CFG_CMD_SPI     | \
-                               CFG_CMD_IRQ     | \
-                               CFG_CMD_MII     | \
-                               CFG_CMD_NET     | \
-                               CFG_CMD_PCI     | \
-                               CFG_CMD_PING    | \
-                               CFG_CMD_REGINFO | \
-                               CFG_CMD_SDRAM   )
- /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
- #include <cmd_confdefs.h>
 +/*
 + * (C) Copyright 2000-2005
 + * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 + *
 + * (C) Copyright 2005-2007
 + * Beijing UD Technology Co., Ltd., taihusupport@amcc.com
 + *
 + * See file CREDITS for list of people who contributed to this
 + * project.
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of
 + * the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 + * MA 02111-1307 USA
 + */
 +
 +#ifndef __CONFIG_H
 +#define __CONFIG_H
 +
 +
 +#define CONFIG_405EP          1       /* this is a PPC405 CPU */
 +#define CONFIG_4xx            1       /*  member of PPC4xx family */
 +#define CONFIG_TAIHU          1       /*  on a taihu board */
 +
 +#define CONFIG_BOARD_EARLY_INIT_F 1   /* call board_early_init_f */
 +
 +#define CONFIG_SYS_CLK_FREQ     33000000 /* external frequency to pll   */
 +
 +#define CONFIG_NO_SERIAL_EEPROM
 +
 +/*----------------------------------------------------------------------------*/
 +#ifdef CONFIG_NO_SERIAL_EEPROM
 +
 +/*
 +!-------------------------------------------------------------------------------
 +! PLL settings for 333MHz CPU, 111MHz PLB/SDRAM, 55MHz EBC, 33MHz PCI,
 +! assuming a 33MHz input clock to the 405EP from the C9531.
 +!-------------------------------------------------------------------------------
 +*/
 +#define PLLMR0_333_111_55_37 (PLL_CPUDIV_1 | PLL_PLBDIV_3 |  \
 +                            PLL_OPBDIV_2 | PLL_EXTBUSDIV_2 |  \
 +                            PLL_MALDIV_1 | PLL_PCIDIV_3)
 +#define PLLMR1_333_111_55_37 (PLL_FBKDIV_10  |  \
 +                            PLL_FWDDIVA_3 | PLL_FWDDIVB_3 |  \
 +                            PLL_TUNE_15_M_40 | PLL_TUNE_VCO_HI)
 +#define PLLMR0_333_111_55_111 (PLL_CPUDIV_1 | PLL_PLBDIV_3 |  \
 +                             PLL_OPBDIV_2 | PLL_EXTBUSDIV_2 |  \
 +                             PLL_MALDIV_1 | PLL_PCIDIV_1)
 +#define PLLMR1_333_111_55_111 (PLL_FBKDIV_10  |  \
 +                             PLL_FWDDIVA_3 | PLL_FWDDIVB_3 |  \
 +                             PLL_TUNE_15_M_40 | PLL_TUNE_VCO_HI)
 +
 +#define PLLMR0_DEFAULT                PLLMR0_333_111_55_37
 +#define PLLMR1_DEFAULT                PLLMR1_333_111_55_37
 +#define PLLMR0_DEFAULT_PCI66  PLLMR0_333_111_55_111
 +#define PLLMR1_DEFAULT_PCI66  PLLMR1_333_111_55_111
 +
 +#endif
 +/*----------------------------------------------------------------------------*/
 +
 +#define CFG_ENV_IS_IN_FLASH     1     /* use FLASH for environment vars */
 +
 +#define CONFIG_ENV_OVERWRITE 1
 +#define CONFIG_PREBOOT        "echo;" \
 +      "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \
 +      "echo"
 +
 +#undef        CONFIG_BOOTARGS
 +#define CONFIG_EXTRA_ENV_SETTINGS                                     \
 +      "bootfile=/tftpboot/taihu/uImage\0"                             \
 +      "rootpath=/opt/eldk/ppc_4xx\0"                                  \
 +      "netdev=eth0\0"                                                 \
 +      "nfsargs=setenv bootargs root=/dev/nfs rw "                     \
 +              "nfsroot=${serverip}:${rootpath}\0"                     \
 +      "ramargs=setenv bootargs root=/dev/ram rw\0"                    \
 +      "addip=setenv bootargs ${bootargs} "                            \
 +              "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
 +              ":${hostname}:${netdev}:off panic=1\0"                  \
 +      "addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
 +      "flash_nfs=run nfsargs addip addtty;"                           \
 +              "bootm ${kernel_addr}\0"                                \
 +      "flash_self=run ramargs addip addtty;"                          \
 +              "bootm ${kernel_addr} ${ramdisk_addr}\0"                \
 +      "net_nfs=tftp 200000 ${bootfile};run nfsargs addip addtty;"     \
 +              "bootm\0"                                               \
 +      "kernel_addr=FC000000\0"                                        \
 +      "ramdisk_addr=FC180000\0"                                       \
 +      "load=tftp 200000 /tftpboot/taihu/u-boot.bin\0"                 \
 +      "update=protect off FFFC0000 FFFFFFFF;era FFFC0000 FFFFFFFF;"   \
 +              "cp.b 200000 FFFC0000 40000\0"                          \
 +      "upd=run load;run update\0"                                     \
 +      ""
 +#define CONFIG_BOOTCOMMAND    "run flash_self"
 +
 +#if 0
 +#define CONFIG_BOOTDELAY      -1      /* autoboot disabled            */
 +#else
 +#define CONFIG_BOOTDELAY      5       /* autoboot after 5 seconds     */
 +#endif
 +
 +#define CONFIG_LOADS_ECHO     1       /* echo on for serial download  */
 +#define CFG_LOADS_BAUD_CHANGE 1       /* allow baudrate change        */
 +
 +#define CONFIG_MII            1       /* MII PHY management           */
 +#define CONFIG_PHY_ADDR               0x14    /* PHY address                  */
 +#define CONFIG_HAS_ETH1
 +#define CONFIG_PHY1_ADDR      0x10    /* EMAC1 PHY address            */
 +#define CONFIG_NET_MULTI      1
 +#define CFG_RX_ETH_BUFFER     16      /* Number of ethernet rx buffers & descriptors */
 +#define CONFIG_PHY_RESET      1
 +
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++/*
++ * BOOTP options
++ */
++#define CONFIG_BOOTP_BOOTFILESIZE
++#define CONFIG_BOOTP_BOOTPATH
++#define CONFIG_BOOTP_GATEWAY
++#define CONFIG_BOOTP_HOSTNAME
++
++/*
++ * Command line configuration.
++ */
++#include <config_cmd_default.h>
++
++#define CONFIG_CMD_ASKENV
++#define CONFIG_CMD_CACHE
++#define CONFIG_CMD_DHCP
++#define CONFIG_CMD_EEPROM
++#define CONFIG_CMD_ELF
++#define CONFIG_CMD_I2C
++#define CONFIG_CMD_IRQ
++#define CONFIG_CMD_MII
++#define CONFIG_CMD_NET
++#define CONFIG_CMD_PCI
++#define CONFIG_CMD_PING
++#define CONFIG_CMD_REGINFO
++#define CONFIG_CMD_SDRAM
++#define CONFIG_CMD_SPI
 +
 +#undef CONFIG_WATCHDOG                        /* watchdog disabled */
 +
 +#undef CONFIG_SPD_EEPROM              /* use SPD EEPROM for setup */
 +#define CFG_SDRAM_SIZE_PER_BANK 0x04000000 /* 64MB */
 +#define CFG_SDRAM_BANKS               2
 +
 +/*
 + * SDRAM configuration (please see cpu/ppc/sdram.[ch])
 + */
 +#define CONFIG_SDRAM_BANK0    1       /* init onboard SDRAM bank 0 */
 +#define CONFIG_SDRAM_BANK1    1       /* init onboard SDRAM bank 1 */
 +
 +/* SDRAM timings used in datasheet */
 +#define CFG_SDRAM_CL            3     /* CAS latency */
 +#define CFG_SDRAM_tRP           20    /* PRECHARGE command period */
 +#define CFG_SDRAM_tRC           66    /* ACTIVE-to-ACTIVE command period */
 +#define CFG_SDRAM_tRCD          20    /* ACTIVE-to-READ delay */
 +#define CFG_SDRAM_tRFC                66      /* Auto refresh period */
 +
 +/*
 + * Miscellaneous configurable options
 + */
 +#define CFG_LONGHELP                  /* undef to save memory         */
 +#define CFG_PROMPT    "=> "           /* Monitor Command Prompt       */
++#if defined(CONFIG_CMD_KGDB)
 +#define CFG_CBSIZE    1024            /* Console I/O Buffer Size      */
 +#else
 +#define CFG_CBSIZE    256             /* Console I/O Buffer Size      */
 +#endif
 +#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* print buffer Size */
 +#define CFG_MAXARGS   16              /* max number of command args   */
 +#define CFG_BARGSIZE  CFG_CBSIZE      /* Boot Argument Buffer Size    */
 +
 +#define CFG_MEMTEST_START  0x0400000  /* memtest works on     */
 +#define CFG_MEMTEST_END          0x0C00000    /* 4 ... 12 MB in DRAM  */
 +
 +/*
 + * If CFG_EXT_SERIAL_CLOCK, then the UART divisor is 1.
 + * If CFG_405_UART_ERRATA_59, then UART divisor is 31.
 + * Otherwise, UART divisor is determined by CPU Clock and CFG_BASE_BAUD value.
 + * The Linux BASE_BAUD define should match this configuration.
 + *    baseBaud = cpuClock/(uartDivisor*16)
 + * If CFG_405_UART_ERRATA_59 and 200MHz CPU clock,
 + * set Linux BASE_BAUD to 403200.
 + */
 +#undef        CONFIG_SERIAL_SOFTWARE_FIFO
 +#undef  CFG_EXT_SERIAL_CLOCK           /* external serial clock */
 +#undef  CFG_405_UART_ERRATA_59         /* 405GP/CR Rev. D silicon */
 +#define CFG_BASE_BAUD         691200
 +
 +#define CONFIG_BAUDRATE               115200
 +
 +#define CONFIG_UART1_CONSOLE  1
 +
- #if (CONFIG_COMMANDS & CFG_CMD_EEPROM)
 +/* The following table includes the supported baudrates */
 +#define CFG_BAUDRATE_TABLE  \
 +    {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
 +
 +#define CFG_LOAD_ADDR     0x100000    /* default load address */
 +#define CFG_EXTBDINFO         1       /* To use extended board_into (bd_t) */
 +
 +#define CFG_HZ                        1000    /* decrementer freq: 1 ms ticks */
 +
 +#define CONFIG_AUTO_COMPLETE  1       /* add autocompletion support   */
 +#define CONFIG_LOOPW            1       /* enable loopw command         */
 +#define CONFIG_ZERO_BOOTDELAY_CHECK   /* check for keypress on bootdelay==0 */
 +#define CONFIG_VERSION_VARIABLE 1     /* include version env variable */
 +
 +/*-----------------------------------------------------------------------
 + * I2C stuff
 + *-----------------------------------------------------------------------
 + */
 +#define CONFIG_HARD_I2C               1       /* I2C with hardware support    */
 +#undef  CONFIG_SOFT_I2C                       /* I2C bit-banged               */
 +#define CFG_I2C_SPEED         400000  /* I2C speed and slave address  */
 +#define CFG_I2C_SLAVE         0x7F
 +
 +#define CFG_I2C_NOPROBES      { 0x69 } /* avoid iprobe hangup (why?) */
 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS        6 /* 24C02 requires 5ms delay */
 +
- #endif
 +#define CFG_I2C_EEPROM_ADDR   0x50    /* I2C boot EEPROM (24C02W)     */
 +#define CFG_I2C_EEPROM_ADDR_LEN       1       /* Bytes of address             */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 +
 +#define CONFIG_SOFT_SPI
 +#define SPI_SCL  spi_scl
 +#define SPI_SDA  spi_sda
 +#define SPI_READ spi_read()
 +#define SPI_DELAY udelay(2)
 +#ifndef __ASSEMBLY__
 +void spi_scl(int);
 +void spi_sda(int);
 +unsigned char spi_read(void);
 +#endif
 +
 +/* standard dtt sensor configuration */
 +#define CONFIG_DTT_DS1775     1
 +#define CONFIG_DTT_SENSORS    { 0 }
 +
 +/*-----------------------------------------------------------------------
 + * PCI stuff
 + *-----------------------------------------------------------------------
 + */
 +#define PCI_HOST_ADAPTER 0            /* configure ar pci adapter    */
 +#define PCI_HOST_FORCE   1            /* configure as pci host       */
 +#define PCI_HOST_AUTO    2            /* detected via arbiter enable */
 +
 +#define CONFIG_PCI                    /* include pci support         */
 +#define CONFIG_PCI_HOST       PCI_HOST_FORCE  /* select pci host function    */
 +#define CONFIG_PCI_PNP                        /* do pci plug-and-play        */
 +                                      /* resource configuration      */
 +#define CONFIG_PCI_SCAN_SHOW            /* show pci devices on startup */
 +
 +#define CFG_PCI_SUBSYS_VENDORID 0x10e8        /* AMCC */
 +#define CFG_PCI_SUBSYS_DEVICEID 0xcafe        /* Whatever */
 +#define CFG_PCI_CLASSCODE       0x0600  /* PCI Class Code: bridge/host */
 +#define CFG_PCI_PTM1LA            0x00000000  /* point to sdram              */
 +#define CFG_PCI_PTM1MS      0x80000001        /* 2GB, enable hard-wired to 1 */
 +#define CFG_PCI_PTM1PCI     0x00000000        /* Host: use this pci address  */
 +#define CFG_PCI_PTM2LA      0x00000000        /* disabled                    */
 +#define CFG_PCI_PTM2MS            0x00000000  /* disabled                    */
 +#define CFG_PCI_PTM2PCI     0x04000000        /* Host: use this pci address  */
 +#define CONFIG_EEPRO100               1
 +
 +/*-----------------------------------------------------------------------
 + * Start addresses for the final memory configuration
 + * (Set up by the startup code)
 + * Please note that CFG_SDRAM_BASE _must_ start at 0
 + */
 +#define CFG_SDRAM_BASE                0x00000000
 +#define CFG_FLASH_BASE                0xFFE00000
 +#define CFG_MONITOR_LEN               (256 * 1024)    /* Reserve 256 kB for Monitor   */
 +#define CFG_MALLOC_LEN                (128 * 1024)    /* Reserve 128 kB for malloc()  */
 +#define CFG_MONITOR_BASE      (-CFG_MONITOR_LEN)
 +
 +/*
 + * For booting Linux, the board info and command line data
 + * have to be in the first 8 MB of memory, since this is
 + * the maximum mapped by the Linux kernel during initialization.
 + */
 +#define CFG_BOOTMAPSZ         (8 << 20)       /* Initial Memory map for Linux */
 +
 +/*-----------------------------------------------------------------------
 + * FLASH organization
 + */
 +
 +#define CFG_MAX_FLASH_BANKS   2       /* max number of memory banks           */
 +#define CFG_MAX_FLASH_SECT    256     /* max number of sectors on one chip    */
 +
 +#define CFG_FLASH_ERASE_TOUT  120000  /* Timeout for Flash Erase (in ms)      */
 +#define CFG_FLASH_WRITE_TOUT  500     /* Timeout for Flash Write (in ms)      */
 +
 +#define CFG_FLASH_ADDR0         0x555
 +#define CFG_FLASH_ADDR1         0x2aa
 +#define CFG_FLASH_WORD_SIZE     unsigned short
 +
 +#ifdef CFG_ENV_IS_IN_FLASH
 +#define CFG_ENV_SECT_SIZE     0x10000 /* size of one complete sector  */
 +#define CFG_ENV_ADDR          (CFG_MONITOR_BASE-CFG_ENV_SECT_SIZE)
 +#define CFG_ENV_SIZE          0x4000  /* Total Size of Environment Sector     */
 +
 +/* Address and size of Redundant Environment Sector   */
 +#define CFG_ENV_ADDR_REDUND   (CFG_ENV_ADDR-CFG_ENV_SECT_SIZE)
 +#define CFG_ENV_SIZE_REDUND   (CFG_ENV_SIZE)
 +#endif /* CFG_ENV_IS_IN_FLASH */
 +
 +/*-----------------------------------------------------------------------
 + * NVRAM organization
 + */
 +#define CFG_NVRAM_BASE_ADDR   0xf0000000      /* NVRAM base address */
 +#define CFG_NVRAM_SIZE                0x1ff8          /* NVRAM size */
 +
 +#ifdef CFG_ENV_IS_IN_NVRAM
 +#define CFG_ENV_SIZE          0x0ff8          /* Size of Environment vars */
 +#define CFG_ENV_ADDR          \
 +      (CFG_NVRAM_BASE_ADDR+CFG_NVRAM_SIZE-CFG_ENV_SIZE)       /* Env*/
 +#endif
 +
 +/*-----------------------------------------------------------------------
 + * PPC405 GPIO Configuration
 + */
 +#define CFG_440_GPIO_TABLE { /*                               GPIO    Alternate1              */      \
 +{                                                                                             \
 +/* GPIO Core 0 */                                                                             \
 +{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO0 PerBLast    SPI CS      */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO1 TS1E                    */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO2 TS2E                    */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO3 TS1O                    */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO4 TS2O                    */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO5 TS3                     */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO6 TS4                     */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO7 TS5                     */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO8 TS6                     */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO9 TrcClk                  */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO10        PerCS1                  */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO11        PerCS2                  */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO12        PerCS3                  */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO13        PerCS4                  */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO14        PerAddr03   SPI SCLK    */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO15        PerAddr04   SPI DI      */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO16        PerAddr05   SPI DO      */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO17        IRQ0        PCI INTA    */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO18        IRQ1        PCI INTB    */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO19        IRQ2        PCI INTC    */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO20        IRQ3        PCI INTD    */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO21        IRQ4        USB         */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO22        IRQ5        EBC         */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO23        IRQ6        unused      */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO24        UART0_DCD   UART1       */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO25        UART0_DSR               */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO26        UART0_RI                */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO27        UART0_DTR               */      \
 +{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO28        UART1_Rx    UART0       */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO29        UART1_Tx                */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO30        RejectPkt0  User LED1   */      \
 +{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO31        RejectPkt1  User LED2   */      \
 +}                                                                                             \
 +}
 +
 +/*-----------------------------------------------------------------------
 + * Cache Configuration
 + */
 +#define CFG_DCACHE_SIZE               16384   /* For IBM 405EP CPU */
 +#define CFG_CACHELINE_SIZE    32
- #endif
 +#define CFG_CACHELINE_SHIFT   5       /* log base 2 of the above value */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 +
 +/*
 + * Init Memory Controller:
 + *
 + * BR0/1 and OR0/1 (FLASH)
 + */
 +
 +#define FLASH_BASE0_PRELIM CFG_FLASH_BASE /* FLASH bank #0 */
 +#define FLASH_BASE1_PRELIM  0xFC000000        /* FLASH bank #1 */
 +
 +/*-----------------------------------------------------------------------
 + * Definitions for initial stack pointer and data area (in data cache)
 + */
 +/* use on chip memory (OCM) for temperary stack until sdram is tested */
 +#define CFG_TEMP_STACK_OCM        1
 +
 +/* On Chip Memory location */
 +#define CFG_OCM_DATA_ADDR     0xF8000000
 +#define CFG_OCM_DATA_SIZE     0x1000
 +#define CFG_INIT_RAM_ADDR     CFG_OCM_DATA_ADDR /* inside of SDRAM            */
 +#define CFG_INIT_RAM_END      CFG_OCM_DATA_SIZE /* End of used area in RAM    */
 +
 +#define CFG_GBL_DATA_SIZE      128  /* size in bytes reserved for initial data */
 +#define CFG_GBL_DATA_OFFSET    (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
 +#define CFG_INIT_SP_OFFSET      CFG_GBL_DATA_OFFSET
 +
 +/*-----------------------------------------------------------------------
 + * External Bus Controller (EBC) Setup
 + */
 +
 +/* Memory Bank 0 (Flash/SRAM) initialization */
 +#define CFG_EBC_PB0AP           0x03815600
 +#define CFG_EBC_PB0CR           0xFFE3A000  /* BAS=0xFFE,BS=2MB,BU=R/W,BW=16bit */
 +
 +/* Memory Bank 1 (NVRAM/RTC) initialization */
 +#define CFG_EBC_PB1AP           0x05815600
 +#define CFG_EBC_PB1CR           0xFC0BA000  /* BAS=0xFc0,BS=32MB,BU=R/W,BW=16bit */
 +
 +/* Memory Bank 2 (USB device) initialization */
 +#define CFG_EBC_PB2AP           0x03016600
 +#define CFG_EBC_PB2CR           0x50018000 /* BAS=0x500,BS=1MB,BU=R/W,BW=8bit */
 +
 +/* Memory Bank 3 (LCM and D-flip-flop) initialization */
 +#define CFG_EBC_PB3AP           0x158FF600
 +#define CFG_EBC_PB3CR           0x50118000 /* BAS=0x501,BS=1MB,BU=R/W,BW=8bit */
 +
 +/* Memory Bank 4 (not install) initialization */
 +#define CFG_EBC_PB4AP           0x158FF600
 +#define CFG_EBC_PB4CR           0x5021A000
 +
 +/*-----------------------------------------------------------------------
 + * Definitions for GPIO setup (PPC405EP specific)
 + *
 + * GPIO0[0]     - External Bus Controller BLAST output
 + * GPIO0[1-9]   - Instruction trace outputs
 + * GPIO0[10-13] - External Bus Controller CS_1 - CS_4 outputs
 + * GPIO0[14-16] - External Bus Controller ABUS3-ABUS5 outputs
 + * GPIO0[17-23] - External Interrupts IRQ0 - IRQ6 inputs
 + * GPIO0[24-27] - UART0 control signal inputs/outputs
 + * GPIO0[28-29] - UART1 data signal input/output
 + * GPIO0[30-31] - EMAC0 and EMAC1 reject packet inputs
 + */
 +#define CFG_GPIO0_OSRH        0x15555550      /* output select high/low */
 +#define CFG_GPIO0_OSRL        0x00000110
 +#define CFG_GPIO0_ISR1H       0x00000001      /* input select high/low */
 +#define CFG_GPIO0_ISR1L       0x15545440
 +#define CFG_GPIO0_TSRH        0x00000000      /* three-state select high/low */
 +#define CFG_GPIO0_TSRL        0x00000000
 +#define CFG_GPIO0_TCR 0xFFFE8117      /* three-state control */
 +#define CFG_GPIO0_ODR 0x00000000      /* open drain */
 +
 +#define GPIO0         0               /* GPIO controller 0 */
 +
 +/* the GPIO macros in include/ppc405.h for High/Low registers are backwards */
 +
 +#define GPIOx_OSL     (GPIO0_OSRH-GPIO_BASE)
 +#define GPIOx_TSL     (GPIO0_TSRH-GPIO_BASE)
 +#define GPIOx_IS1L    (GPIO0_ISR1H-GPIO_BASE)
 +#define GPIOx_IS2L    (GPIO0_ISR1H-GPIO_BASE)
 +#define GPIOx_IS3L    (GPIO0_ISR1H-GPIO_BASE)
 +
 +#define GPIO_OS(x)    (x+GPIOx_OSL)   /* GPIO output select */
 +#define GPIO_TS(x)    (x+GPIOx_TSL)   /* GPIO three-state select */
 +#define GPIO_IS1(x)   (x+GPIOx_IS1L)  /* GPIO input select */
 +#define GPIO_IS2(x)   (x+GPIOx_IS1L)
 +#define GPIO_IS3(x)   (x+GPIOx_IS1L)
 +
 +#define CPLD_REG0_ADDR        0x50100000
 +#define CPLD_REG1_ADDR        0x50100001
 +/*
 + * Internal Definitions
 + *
 + * Boot Flags
 + */
 +#define BOOTFLAG_COLD 0x01            /* Normal Power-On: Boot from FLASH */
 +#define BOOTFLAG_WARM 0x02            /* Software reboot */
 +
++#if defined(CONFIG_CMD_KGDB)
 +#define CONFIG_KGDB_BAUDRATE  230400  /* speed to run kgdb serial port */
 +#define CONFIG_KGDB_SER_INDEX 2       /* which serial port to use */
 +#endif
 +
 +#endif        /* __CONFIG_H */
index 86a16e77a5d84f3fbc6add93f9adf757ea6a2a34,0000000000000000000000000000000000000000..605755a87e8eedf423d0e546001cdf4d98eca4e8
mode 100644,000000..100644
--- /dev/null
@@@ -1,375 -1,0 +1,382 @@@
- #define CONFIG_COMMANDS               (CONFIG_CMD_DFL |       \
-                                CFG_CMD_ASKENV |       \
-                                CFG_CMD_CACHE  |       \
-                                CFG_CMD_DHCP   |       \
-                                CFG_CMD_DIAG   |       \
-                                CFG_CMD_EEPROM |       \
-                                CFG_CMD_ELF    |       \
-                                CFG_CMD_I2C    |       \
-                                CFG_CMD_IRQ    |       \
-                                CFG_CMD_LOG    |       \
-                                CFG_CMD_MII    |       \
-                                CFG_CMD_NET    |       \
-                                CFG_CMD_NFS    |       \
-                                CFG_CMD_PING   |       \
-                                CFG_CMD_REGINFO)
 +/*
 + * (C) Copyright 2007
 + * Stefan Roese, DENX Software Engineering, sr@denx.de.
 + *
 + * See file CREDITS for list of people who contributed to this
 + * project.
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License as
 + * published by the Free Software Foundation; either version 2 of
 + * the License, or (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but WITHOUT ANY WARRANTY; without even the implied warranty of
 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
 + * GNU General Public License for more details.
 + *
 + * You should have received a copy of the GNU General Public License
 + * along with this program; if not, write to the Free Software
 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 + * MA 02111-1307 USA
 + */
 +
 +/************************************************************************
 + * zeus.h - configuration for Zeus board
 + ***********************************************************************/
 +#ifndef __CONFIG_H
 +#define __CONFIG_H
 +
 +/*-----------------------------------------------------------------------
 + * High Level Configuration Options
 + *----------------------------------------------------------------------*/
 +#define CONFIG_ZEUS           1               /* Board is Zeus        */
 +#define CONFIG_4xx            1               /* ... PPC4xx family    */
 +#define CONFIG_405EP          1               /* Specifc 405EP support*/
 +
 +#define CONFIG_SYS_CLK_FREQ     33000000 /* external frequency to pll   */
 +
 +#define CONFIG_BOARD_EARLY_INIT_F 1           /* Call board_early_init_f */
 +#define CONFIG_MISC_INIT_R    1               /* Call misc_init_r     */
 +
 +#define PLLMR0_DEFAULT                PLLMR0_333_111_55_111
 +#define PLLMR1_DEFAULT                PLLMR1_333_111_55_111
 +
 +#define CFG_ENV_IS_IN_FLASH     1     /* use FLASH for environment vars       */
 +
 +#define CONFIG_OVERWRITE_ETHADDR_ONCE 1
 +
 +#define CONFIG_MII            1       /* MII PHY management           */
 +#define CONFIG_PHY_ADDR               0x01    /* PHY address                  */
 +#define CONFIG_HAS_ETH1               1
 +#define CONFIG_PHY1_ADDR      0x11    /* EMAC1 PHY address            */
 +#define CONFIG_NET_MULTI      1
 +#define CFG_RX_ETH_BUFFER     16      /* Number of ethernet rx buffers & descriptors */
 +#define CONFIG_PHY_RESET      1
 +#define CONFIG_PHY_RESET_DELAY        300     /* PHY RESET recovery delay     */
 +
- /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
- #include <cmd_confdefs.h>
++/*
++ * BOOTP options
++ */
++#define CONFIG_BOOTP_BOOTFILESIZE
++#define CONFIG_BOOTP_BOOTPATH
++#define CONFIG_BOOTP_GATEWAY
++#define CONFIG_BOOTP_HOSTNAME
++
++/*
++ * Command line configuration.
++ */
++#include <config_cmd_default.h>
++
++#define CONFIG_CMD_ASKENV
++#define CONFIG_CMD_CACHE
++#define CONFIG_CMD_DHCP
++#define CONFIG_CMD_DIAG
++#define CONFIG_CMD_EEPROM
++#define CONFIG_CMD_ELF
++#define CONFIG_CMD_I2C
++#define CONFIG_CMD_IRQ
++#define CONFIG_CMD_LOG
++#define CONFIG_CMD_MII
++#define CONFIG_CMD_NET
++#define CONFIG_CMD_NFS
++#define CONFIG_CMD_PING
++#define CONFIG_CMD_REGINFO
 +
 +/* POST support */
 +#define CONFIG_POST           (CFG_POST_MEMORY   | \
 +                               CFG_POST_CPU      | \
 +                               CFG_POST_CACHE    | \
 +                               CFG_POST_UART     | \
 +                               CFG_POST_ETHER)
 +
 +#define CFG_POST_ETHER_EXT_LOOPBACK   /* eth POST using ext loopack connector */
 +
 +/* Define here the base-addresses of the UARTs to test in POST */
 +#define CFG_POST_UART_TABLE   {UART0_BASE}
 +
 +#define CONFIG_LOGBUFFER
 +#define CFG_POST_CACHE_ADDR   0x00800000 /* free virtual address      */
 +
 +#define CFG_CONSOLE_IS_IN_ENV /* Otherwise it catches logbuffer as output */
 +
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 +#undef CONFIG_WATCHDOG                        /* watchdog disabled            */
 +
 +/*-----------------------------------------------------------------------
 + * SDRAM
 + *----------------------------------------------------------------------*/
 +/*
 + * SDRAM configuration (please see cpu/ppc/sdram.[ch])
 + */
 +#define CONFIG_SDRAM_BANK0    1       /* init onboard SDRAM bank 0 */
 +#define CONFIG_SDRAM_BANK1    1       /* init onboard SDRAM bank 1 */
 +
 +/* SDRAM timings used in datasheet */
 +#define CFG_SDRAM_CL            3     /* CAS latency */
 +#define CFG_SDRAM_tRP           20    /* PRECHARGE command period */
 +#define CFG_SDRAM_tRC           66    /* ACTIVE-to-ACTIVE command period */
 +#define CFG_SDRAM_tRCD          20    /* ACTIVE-to-READ delay */
 +#define CFG_SDRAM_tRFC                66      /* Auto refresh period */
 +
 +/*-----------------------------------------------------------------------
 + * Serial Port
 + *----------------------------------------------------------------------*/
 +#undef        CFG_EXT_SERIAL_CLOCK                    /* external serial clock */
 +#define CFG_BASE_BAUD         691200
 +#define CONFIG_BAUDRATE               115200
 +#define CONFIG_SERIAL_MULTI
 +
 +/* The following table includes the supported baudrates */
 +#define CFG_BAUDRATE_TABLE    \
 +      {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
 +
 +/*-----------------------------------------------------------------------
 + * Miscellaneous configurable options
 + *----------------------------------------------------------------------*/
 +#define CFG_LONGHELP                  /* undef to save memory         */
 +#define CFG_PROMPT            "=> "   /* Monitor Command Prompt       */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
++#if defined(CONFIG_CMD_KGDB)
 +#define CFG_CBSIZE            1024    /* Console I/O Buffer Size      */
 +#else
 +#define CFG_CBSIZE            256     /* Console I/O Buffer Size      */
 +#endif
 +#define CFG_PBSIZE              (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
 +#define CFG_MAXARGS           16      /* max number of command args   */
 +#define CFG_BARGSIZE          CFG_CBSIZE /* Boot Argument Buffer Size */
 +
 +#define CFG_MEMTEST_START     0x0400000 /* memtest works on           */
 +#define CFG_MEMTEST_END               0x0C00000 /* 4 ... 12 MB in DRAM        */
 +
 +#define CFG_LOAD_ADDR         0x100000  /* default load address       */
 +#define CFG_EXTBDINFO         1       /* To use extended board_into (bd_t) */
 +
 +#define CFG_HZ                        1000    /* decrementer freq: 1 ms ticks */
 +
 +#define CONFIG_LOADS_ECHO     1       /* echo on for serial download  */
 +#define CFG_LOADS_BAUD_CHANGE 1       /* allow baudrate change        */
 +
 +#define CONFIG_CMDLINE_EDITING        1       /* add command line history     */
 +#define CONFIG_LOOPW            1       /* enable loopw command         */
 +#define CONFIG_MX_CYCLIC        1       /* enable mdc/mwc commands      */
 +#define CONFIG_ZERO_BOOTDELAY_CHECK   /* check for keypress on bootdelay==0 */
 +#define CONFIG_VERSION_VARIABLE 1     /* include version env variable */
 +
 +/*-----------------------------------------------------------------------
 + * I2C
 + *----------------------------------------------------------------------*/
 +#define CONFIG_HARD_I2C               1               /* I2C with hardware support    */
 +#undef        CONFIG_SOFT_I2C                         /* I2C bit-banged               */
 +#define CFG_I2C_SPEED         400000          /* I2C speed and slave address  */
 +#define CFG_I2C_SLAVE         0x7F
 +
 +/* these are for the ST M24C02 2kbit serial i2c eeprom */
 +#define CFG_I2C_EEPROM_ADDR   0x50            /* base address */
 +#define CFG_I2C_EEPROM_ADDR_LEN       1               /* bytes of address */
 +/* mask of address bits that overflow into the "EEPROM chip address"    */
 +#define CFG_I2C_EEPROM_ADDR_OVERFLOW  0x07
 +
 +#define CFG_EEPROM_PAGE_WRITE_ENABLE  1       /* write eeprom in pages */
 +#define CFG_EEPROM_PAGE_WRITE_BITS    3       /* 8 byte write page size */
 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS        10      /* and takes up to 10 msec */
 +
 +/*
 + * The layout of the I2C EEPROM, used for bootstrap setup and for board-
 + * specific values, like ethaddr... that can be restored via the sw-reset
 + * button
 + */
 +#define FACTORY_RESET_I2C_EEPROM      0x50
 +#define FACTORY_RESET_ENV_OFFS                0x80
 +#define FACTORY_RESET_ENV_SIZE                0x80
 +
 +/*-----------------------------------------------------------------------
 + * Start addresses for the final memory configuration
 + * (Set up by the startup code)
 + * Please note that CFG_SDRAM_BASE _must_ start at 0
 + */
 +#define CFG_SDRAM_BASE                0x00000000
 +#define CFG_FLASH_BASE                0xFF000000
 +#define CFG_MONITOR_LEN               (256 * 1024)    /* Reserve 256 kB for Monitor   */
 +#define CFG_MALLOC_LEN                (128 * 1024)    /* Reserve 128 kB for malloc()  */
 +#define CFG_MONITOR_BASE      (-CFG_MONITOR_LEN)
 +
 +/*
 + * For booting Linux, the board info and command line data
 + * have to be in the first 8 MB of memory, since this is
 + * the maximum mapped by the Linux kernel during initialization.
 + */
 +#define CFG_BOOTMAPSZ         (8 << 20)       /* Initial Memory map for Linux */
 +
 +/*-----------------------------------------------------------------------
 + * FLASH organization
 + */
 +#define CFG_FLASH_CFI                         /* The flash is CFI compatible  */
 +#define CFG_FLASH_CFI_DRIVER                  /* Use common CFI driver        */
 +
 +#define CFG_FLASH_BANKS_LIST  { CFG_FLASH_BASE }
 +
 +#define CFG_MAX_FLASH_BANKS   1       /* max number of memory banks           */
 +#define CFG_MAX_FLASH_SECT    512     /* max number of sectors on one chip    */
 +
 +#define CFG_FLASH_ERASE_TOUT  120000  /* Timeout for Flash Erase (in ms)      */
 +#define CFG_FLASH_WRITE_TOUT  500     /* Timeout for Flash Write (in ms)      */
 +
 +#define CFG_FLASH_USE_BUFFER_WRITE 1  /* use buffered writes (20x faster)     */
 +#define CFG_FLASH_PROTECTION  1       /* use hardware flash protection        */
 +
 +#define CFG_FLASH_EMPTY_INFO          /* print 'E' for empty sector on flinfo */
 +#define CFG_FLASH_QUIET_TEST  1       /* don't warn upon unknown flash        */
 +
 +#ifdef CFG_ENV_IS_IN_FLASH
 +#define CFG_ENV_SECT_SIZE     0x20000 /* size of one complete sector          */
 +#define CFG_ENV_ADDR          ((-CFG_MONITOR_LEN)-CFG_ENV_SECT_SIZE)
 +#define       CFG_ENV_SIZE            0x2000  /* Total Size of Environment Sector     */
 +
 +/* Address and size of Redundant Environment Sector   */
 +#define CFG_ENV_ADDR_REDUND   (CFG_ENV_ADDR-CFG_ENV_SECT_SIZE)
 +#define CFG_ENV_SIZE_REDUND   (CFG_ENV_SIZE)
 +#endif
 +
 +/*-----------------------------------------------------------------------
 + * Cache Configuration
 + */
 +#define CFG_DCACHE_SIZE               16384   /* For IBM 405EP CPU                    */
 +#define CFG_CACHELINE_SIZE    32      /* ...                  */
- #endif
 +#define CFG_CACHELINE_SHIFT   5       /* log base 2 of the above value        */
- #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 +
 +/*-----------------------------------------------------------------------
 + * Definitions for initial stack pointer and data area (in data cache)
 + */
 +/* use on chip memory (OCM) for temperary stack until sdram is tested */
 +#define CFG_TEMP_STACK_OCM    1
 +
 +/* On Chip Memory location */
 +#define CFG_OCM_DATA_ADDR     0xF8000000
 +#define CFG_OCM_DATA_SIZE     0x1000
 +#define CFG_INIT_RAM_ADDR     CFG_OCM_DATA_ADDR /* inside of OCM              */
 +#define CFG_INIT_RAM_END      CFG_OCM_DATA_SIZE /* End of used area in RAM    */
 +
 +#define CFG_GBL_DATA_SIZE     128  /* size in bytes reserved for initial data */
 +#define CFG_GBL_DATA_OFFSET   (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
 +/* reserve some memory for POST and BOOT limit info */
 +#define CFG_INIT_SP_OFFSET    (CFG_GBL_DATA_OFFSET - 16)
 +
 +/* extra data in OCM */
 +#define CFG_POST_WORD_ADDR    (CFG_GBL_DATA_OFFSET - 4)
 +#define CFG_POST_MAGIC                (CFG_OCM_DATA_ADDR + CFG_GBL_DATA_OFFSET - 8)
 +#define CFG_POST_VAL          (CFG_OCM_DATA_ADDR + CFG_GBL_DATA_OFFSET - 12)
 +
 +/*-----------------------------------------------------------------------
 + * External Bus Controller (EBC) Setup
 + */
 +
 +/* Memory Bank 0 (Flash 16M) initialization                                   */
 +#define CFG_EBC_PB0AP         0x05815600
 +#define CFG_EBC_PB0CR         0xFF09A000  /* BAS=0xFF0,BS=16MB,BU=R/W,BW=16bit  */
 +
 +/*-----------------------------------------------------------------------
 + * Definitions for GPIO setup (PPC405EP specific)
 + *
 + * GPIO0[0]     - External Bus Controller BLAST output
 + * GPIO0[1-9]   - Instruction trace outputs
 + * GPIO0[10-13] - External Bus Controller CS_1 - CS_4 outputs
 + * GPIO0[14-16] - External Bus Controller ABUS3-ABUS5 outputs
 + * GPIO0[17-23] - External Interrupts IRQ0 - IRQ6 inputs
 + * GPIO0[24-27] - UART0 control signal inputs/outputs
 + * GPIO0[28-29] - UART1 data signal input/output
 + * GPIO0[30-31] - EMAC0 and EMAC1 reject packet inputs
 + */
 +#define CFG_GPIO0_OSRH                0x15555550      /* Chip selects */
 +#define CFG_GPIO0_OSRL                0x00000110      /* UART_DTR-pin 27 alt out */
 +#define CFG_GPIO0_ISR1H               0x10000041      /* Pin 2, 12 is input */
 +#define CFG_GPIO0_ISR1L               0x15505440      /* OUT: LEDs 22/23; IN: pin12,2, NVALID# */
 +#define CFG_GPIO0_TSRH                0x00000000
 +#define CFG_GPIO0_TSRL                0x00000000
 +#define CFG_GPIO0_TCR         0xBFF68317      /* 3-state OUT: 22/23/29; 12,2 is not 3-state */
 +#define CFG_GPIO0_ODR         0x00000000
 +
 +#define CFG_GPIO_SW_RESET     1
 +#define CFG_GPIO_ZEUS_PE      12
 +#define CFG_GPIO_LED_RED      22
 +#define CFG_GPIO_LED_GREEN    23
 +
 +/* Time in milli-seconds */
 +#define CFG_TIME_POST         5000
 +#define CFG_TIME_FACTORY_RESET        10000
 +
 +/*
 + * Internal Definitions
 + *
 + * Boot Flags
 + */
 +#define BOOTFLAG_COLD         0x01            /* Normal Power-On: Boot from FLASH     */
 +#define BOOTFLAG_WARM         0x02            /* Software reboot                      */
 +
++#if defined(CONFIG_CMD_KGDB)
 +#define CONFIG_KGDB_BAUDRATE  230400          /* speed to run kgdb serial port */
 +#define CONFIG_KGDB_SER_INDEX 2               /* which serial port to use */
 +#endif
 +
 +/* ENVIRONMENT VARS */
 +
 +#define CONFIG_PREBOOT                "echo;echo Welcome to Bulletendpoints board v1.1;echo"
 +#define CONFIG_IPADDR         192.168.1.10
 +#define CONFIG_SERVERIP               192.168.1.100
 +#define CONFIG_GATEWAYIP      192.168.1.100
 +#define CONFIG_ETHADDR                50:00:00:00:06:00
 +#define CONFIG_ETH1ADDR               50:00:00:00:06:01
 +#if 0
 +#define CONFIG_BOOTDELAY      -1      /* autoboot disabled        */
 +#else
 +#define CONFIG_BOOTDELAY      3       /* autoboot after 5 seconds */
 +#endif
 +
 +#define CONFIG_EXTRA_ENV_SETTINGS                                     \
 +      "logversion=2\0"                                                \
 +      "hostname=zeus\0"                                               \
 +      "netdev=eth0\0"                                                 \
 +      "ethact=ppc_4xx_eth0\0"                                         \
 +      "netmask=255.255.255.0\0"                                       \
 +      "ramdisk_size=50000\0"                                          \
 +      "nfsargs=setenv bootargs root=/dev/nfs rw"                      \
 +              " nfsroot=${serverip}:${rootpath}\0"                    \
 +      "ramargs=setenv bootargs root=/dev/ram rw"                      \
 +              " ramdisk=${ramdisk_size}\0"                            \
 +      "addip=setenv bootargs ${bootargs} "                            \
 +              "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
 +              ":${hostname}:${netdev}:off panic=1\0"                  \
 +      "addtty=setenv bootargs ${bootargs} console=ttyS0,"             \
 +              "${baudrate}\0"                                         \
 +      "net_nfs=tftp ${kernel_mem_addr} ${file_kernel};"               \
 +              "run nfsargs addip addtty;bootm\0"                      \
 +      "net_ram=tftp ${kernel_mem_addr} ${file_kernel};"               \
 +              "tftp ${ramdisk_mem_addr} ${file_fs};"                  \
 +              "run ramargs addip addtty;"                             \
 +              "bootm ${kernel_mem_addr} ${ramdisk_mem_addr}\0"        \
 +      "rootpath=/target_fs/zeus\0"                                    \
 +      "kernel_fl_addr=ff000000\0"                                     \
 +      "kernel_mem_addr=200000\0"                                      \
 +      "ramdisk_fl_addr=ff300000\0"                                    \
 +      "ramdisk_mem_addr=4000000\0"                                    \
 +      "uboot_fl_addr=fffc0000\0"                                      \
 +      "uboot_mem_addr=100000\0"                                       \
 +      "file_uboot=/zeus/u-boot.bin\0"                                 \
 +      "tftp_uboot=tftp 100000 ${file_uboot}\0"                        \
 +      "update_uboot=protect off fffc0000 ffffffff;"                   \
 +              "era fffc0000 ffffffff;cp.b 100000 fffc0000 40000;"     \
 +              "protect on fffc0000 ffffffff\0"                        \
 +      "upd_uboot=run tftp_uboot;run update_uboot\0"                   \
 +      "file_kernel=/zeus/uImage_ba\0"                                 \
 +      "tftp_kernel=tftp 100000 ${file_kernel}\0"                      \
 +      "update_kernel=protect off ff000000 ff17ffff;"                  \
 +              "era ff000000 ff17ffff;cp.b 100000 ff000000 180000\0"   \
 +      "upd_kernel=run tftp_kernel;run update_kernel\0"                \
 +      "file_fs=/zeus/rootfs_ba.img\0"                                 \
 +      "tftp_fs=tftp 100000 ${file_fs}\0"                              \
 +      "update_fs=protect off ff300000 ff87ffff;era ff300000 ff87ffff;"\
 +              "cp.b 100000 ff300000 580000\0"                         \
 +      "upd_fs=run tftp_fs;run update_fs\0"                            \
 +      "bootcmd=chkreset;run ramargs addip addtty addmisc;"            \
 +              "bootm ${kernel_fl_addr} ${ramdisk_fl_addr}\0"          \
 +      ""
 +
 +#endif        /* __CONFIG_H */