]> www.infradead.org Git - users/rw/ppcboot.git/commitdiff
Add FPGA download for PCU E configuration.
authorwdenk <wdenk>
Sun, 27 May 2001 18:51:38 +0000 (18:51 +0000)
committerwdenk <wdenk>
Sun, 27 May 2001 18:51:38 +0000 (18:51 +0000)
Cleanup of C++ style // comments which cause C compiler warnings

16 files changed:
CHANGELOG
board/lwmon/lwmon.c
board/pcu_e/pcu_e.c
common/board.c
include/cmd_bsp.h
include/config_FADS823.h
include/config_GENIETV.h
include/config_GTH.h
include/config_RPXlite.h
include/config_SXNI855T.h
include/config_hermes.h
include/config_lwmon.h
include/config_pcu_e.h
include/config_rsdproto.h
include/ppcboot.h
include/version.h

index 9a698a126b8d9c7de7347371917e0d94e803007a..4e4d002a551b9c8e6f3ae4027bbe4bac50132008 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -60,9 +60,11 @@ Modifications for 0.9.3:
 
 * Completed support for CU824 board
 
+* Add FPGA download for PCU E configuration
+
 * Fixed PCU E configuration for other / bigger flash types
 
-* Cleanup of C++ style // comments which cause C compiler warnings.
+* Cleanup of C++ style // comments which cause C compiler warnings
 
 ======================================================================
 Modifications for 0.9.2:
index 2ea4c8995e70b07e1f2e987e49a3c2863f0506e5..16346e6271a847707015ad2fd2113b68fe3013da 100644 (file)
@@ -312,7 +312,7 @@ void do_pic (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
 #endif /* CFG_CMD_BSP */
 
 /*-----------------------------------------------------------------------
- * Test: Enable Ethernet
+ * Utilities
  */
 
 uchar pic_read (uchar reg)
index 6c3b144e26e4b4aa928c66f82f245b35a6e4e9b1..d255749dfe6f45adef6a35e1190d7d66b89c3ec0 100644 (file)
 /* ------------------------------------------------------------------------- */
 
 static long int dram_size (long int, long int *, long int);
+static void puma_status (void);
+static void puma_set_mode (int mode);
+static int  puma_init_done (void);
+static void puma_load (ulong addr, ulong len);
 
 /* ------------------------------------------------------------------------- */
 
@@ -92,6 +96,55 @@ const uint sdram_table[] =
 
 /* ------------------------------------------------------------------------- */
 
+/*
+ * PUMA access using UPM B
+ */
+const uint puma_table[] =
+{
+       /*
+        * Single Read. (Offset 0 in UPM RAM)
+        */
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_,
+       /*
+        * Precharge and MRS
+        */
+                   _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       /*
+        * Burst Read. (Offset 8 in UPM RAM)
+        */
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       /*
+        * Single Write. (Offset 18 in UPM RAM)
+        */
+       0x0ffff804, 0x0ffff400, 0x3ffffc47, /* last */
+                                           _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       /*
+        * Burst Write. (Offset 20 in UPM RAM)
+        */
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       /*
+        * Refresh  (Offset 30 in UPM RAM)
+        */
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       _NOT_USED_, _NOT_USED_, _NOT_USED_, _NOT_USED_,
+       /*
+        * Exception. (Offset 3c in UPM RAM)
+        */
+       0x7ffffc07, /* last */
+                   _NOT_USED_, _NOT_USED_, _NOT_USED_,
+};
+
+/* ------------------------------------------------------------------------- */
+
 
 /*
  * Check Board Identity:
@@ -127,30 +180,42 @@ initdram (int board_type)
     /*
      * Map controller bank 2 to the SDRAM bank at preliminary address.
      */
-    //memctl->memc_or2 = CFG_OR2_PRELIM;
-    //memctl->memc_br2 = CFG_BR2_PRELIM;
-    memctl->memc_or5 = CFG_OR5_PRELIM; /* XXX Test Board only XXX */
-    memctl->memc_br5 = CFG_BR5_PRELIM; /* XXX Test Board only XXX */
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
+    memctl->memc_or5 = CFG_OR5_PRELIM;
+    memctl->memc_br5 = CFG_BR5_PRELIM;
+#else  /* XXX */
+    memctl->memc_or2 = CFG_OR2_PRELIM;
+    memctl->memc_br2 = CFG_BR2_PRELIM;
+#endif /* XXX */
 
     /* initialize memory address register */
     memctl->memc_mamr = CFG_MAMR;      /* refresh not enabled yet */
 
     /* mode initialization (offset 5) */
-//  udelay(200);       /* 0x80004105 */
-//  memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS2 | MCR_MLCF(1) | MCR_MAD(0x05);
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
     udelay(200);       /* 0x8000A105 */
     memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS5 | MCR_MLCF(1) | MCR_MAD(0x05);
+#else  /* XXX */
+    udelay(200);       /* 0x80004105 */
+    memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS2 | MCR_MLCF(1) | MCR_MAD(0x05);
+#endif /* XXX */
 
     /* run 2 refresh sequence with 4-beat refresh burst (offset 0x30) */
-//  udelay(1);         /* 0x80004830 */
-//  memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS2 | MCR_MLCF(8) | MCR_MAD(0x30);
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
     udelay(1);         /* 0x8000A830 */
     memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS5 | MCR_MLCF(8) | MCR_MAD(0x30);
+#else  /* XXX */
+    udelay(1);         /* 0x80004830 */
+    memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS2 | MCR_MLCF(8) | MCR_MAD(0x30);
+#endif /* XXX */
 
-//  udelay(1);         /* 0x80004106 */
-//  memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS2 | MCR_MLCF(1) | MCR_MAD(0x06);
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
     udelay(1);         /* 0x8000A106 */
     memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS5 | MCR_MLCF(1) | MCR_MAD(0x06);
+#else  /* XXX */
+    udelay(1);         /* 0x80004106 */
+    memctl->memc_mcr = MCR_OP_RUN | MCR_MB_CS2 | MCR_MLCF(1) | MCR_MAD(0x06);
+#endif /* XXX */
 
     reg  =  memctl->memc_mamr;
     reg &= ~MAMR_TLFB_MSK;             /* switch timer loop ... */
@@ -162,8 +227,11 @@ initdram (int board_type)
 
     /* Need at least 10 DRAM accesses to stabilize */
     for (i=0; i<10; ++i) {
-//     volatile unsigned long *addr = (volatile unsigned long *)SDRAM_BASE2_PRELIM;
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
        volatile unsigned long *addr = (volatile unsigned long *)SDRAM_BASE5_PRELIM;
+#else  /* XXX */
+       volatile unsigned long *addr = (volatile unsigned long *)SDRAM_BASE2_PRELIM;
+#endif /* XXX */
        unsigned long val;
 
        val = *(addr + i);
@@ -173,8 +241,11 @@ initdram (int board_type)
     /*
      * Check Bank 0 Memory Size for re-configuration
      */
-//  size_b0 = dram_size (CFG_MAMR, (ulong *)SDRAM_BASE2_PRELIM, SDRAM_MAX_SIZE);
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
     size_b0 = dram_size (CFG_MAMR, (ulong *)SDRAM_BASE5_PRELIM, SDRAM_MAX_SIZE);
+#else  /* XXX */
+    size_b0 = dram_size (CFG_MAMR, (ulong *)SDRAM_BASE2_PRELIM, SDRAM_MAX_SIZE);
+#endif /* XXX */
 
     memctl->memc_mamr = CFG_MAMR | MAMR_PTBE;
 
@@ -182,14 +253,20 @@ initdram (int board_type)
      * Final mapping:
      */
 
-    //memctl->memc_or2 = ((-size_b0) & 0xFFFF0000) | SDRAM_TIMING;
-    //memctl->memc_br2 = (CFG_SDRAM_BASE & BR_BA_MSK) | BR_MS_UPMA | BR_V;
-/* XXX Test Board only XXX */
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
     memctl->memc_or5 = ((-size_b0) & 0xFFFF0000) | SDRAM_TIMING;
     memctl->memc_br5 = (CFG_SDRAM_BASE & BR_BA_MSK) | BR_MS_UPMA | BR_V;
-/* XXX Test Board only XXX */
+#else  /* XXX */
+    memctl->memc_or2 = ((-size_b0) & 0xFFFF0000) | SDRAM_TIMING;
+    memctl->memc_br2 = (CFG_SDRAM_BASE & BR_BA_MSK) | BR_MS_UPMA | BR_V;
+#endif /* XXX */
     udelay(1000);
 
+    /*
+     * Configure UPMB for PUMA
+     */
+    upmconfig(UPMB, (uint *)puma_table, sizeof(puma_table)/sizeof(uint));
+
     return (size_b0);
 }
 
@@ -241,8 +318,12 @@ static long int dram_size (long int mamr_value, long int *base, long int maxsize
 
 /* ------------------------------------------------------------------------- */
 
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+#define        ETH_CFG_BITS    (CFG_PB_ETH_CFG1 | CFG_PB_ETH_CFG2  | CFG_PB_ETH_CFG3 )
+#else /* XXX */
 #define        ETH_CFG_BITS    (CFG_PB_ETH_MDDIS | CFG_PB_ETH_CFG1 | \
                         CFG_PB_ETH_CFG2  | CFG_PB_ETH_CFG3 )
+#endif /* XXX */
 
 #define ETH_ALL_BITS   (ETH_CFG_BITS | CFG_PB_ETH_POWERDOWN | CFG_PB_ETH_RESET)
 
@@ -252,6 +333,16 @@ void       reset_phy(void)
        ulong value;
 
        /* Configure all needed port pins for GPIO */
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+# if CFG_ETH_MDDIS_VALUE
+       immr->im_ioport.iop_padat |=   CFG_PA_ETH_MDDIS;
+# else
+       immr->im_ioport.iop_padat &= ~(CFG_PA_ETH_MDDIS);       /* Set low */
+# endif
+       immr->im_ioport.iop_papar &= ~(CFG_PA_ETH_MDDIS);       /* GPIO */
+       immr->im_ioport.iop_paodr &= ~(CFG_PA_ETH_MDDIS);       /* active output */
+       immr->im_ioport.iop_padir |=   CFG_PA_ETH_MDDIS;        /* output */
+#endif /* XXX */
        immr->im_cpm.cp_pbpar &= ~(ETH_ALL_BITS);       /* GPIO */
        immr->im_cpm.cp_pbodr &= ~(ETH_ALL_BITS);       /* active output */
 
@@ -262,22 +353,24 @@ void      reset_phy(void)
        value &= ~(CFG_PB_ETH_RESET);
 
        /* PHY configuration includes MDDIS and CFG1 ... CFG3 */
-#if CFG_PB_ETH_MDDIS_VALUE
+#if !PCU_E_WITH_SWAPPED_CS
+# if CFG_ETH_MDDIS_VALUE
        value |=   CFG_PB_ETH_MDDIS;
-#else
+# else
        value &= ~(CFG_PB_ETH_MDDIS);
+# endif
 #endif
-#if CFG_PB_ETH_CFG1_VALUE
+#if CFG_ETH_CFG1_VALUE
        value |=   CFG_PB_ETH_CFG1;
 #else
        value &= ~(CFG_PB_ETH_CFG1);
 #endif
-#if CFG_PB_ETH_CFG2_VALUE
+#if CFG_ETH_CFG2_VALUE
        value |=   CFG_PB_ETH_CFG2;
 #else
        value &= ~(CFG_PB_ETH_CFG2);
 #endif
-#if CFG_PB_ETH_CFG3_VALUE
+#if CFG_ETH_CFG3_VALUE
        value |=   CFG_PB_ETH_CFG3;
 #else
        value &= ~(CFG_PB_ETH_CFG3);
@@ -297,4 +390,192 @@ void      reset_phy(void)
        udelay (1000);
 }
 
+/*-----------------------------------------------------------------------
+ * Board Special Commands: access functions for "PUMA" FPGA
+ */
+#if (CONFIG_COMMANDS & CFG_CMD_BSP)
+
+#define        PUMA_READ_MODE  0
+#define PUMA_LOAD_MODE 1
+
+void do_puma (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+{
+       ulong addr, len;
+
+       switch (argc) {
+       case 2:                 /* PUMA reset */
+               if (strncmp(argv[1], "stat", 4) == 0) {         /* Reset */
+                       puma_status ();
+                       return;
+               }
+               break;
+       case 4:                 /* PUMA load addr len */
+               if (strcmp(argv[1],"load") != 0)
+                       break;
+
+               addr = simple_strtoul(argv[2], NULL, 16);
+               len  = simple_strtoul(argv[3], NULL, 16);
+
+               printf ("PUMA load: addr %08lX len %ld (0x%lX):  ",
+                       addr, len, len);
+               puma_load (addr, len);
+
+               return;
+       default:
+               break;
+       }
+       printf ("Usage:\n%s\n", cmdtp->usage);
+}
+
+#endif /* CFG_CMD_BSP */
+
+/* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . */
+
+static void puma_set_mode (int mode)
+{
+       volatile immap_t     *immr  = (immap_t *)CFG_IMMR;
+       volatile memctl8xx_t *memctl = &immr->im_memctl;
+
+       /* disable PUMA in memory controller */
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
+    memctl->memc_br3 = 0;
+#else  /* XXX */
+    memctl->memc_br4 = 0;
+#endif /* XXX */
+       
+       switch (mode) {
+       case PUMA_READ_MODE:
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
+               memctl->memc_or3 = PUMA_CONF_OR_READ;
+               memctl->memc_br3 = PUMA_CONF_BR_READ;
+#else  /* XXX */
+               memctl->memc_or4 = PUMA_CONF_OR_READ;
+               memctl->memc_br4 = PUMA_CONF_BR_READ;
+#endif /* XXX */
+               break;
+       case PUMA_LOAD_MODE:
+#if PCU_E_WITH_SWAPPED_CS      /* XXX */
+               memctl->memc_or3 = PUMA_CONF_OR_LOAD;
+               memctl->memc_br3 = PUMA_CONF_BR_LOAD;
+#else  /* XXX */
+               memctl->memc_or4 = PUMA_CONF_OR_READ;
+               memctl->memc_br4 = PUMA_CONF_BR_READ;
+#endif /* XXX */
+               break;
+       }
+}
+
+/* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . */
+
+#define        PUMA_INIT_TIMEOUT       1000    /* max. 1000 ms = 1 second */
+
+static void puma_load (ulong addr, ulong len)
+{
+       volatile immap_t *immr = (immap_t *)CFG_IMMR;
+       volatile uchar *fpga_addr = (volatile uchar *)PUMA_CONF_BASE; /* XXX ??? */
+       uchar *data = (uchar *)addr;
+       int i;
+
+       /* align length */
+       if (len & 1)
+               ++len;
+
+       /* Reset FPGA */
+       immr->im_ioport.iop_pcpar &= ~(CFG_PC_PUMA_INIT);       /* make input */
+       immr->im_ioport.iop_pcso  &= ~(CFG_PC_PUMA_INIT);
+       immr->im_ioport.iop_pcdir &= ~(CFG_PC_PUMA_INIT);
+
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+       immr->im_cpm.cp_pbpar &= ~(CFG_PB_PUMA_PROG);           /* GPIO */
+       immr->im_cpm.cp_pbodr &= ~(CFG_PB_PUMA_PROG);           /* active output */
+       immr->im_cpm.cp_pbdat &= ~(CFG_PB_PUMA_PROG);           /* Set low */
+       immr->im_cpm.cp_pbdir |=   CFG_PB_PUMA_PROG;            /* output */
+#else
+       immr->im_ioport.iop_papar &= ~(CFG_PA_PUMA_PROG);       /* GPIO */
+       immr->im_ioport.iop_padat &= ~(CFG_PA_PUMA_PROG);       /* Set low */
+       immr->im_ioport.iop_paodr &= ~(CFG_PA_PUMA_PROG);       /* active output */
+       immr->im_ioport.iop_padir |=   CFG_PA_PUMA_PROG;        /* output */
+#endif /* XXX */
+       udelay (100);
+
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+       immr->im_cpm.cp_pbdat |= CFG_PB_PUMA_PROG;              /* release reset */
+#else
+       immr->im_ioport.iop_padat |= CFG_PA_PUMA_PROG;          /* release reset */
+#endif /* XXX */
+
+       /* wait until INIT indicates completion of reset */
+       for (i=0; i<PUMA_INIT_TIMEOUT; ++i) {
+               udelay (1000);
+               if (immr->im_ioport.iop_pcdat & CFG_PC_PUMA_INIT)
+                       break;
+       }
+       if (i == PUMA_INIT_TIMEOUT) {
+               printf ("*** PUMA init timeout ***\n");
+               return;
+       }
+
+       puma_set_mode (PUMA_LOAD_MODE);
+
+       while (len--)
+               *fpga_addr = *data++;
+
+       puma_set_mode (PUMA_READ_MODE);
+
+       puma_status ();
+}
+
+/* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . */
+
+static void puma_status (void)
+{
+       /* Check state */
+       printf ("PUMA initialization is %scomplete\n",
+               puma_init_done() ? "" : "NOT ");
+}
+
+/* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . */
+
+static int puma_init_done (void)
+{
+       volatile immap_t *immr = (immap_t *)CFG_IMMR;
+
+       /* make sure pin is GPIO input */
+       immr->im_ioport.iop_pcpar &= ~(CFG_PC_PUMA_DONE);
+       immr->im_ioport.iop_pcso  &= ~(CFG_PC_PUMA_DONE);
+       immr->im_ioport.iop_pcdir &= ~(CFG_PC_PUMA_DONE);
+
+       return (immr->im_ioport.iop_pcdat & CFG_PC_PUMA_DONE) ? 1 : 0;
+}
+
+/* ------------------------------------------------------------------------- */
+
+void misc_init_r (bd_t *dummy)
+{
+       ulong addr = 0;
+       ulong len  = 0;
+       char *s;
+
+       printf ("  PUMA:  ");
+       if (puma_init_done()) {
+               printf ("initialized\n");
+               return;
+       }
+
+       if ((s = getenv("puma_addr")) != NULL)
+               addr = simple_strtoul(s, NULL, 16);
+
+       if ((s = getenv("puma_len")) != NULL)
+               len = simple_strtoul(s, NULL, 16);
+       
+       if ((!addr) || (!len)) {
+               printf ("net list undefined\n");
+               return;
+       }
+
+       printf ("loading... ");
+
+       puma_load (addr, len);
+}
+
 /* ------------------------------------------------------------------------- */
index 5dff1d562f3026e70a9a331988aa14ececebe326..3ff007cb00f6d72ad99fb8bc916d2597d8477bc9 100644 (file)
@@ -515,7 +515,10 @@ void    board_init_r  (bd_t *bd, ulong dest_addr)
     /* relocate environment function pointers etc. */
     env_relocate (reloc_off);
 
-#if defined(CONFIG_COGENT) || defined(CONFIG_HYMOD) || defined(CONFIG_CPCI405)
+#if defined(CONFIG_COGENT)  || \
+    defined(CONFIG_HYMOD)   || \
+    defined(CONFIG_CPCI405) || \
+    defined(CONFIG_PCU_E)
     /* miscellaneous platform dependent initialisations */
     misc_init_r(bd);
 #endif
index 13508552eb5ec91851b3518118bfb87b30d5d182..483a301a16c63b6c3ac4b510099f64efb16d0cfd 100644 (file)
@@ -45,6 +45,22 @@ void do_pic (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
 #endif /* CONFIG_LWMON */
 /* ----------------------------------------------------------------------------*/
 
+/* ----- PCU E -----------------------------------------------------------------
+ */
+#if defined(CONFIG_PCU_E)
+
+#define CMD_TBL_BSP    MK_CMD_TBL_ENTRY(                                       \
+       "puma", 4,      4,      1,      do_puma,                                \
+       "puma    - access PUMA FPGA\n",                                         \
+       "status - print PUMA status\n"                                          \
+       "puma load addr len - load PUMA configuration data\n"                   \
+),
+
+void do_puma (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[]);
+
+#endif /* CONFIG_PCU_E */
+/* ----------------------------------------------------------------------------*/
+
 #else
 
 #define CMD_TBL_BSP
index 518a9f50a6cd3ef3752140731282a55a1e87b67c..bdd2a34fb3f481647672013815f3141dd545d0d5 100644 (file)
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define        CONFIG_ETHADDR          08:00:22:50:70:63       // Ethernet address
-#define CONFIG_ENV_OVERWRITE   1       // Overwrite the environment
+#define        CONFIG_ETHADDR          08:00:22:50:70:63       /* Ethernet address */
+#define CONFIG_ENV_OVERWRITE   1       /* Overwrite the environment */
 
-#define CONFIG_VIDEO           1       // To enable video controller support
-#define CONFIG_I2C             1       // To enable I2C support
-//Now included by CFG_CMD_PCMCIA
-//#define CONFIG_PCMCIA                1       // To enable PCMCIA support
+#define CONFIG_VIDEO           1       /* To enable video controller support */
+#define CONFIG_I2C             1       /* To enable I2C support */
+/*Now included by CFG_CMD_PCMCIA */
+/*#define CONFIG_PCMCIA                1       / * To enable PCMCIA support */
 
 /* Video related */
 
-#define CONFIG_VIDEO_LOGO                      1       // Show the logo
-#define CONFIG_VIDEO_ENCODER_AD7176            1       // Enable this encoder
-#define CONFIG_VIDEO_ENCODER_AD7176_ADDR       0x54    // Default on fads
+#define CONFIG_VIDEO_LOGO                      1       /* Show the logo */
+#define CONFIG_VIDEO_ENCODER_AD7176            1       /* Enable this encoder */
+#define CONFIG_VIDEO_ENCODER_AD7176_ADDR       0x54    /* Default on fads */
 #define CONFIG_VIDEO_SIZE                      (2*1024*1024)
-#define CONFIG_VIDEO_ADDR (bd_ptr->bi_memsize - CONFIG_VIDEO_SIZE) // Frame buffer address
+#define CONFIG_VIDEO_ADDR (bd_ptr->bi_memsize - CONFIG_VIDEO_SIZE) /* Frame buffer address */
 
 /* Wireless 56Khz 4PPM keyboard on SMCx */
 
-//#define CONFIG_WL_4PPM_KEYBOARD              1
-#define CONFIG_WL_4PPM_KEYBOARD_SMC    0       // SMC to use (0 indexed)
+/*#define CONFIG_WL_4PPM_KEYBOARD              1 */
+#define CONFIG_WL_4PPM_KEYBOARD_SMC    0       /* SMC to use (0 indexed) */
 
 /*
  * High Level Configuration Options
@@ -73,7 +73,7 @@
 #undef CONFIG_8xx_CONS_NONE
 #define CONFIG_BAUDRATE                115200
 
-// Set the CPU speed to 50Mhz on the FADS
+/* Set the CPU speed to 50Mhz on the FADS */
 
 #if 0
 #define MPC8XX_FACT    10                      /* Multiply by 10               */
index c0ecdc810dff958f53be24c41cdbea324909c89f..3f0a74dac7024380297bd10d9c9593d36e9d63f7 100644 (file)
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
-#define        CONFIG_ETHADDR          08:00:22:50:70:63       // Ethernet address
-#define CONFIG_ENV_OVERWRITE   1       // Overwrite the environment
+#define        CONFIG_ETHADDR          08:00:22:50:70:63       /* Ethernet address */
+#define CONFIG_ENV_OVERWRITE   1       /* Overwrite the environment */
 
-#define CFG_ALLOC_DPRAM                        // Use dynamic DPRAM allocation
+#define CFG_ALLOC_DPRAM                        /* Use dynamic DPRAM allocation */
 
-#define CFG_AUTOLOAD           "n"     // No autoload
+#define CFG_AUTOLOAD           "n"     /* No autoload */
 
-//#define CONFIG_VIDEO         1       // To enable the video initialization
-//#define CONFIG_VIDEO_ADDR    0x00200000
-//#define CONFIG_I2C           1       // Needed for 7176 & 7177
-//#define CONFIG_PCMCIA                1       // To enable the PCMCIA initialization
+/*#define CONFIG_VIDEO         1       // To enable the video initialization */
+/*#define CONFIG_VIDEO_ADDR    0x00200000 */
+/*#define CONFIG_I2C           1       // Needed for 7176 & 7177 */
+/*#define CONFIG_PCMCIA                1       // To enable the PCMCIA initialization */
 
-//#define CFG_PCMCIA_IO_ADDR   0xff020000
-//#define CFG_PCMCIA_IO_SIZE   0x10000
-//#define CFG_PCMCIA_MEM_ADDR  0xe0000000
-//#define CFG_PCMCIA_MEM_SIZE  0x10000
+/*#define CFG_PCMCIA_IO_ADDR   0xff020000 */
+/*#define CFG_PCMCIA_IO_SIZE   0x10000 */
+/*#define CFG_PCMCIA_MEM_ADDR  0xe0000000 */
+/*#define CFG_PCMCIA_MEM_SIZE  0x10000 */
 
 /* Video related */
 
-//#define CONFIG_VIDEO_LOGO                    1       // Show the logo
-//#define CONFIG_VIDEO_ENCODER_AD7177          1       // Enable this encoder
-//#define CONFIG_VIDEO_ENCODER_AD7177_ADDR     0xF4    // ALSB to ground
+/*#define CONFIG_VIDEO_LOGO                    1       // Show the logo */
+/*#define CONFIG_VIDEO_ENCODER_AD7177          1       // Enable this encoder */
+/*#define CONFIG_VIDEO_ENCODER_AD7177_ADDR     0xF4    // ALSB to ground */
 
 /* Wireless 56Khz 4PPM keyboard on SMCx */
 
-//#define CONFIG_WL_4PPM_KEYBOARD              0
-//#define CONFIG_WL_4PPM_KEYBOARD_SMC  0       // SMC to use (0 indexed)
+/*#define CONFIG_WL_4PPM_KEYBOARD              0 */
+/*#define CONFIG_WL_4PPM_KEYBOARD_SMC  0       // SMC to use (0 indexed) */
 
 /*
  * High Level Configuration Options
 #define CFG_OR_TIMING_FLASH    (OR_CSNT_SAM  | OR_ACS_DIV2 | OR_BI | \
                                OR_SCY_15_CLK | OR_TRLX )
 
-//#define CFG_OR0_REMAP        (CFG_REMAP_OR_AM  | CFG_OR_TIMING_FLASH)
-#define CFG_OR0_PRELIM (CFG_PRELIM_OR_AM | CFG_OR_TIMING_FLASH)                // 0xfff80ff4
-#define CFG_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_V | BR_PS_8)     // 0x02800401
+/*#define CFG_OR0_REMAP        (CFG_REMAP_OR_AM  | CFG_OR_TIMING_FLASH) */
+#define CFG_OR0_PRELIM (CFG_PRELIM_OR_AM | CFG_OR_TIMING_FLASH)                /* 0xfff80ff4 */
+#define CFG_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_V | BR_PS_8)     /* 0x02800401 */
 
 /*
  * BR1/2 and OR1/2 (SDRAM)
 
 #define CFG_OR_TIMING_SDRAM    0x00000A00
 
-#define SDRAM_MAX_SIZE         0x04000000      // 64Mb bank
-#define SDRAM_BASE1_PRELIM     0x00000000      // First bank
-#define SDRAM_BASE2_PRELIM     0x10000000      // Second bank
+#define SDRAM_MAX_SIZE         0x04000000      /* 64Mb bank */
+#define SDRAM_BASE1_PRELIM     0x00000000      /* First bank */
+#define SDRAM_BASE2_PRELIM     0x10000000      /* Second bank */
 
 /*
  * Memory Periodic Timer Prescaler
 /* 8 column SDRAM */
 #define CFG_MBMR_8COL  ((CFG_MBMR_PTB << MAMR_PTA_SHIFT)  | MAMR_PTAE | \
                        MAMR_G0CLA_A11 | MAMR_RLFA_1X | MAMR_WLFA_1X \
-                       | MAMR_TLFA_4X) // 0x5d802114
+                       | MAMR_TLFA_4X) /* 0x5d802114 */
 
 /*
  * Internal Definitions
index 0138445b9b7ad30fe4c11588e2b81dd918c8a5d5..b3107a9c9f861ce5bbe01859daf4e045de2fca57 100644 (file)
 
 #define CONFIG_BOOT_RETRY_TIME 30 /* Retry boot in 30 secs */
 
-// Only interrupt boot if space is pressed
-// If a long serial cable is connected but
-// other end is dead, garbage will be read
+/* Only interrupt boot if space is pressed */
+/* If a long serial cable is connected but */
+/* other end is dead, garbage will be read */
 #define CONFIG_AUTOBOOT_KEYED 1
 #define CONFIG_AUTOBOOT_PROMPT "Press space to abort autoboot\n"
 #define CONFIG_AUTOBOOT_DELAY_STR " "
 #define CONFIG_AUTOBOOT_STOP_STR "s"
 
 #if 0
-// Net boot
+/* Net boot */
 /* Loads a tftp image and starts it */
 #define CONFIG_BOOTCOMMAND     "bootp;bootm 100000"    /* autoboot command */
 #define CONFIG_BOOTARGS                "panic=1"
 #else
-// Compact flash boot
+/* Compact flash boot */
 #define CONFIG_BOOTARGS "panic=1 root=/dev/hda4"
 #define CONFIG_BOOTCOMMAND "disk 100000 0:2;bootm 100000"
 #endif
 
 #undef CONFIG_WATCHDOG
-// #define CONFIG_WATCHDOG 1 /* watchdog disabled              */
+/* #define CONFIG_WATCHDOG 1 / * watchdog disabled             */
 
 /* choose SCC1 ethernet (10BASET on motherboard)
  * or FEC ethernet (10/100 on daughterboard)
  *-----------------------------------------------------------------------
  */
 
-//FIXME dont use for now
-//#define CFG_RTCSC    (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
-//#define CFG_RTCSC    (RTCSC_RTF)
+/*FIXME dont use for now */
+/*#define CFG_RTCSC    (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE) */
+/*#define CFG_RTCSC    (RTCSC_RTF) */
 
 /*-----------------------------------------------------------------------
  * PISCR - Periodic Interrupt Status and Control               11-31
  * Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
  */
 #define CFG_PISCR      (PISCR_PS | PISCR_PITF)
-// PITE
+/* PITE */
 /*-----------------------------------------------------------------------
  * PLPRCR - PLL, Low-Power, and Reset Control Register 15-30
  *-----------------------------------------------------------------------
  * power management and some other internal clocks
  */
 
-// FIXME check values
+/* FIXME check values */
 #define SCCR_MASK      SCCR_EBDF11
 #define CFG_SCCR       (SCCR_TBS|SCCR_RTSEL|SCCR_COM00|SCCR_DFSYNC00|SCCR_DFBRG00|SCCR_DFNL000|SCCR_DFNH000|SCCR_DFLCD000|SCCR_DFALCD00)
 
index 9a2189d1d2a9bf5dc2923cc95733b687bb50692c..00bd6a427b4ead3bd5093aadaeec2e52d5eca118 100644 (file)
  */
 #define        CFG_SDRAM_BASE          0x00000000
 #define CFG_FLASH_BASE 0xFFC00000
-//%%% #define CFG_FLASH_BASE           0xFFF00000
+/*%%% #define CFG_FLASH_BASE           0xFFF00000 */
 #if defined(DEBUG) || (CONFIG_COMMANDS & CFG_CMD_IDE)
 #define        CFG_MONITOR_LEN         (256 << 10)     /* Reserve 256 kB for Monitor   */
 #else
 #define        CFG_MONITOR_LEN         (128 << 10)     /* Reserve 128 kB for Monitor   */
 #endif
 #define CFG_MONITOR_BASE       0xFFF00000
-//%%% #define CFG_MONITOR_BASE CFG_FLASH_BASE
+/*%%% #define CFG_MONITOR_BASE CFG_FLASH_BASE */
 #define        CFG_MALLOC_LEN          (128 << 10)     /* Reserve 128 kB for malloc()  */
 
 /*
  * RTCSC - Real-Time Clock Status and Control Register         11-27
  *-----------------------------------------------------------------------
  */
-//%%%#define CFG_RTCSC (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
+/*%%%#define CFG_RTCSC (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE) */
 #define CFG_RTCSC      (RTCSC_SEC | RTCSC_RTE)
 
 /*-----------------------------------------------------------------------
 #define BOOTFLAG_WARM  0x02            /* Software reboot                      */
 
 
-//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-// Configuration variable added by yooth.
-//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
+/* Configuration variable added by yooth. */
+/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
 
 /*
  * BCSRx
index 2619d40c2c3df200d93f81c4cdd41c64555a059e..ee6fd5a32a17d22d27cbd3cfa9ba58778b6eadcb 100644 (file)
 
 #define CONFIG_RESET_ON_PANIC          /* reset if system panic() */
 
-// to put environment in EEROM
+/* to put environment in EEROM */
 #define        CFG_ENV_IS_IN_EEPROM    1
 #define CFG_ENV_OFFSET         0       /* Start right at beginning of NVRAM */
 #define CFG_ENV_SIZE           512     /* Use only a part of it*/
index ee658f9794ee1db8d5bd640a8dc6f1ba766fe92c..11e25ad144d03a4b54bd74acb75854b0867d4c3a 100644 (file)
  *-----------------------------------------------------------------------
  * +0x0000 => 0x000000C0
  */
-#define CFG_SIUMCR     0 //XXX-wd-XXX (SIUMCR_BSC | SIUMCR_GB5E)
+#define CFG_SIUMCR     0
 
 /*-----------------------------------------------------------------------
  * TBSCR - Time Base Status and Control                                11-26
index 063d1fe9c5b030b08b0f6e0b0651ea4dfe325acc..3ab0b05f01bd143a58425f5fea52f57917e448e3 100644 (file)
 #define CONFIG_MPC823          1       /* This is a MPC823E CPU        */
 #define CONFIG_LWMON           1       /* ...on a LWMON board          */
 
+#if 1
 #define        CONFIG_8xx_CONS_SMC2    1       /* Console is on SMC2           */
-//#define      CONFIG_8xx_CONS_SCC2
+#else
+#define        CONFIG_8xx_CONS_SCC2
+#endif
 
 #define CONFIG_BAUDRATE                19200
 #if 0
 /* EARB, DBGC and DBPC are initialised by the HCW */
 /* => 0x000000C0 */
 #define CFG_SIUMCR     (SIUMCR_GB5E)
-//#define CFG_SIUMCR   (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
+/*#define CFG_SIUMCR   (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01) */
 
 /*-----------------------------------------------------------------------
  * TBSCR - Time Base Status and Control                                11-26
index d2bb48115fbb541bd909cd18b78fcc0e29328ac2..3d9d8b47bd49451fb38ef0b512d5bbee4ffd0d90 100644 (file)
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
+/*
+ * Workaround for layout bug on prototype board
+ */
+#define        PCU_E_WITH_SWAPPED_CS   1
+
 /*
  * High Level Configuration Options
  * (easy to change)
@@ -61,7 +66,7 @@
 
 #define        CONFIG_RTC_MPC8xx               /* use internal RTC of MPC8xx   */
 
-#define CONFIG_COMMANDS                (CONFIG_CMD_DFL | CFG_CMD_DATE)
+#define CONFIG_COMMANDS                (CONFIG_CMD_DFL | CFG_CMD_DATE | CFG_CMD_BSP)
 
 #define CONFIG_BOOTP_MASK \
     ((CONFIG_BOOTP_DEFAULT | CONFIG_BOOTP_BOOTFILESIZE) & ~CONFIG_BOOTP_GATEWAY)
 #define        CFG_PIO_MODE            0       /* IDE interface in PIO Mode 0  */
 
 /* Ethernet hardware configuration done using port pins */
-#define CFG_PB_ETH_MDDIS       0x00000010              /* PB 27        */
 #define CFG_PB_ETH_RESET       0x00000020              /* PB 26        */
-#if 0 /* XXX */
-#define CFG_PB_ETH_POWERDOWN   0x00000100              /* PB 23        */
-#define CFG_PB_ETH_CFG1                0x00000200              /* PB 22        */
-#define CFG_PB_ETH_CFG2                0x00000400              /* PB 21        */
-#define CFG_PB_ETH_CFG3                0x00000800              /* PB 20        */
-#else /* XXX */
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+#define CFG_PA_ETH_MDDIS       0x4000                  /* PA  1        */
 #define CFG_PB_ETH_POWERDOWN   0x00000800              /* PB 20        */
 #define CFG_PB_ETH_CFG1                0x00000400              /* PB 21        */
 #define CFG_PB_ETH_CFG2                0x00000200              /* PB 22        */
 #define CFG_PB_ETH_CFG3                0x00000100              /* PB 23        */
+#else /* XXX */
+#define CFG_PB_ETH_MDDIS       0x00000010              /* PB 27        */
+#define CFG_PB_ETH_POWERDOWN   0x00000100              /* PB 23        */
+#define CFG_PB_ETH_CFG1                0x00000200              /* PB 22        */
+#define CFG_PB_ETH_CFG2                0x00000400              /* PB 21        */
+#define CFG_PB_ETH_CFG3                0x00000800              /* PB 20        */
 #endif /* XXX */
 
 /* Ethernet settings:
  * MDIO enabled, autonegotiation, 10/100Mbps, half/full duplex
  */
-#define CFG_PB_ETH_MDDIS_VALUE 0
-#define CFG_PB_ETH_CFG1_VALUE  1
-#define CFG_PB_ETH_CFG2_VALUE  1
-#define CFG_PB_ETH_CFG3_VALUE  1
+#define CFG_ETH_MDDIS_VALUE    0
+#define CFG_ETH_CFG1_VALUE     1
+#define CFG_ETH_CFG2_VALUE     1
+#define CFG_ETH_CFG3_VALUE     1
+
+/* PUMA configuration */
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+#define CFG_PB_PUMA_PROG       0x00000010              /* PB 27        */
+#else /* XXX */
+#define CFG_PA_PUMA_PROG       0x4000                  /* PA  1        */
+#endif /* XXX */
+#define CFG_PC_PUMA_DONE       0x0008                  /* PC 12        */
+#define CFG_PC_PUMA_INIT       0x0004                  /* PC 13        */
 
 #define        CFG_HZ          1000            /* decrementer freq: 1 ms ticks */
 
  */
 
 #define FLASH_BASE0_PRELIM     0xFF800000      /* FLASH bank #0        */
-#if 0 /* XXX */
-#define FLASH_BASE1_PRELIM     0xFF000000      /* FLASH bank #1        */
-#else /* XXX */
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
 #define FLASH_BASE6_PRELIM     0xFF000000      /* FLASH bank #1        */
+#else /* XXX */
+#define FLASH_BASE1_PRELIM     0xFF000000      /* FLASH bank #1        */
 #endif /* XXX */
 
 /*
 /* 16 bit, bank valid */
 #define CFG_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_PS_16 | BR_V )
 
-#if 0 /* XXX */
-#define CFG_OR1_REMAP  CFG_OR0_REMAP
-#define CFG_OR1_PRELIM CFG_OR0_PRELIM
-#define CFG_BR1_PRELIM ((FLASH_BASE1_PRELIM & BR_BA_MSK) | BR_PS_16 | BR_V )
-#else /* XXX */
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
 #define CFG_OR6_REMAP  CFG_OR0_REMAP
 #define CFG_OR6_PRELIM CFG_OR0_PRELIM
 #define CFG_BR6_PRELIM ((FLASH_BASE6_PRELIM & BR_BA_MSK) | BR_PS_16 | BR_V )
+#else /* XXX */
+#define CFG_OR1_REMAP  CFG_OR0_REMAP
+#define CFG_OR1_PRELIM CFG_OR0_PRELIM
+#define CFG_BR1_PRELIM ((FLASH_BASE1_PRELIM & BR_BA_MSK) | BR_PS_16 | BR_V )
 #endif /* XXX */
 
 /*
  *
  * Multiplexed addresses, GPL5 output to GPL5_A (don't care)
  */
-#if 0 /* XXX */
-#define SDRAM_BASE2_PRELIM     0x00000000      /* SDRAM bank */
-#else /* XXX */
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
 #define SDRAM_BASE5_PRELIM     0x00000000      /* SDRAM bank */
+#else /* XXX */
+#define SDRAM_BASE2_PRELIM     0x00000000      /* SDRAM bank */
 #endif /* XXX */
 #define SDRAM_PRELIM_OR_AM     0xF8000000      /* map 128 MB (>SDRAM_MAX_SIZE!) */
 #define SDRAM_TIMING           OR_CSNT_SAM     /* SDRAM-Timing */
 
 #define SDRAM_MAX_SIZE         0x04000000      /* max 64 MB SDRAM */
 
-#if 0 /* XXX */
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+#define CFG_OR5_PRELIM (SDRAM_PRELIM_OR_AM | SDRAM_TIMING )
+#define CFG_BR5_PRELIM ((SDRAM_BASE5_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
+#else /* XXX */
 #define CFG_OR2_PRELIM (SDRAM_PRELIM_OR_AM | SDRAM_TIMING )
 #define CFG_BR2_PRELIM ((SDRAM_BASE2_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
+#endif /* XXX */
+
+/*
+ * BR3/OR3: CAN Controller
+ */
+#define CAN_CTRLR_BASE         0x10000000      /* CAN Controller */
+#define CAN_CTRLR_OR_AM                0xFFFF8000      /* 32 kB */
+/* ??? */
+
+/* 
+ * BR4/OR4: PUMA Config
+ *
+ * Memory controller will be used in 2 modes:
+ *
+ * - "read" mode:
+ *     BR4: 0x10100801         OR4: 0xffff8520
+ * - "load" mode (chip select on UPM B):
+ *     BR4: 0x101008c1         OR4: 0xffff8600
+ *
+ * Default initialization is in "read" mode
+ */
+#define PUMA_CONF_BASE         0x10100000      /* PUMA Config */
+#define PUMA_CONF_OR_AM                0xFFFF8000      /* 32 kB */
+#define        PUMA_CONF_LOAD_TIMING   (OR_ACS_DIV2)
+#define PUMA_CONF_READ_TIMING  (OR_G5LA | OR_BI | OR_SCY_2_CLK)
+
+#define PUMA_CONF_BR_LOAD      ((PUMA_CONF_BASE & BR_BA_MSK) | \
+                                       BR_PS_16 | BR_MS_UPMB | BR_V)
+#define PUMA_CONF_OR_LOAD      (PUMA_CONF_OR_AM | PUMA_CONF_LOAD_TIMING)
+
+#define PUMA_CONF_BR_READ      ((PUMA_CONF_BASE & BR_BA_MSK) | BR_PS_16 | BR_V)
+#define PUMA_CONF_OR_READ      (PUMA_CONF_OR_AM | PUMA_CONF_READ_TIMING)
+
+#if PCU_E_WITH_SWAPPED_CS /* XXX */
+#define CFG_BR3_PRELIM         PUMA_CONF_BR_READ
+#define CFG_OR3_PRELIM         PUMA_CONF_OR_READ
 #else /* XXX */
-#define CFG_OR5_PRELIM (SDRAM_PRELIM_OR_AM | SDRAM_TIMING )
-#define CFG_BR5_PRELIM ((SDRAM_BASE5_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
+#define CFG_BR4_PRELIM         PUMA_CONF_BR_READ
+#define CFG_OR4_PRELIM         PUMA_CONF_OR_READ
 #endif /* XXX */
 
+/*
+ * BR5/OR5: PUMA: SMA Bus 8 Bit
+ */
+#define PUMA_SMA8_BASE         0x10200000      /* PUMA SMA Bus 8 Bit */
+#define PUMA_SMA8_OR_AM                0xFFE00000      /* 2 MB */
+
+/*
+ * BR6/OR6: PUMA: SMA Bus 16 Bit
+ */
+#define PUMA_SMA16_BASE                0x10600000      /* PUMA SMA Bus 16 Bit */
+#define PUMA_SMA16_OR_AM       0xFFE00000      /* 2 MB */
+
+/*
+ * BR7/OR7: PUMA: external Flash
+ */
+#define PUMA_FLASH_BASE                0x10A00000      /* PUMA external Flash */
+#define PUMA_FLASH_OR_AM       0xFE000000      /* 32 MB */
+
 /*
  * Memory Periodic Timer Prescaler
  */
index f98e21563c5f801eaac7805b268db94347fc3629..f0fb3e1e24cfed4262b2faf1807d8c26736dd4af 100644 (file)
 #define PHYS_DPRAM_PCI         0xE8000000 /* DPRAM PPC/PCI */
 #define PHYS_DPRAM_PCI_SIZE    0x00020000 /* 128 KB */
 
-//#define PHYS_DPRAM_PCI_SEM   0x04020000 /* DPRAM PPC/PCI Semaphore */
-//#define PHYS_DPRAM_PCI_SEM_SIZE      0x00000001 /* 1 Byte */
+/*#define PHYS_DPRAM_PCI_SEM   0x04020000 / * DPRAM PPC/PCI Semaphore */
+/*#define PHYS_DPRAM_PCI_SEM_SIZE      0x00000001 / * 1 Byte */
 
 #define PHYS_DPRAM_SHARC               0xE8100000 /* DPRAM PPC/Sharc */
 #define PHYS_DPRAM_SHARC_SIZE  0x00040000 /* 256 KB */
 
-//#define PHYS_DPRAM_SHARC_SEM 0x04140000 /* DPRAM PPC/Sharc Semaphore */
-//#define PHYS_DPRAM_SHARC_SEM_SIZE 0x00000001 /* 1 Byte */
+/*#define PHYS_DPRAM_SHARC_SEM 0x04140000 / * DPRAM PPC/Sharc Semaphore */
+/*#define PHYS_DPRAM_SHARC_SEM_SIZE 0x00000001 / * 1 Byte */
 
 #define PHYS_VIRTEX_REGISTER    0xE8300000 /* FPGA implemented register */
 #define PHYS_VIRTEX_REGISTER_SIZE 0x00000100
  */
 #define        CFG_SDRAM_BASE          PHYS_SDRAM_60X
 #define CFG_FLASH_BASE         PHYS_FLASH
-//#define      CFG_MONITOR_BASE        0x200000
+/*#define      CFG_MONITOR_BASE        0x200000 */
 #define        CFG_MONITOR_BASE        CFG_FLASH_BASE
 #if CFG_MONITOR_BASE < CFG_FLASH_BASE
 #define CFG_RAMBOOT
index 98268aaf7a293d0f00c04888c9101fc93eab90f8..0e866b09c56da244a86d07be473ffc8251c76442 100644 (file)
@@ -189,12 +189,14 @@ void    pci_init      (void);
 void    pciinfo       (int);
 #endif
 
-#if defined(CONFIG_COGENT) || defined(CONFIG_SXNI855T) || \
-    defined(CONFIG_RSD_PROTO) || defined(CONFIG_HYMOD) || \
-    defined(CONFIG_CPCI405)
+#if defined(CONFIG_COGENT)     || defined(CONFIG_SXNI855T)     || \
+    defined(CONFIG_RSD_PROTO)  || defined(CONFIG_HYMOD)        || \
+    defined(CONFIG_CPCI405)    || defined(CONFIG_PCU_E)
 /* cogent - $(BOARD)/mb.c */
 /* SXNI855T and HYMOD - $(BOARD)/$(BOARD).c */
+# ifndef CONFIG_PCU_E
 int    misc_init_f   (void);
+# endif
 void   misc_init_r   (bd_t *);
 #endif
 
index 2e9263381fab13bb7c69222004d6d153933f3bae..deb4c3641167d4be6b05323bbb34d759dbb05d7d 100644 (file)
@@ -24,6 +24,6 @@
 #ifndef        __VERSION_H__
 #define        __VERSION_H__
 
-#define        PPCBOOT_VERSION "PPCBoot 0.9.3-pre2"
+#define        PPCBOOT_VERSION "PPCBoot 0.9.3-pre3"
 
 #endif /* __VERSION_H__ */