]> git.sur5r.net Git - u-boot/blobdiff - board/amcc/bubinga/bubinga.c
Merge branch 'next' of /home/wd/git/u-boot/next
[u-boot] / board / amcc / bubinga / bubinga.c
index b4e9349ad706b3e396286e40bcefe4dee87d4088..49eadb9212e87e40c248ae02a631fb6820778afa 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  */
-long int spd_sdram(void);
 
 #include <common.h>
 #include <asm/processor.h>
+#include <asm/io.h>
+
+long int spd_sdram(void);
 
 int board_early_init_f(void)
 {
-       mtdcr(uicsr, 0xFFFFFFFF);       /* clear all ints */
-       mtdcr(uicer, 0x00000000);       /* disable all ints */
-       mtdcr(uiccr, 0x00000010);
-       mtdcr(uicpr, 0xFFFF7FF0);       /* set int polarities */
-       mtdcr(uictr, 0x00000010);       /* set int trigger levels */
-       mtdcr(uicsr, 0xFFFFFFFF);       /* clear all ints */
+       mtdcr(UIC0SR, 0xFFFFFFFF);      /* clear all ints */
+       mtdcr(UIC0ER, 0x00000000);      /* disable all ints */
+       mtdcr(UIC0CR, 0x00000010);
+       mtdcr(UIC0PR, 0xFFFF7FF0);      /* set int polarities */
+       mtdcr(UIC0TR, 0x00000010);      /* set int trigger levels */
+       mtdcr(UIC0SR, 0xFFFFFFFF);      /* clear all ints */
+
+       /*
+        * Configure CPC0_PCI to enable PerWE as output
+        * and enable the internal PCI arbiter if selected
+        */
+       if (in_8((void *)FPGA_REG1) & FPGA_REG1_PCI_INT_ARB)
+               mtdcr(CPC0_PCI, CPC0_PCI_HOST_CFG_EN | CPC0_PCI_ARBIT_EN);
+       else
+               mtdcr(CPC0_PCI, CPC0_PCI_HOST_CFG_EN);
 
        return 0;
 }
@@ -42,7 +53,7 @@ int board_early_init_f(void)
  */
 int checkboard(void)
 {
-       unsigned char *s = getenv("serial#");
+       char *s = getenv("serial#");
 
        puts("Board: Bubinga - AMCC PPC405EP Evaluation Board");
 
@@ -55,30 +66,14 @@ int checkboard(void)
        return (0);
 }
 
-/*
- * sdram_init - Dummy implementation for start.S, spd_sdram used on this board!
- */
-void sdram_init(void)
-{
-       return;
-}
-
 /* -------------------------------------------------------------------------
   initdram(int board_type) reads EEPROM via I2c. EEPROM contains all of
   the necessary info for SDRAM controller configuration
    ------------------------------------------------------------------------- */
-long int initdram(int board_type)
+phys_size_t initdram(int board_type)
 {
        long int ret;
 
        ret = spd_sdram();
        return ret;
 }
-
-int testdram(void)
-{
-       /* TODO: XXX XXX XXX */
-       printf("test: xxx MB - ok\n");
-
-       return (0);
-}