Merge branch 'master' of git://git.denx.de/u-boot-ubi
[oweals/u-boot.git] / board / esd / cpciiser4 / cpciiser4.c
index 2e10412615a92768a8737b949ed0393182c73dab..ee90e2c28a5a3b83eb4b241072fffafb155ebf36 100644 (file)
 #include "cpciiser4.h"
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/*cmd_boot.c*/
+
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+extern void lxt971_no_sleep(void);
+
 
 /* ------------------------------------------------------------------------- */
 
@@ -48,12 +55,9 @@ const unsigned char fpgadata[] = {
 #include "../common/fpga.c"
 
 
-int board_pre_init (void)
+int board_early_init_f (void)
 {
-       DECLARE_GLOBAL_DATA_PTR;
-
        int index, len, i;
-       volatile unsigned char dummy;
        int status;
 
 #ifdef FPGA_DEBUG
@@ -111,7 +115,7 @@ int board_pre_init (void)
        /*
         * Init FPGA via RESET (read access on CS3)
         */
-       dummy = *(unsigned char *) 0xf0200000;
+       in_8((void *)0xf0200000);
 
        /*
         * IRQ 0-15  405GP internally generated; active high; level sensitive
@@ -125,14 +129,14 @@ int board_pre_init (void)
         * IRQ 30 (EXT IRQ 5) PCI SLOT 3; active low; level sensitive
         * IRQ 31 (EXT IRQ 6) COMPACT FLASH; active high; level sensitive
         */
-       mtdcr (uicsr, 0xFFFFFFFF);      /* clear all ints */
-       mtdcr (uicer, 0x00000000);      /* disable all ints */
-       mtdcr (uiccr, 0x00000000);      /* set all to be non-critical */
-       /*  mtdcr(uicpr, 0xFFFFFF81);   /  set int polarities */
-       mtdcr (uicpr, 0xFFFFFF80);      /* set int polarities */
-       mtdcr (uictr, 0x10000000);      /* set int trigger levels */
-       mtdcr (uicvcr, 0x00000001);     /* set vect base=0,INT0 highest priority */
-       mtdcr (uicsr, 0xFFFFFFFF);      /* clear all ints */
+       mtdcr (UIC0SR, 0xFFFFFFFF);     /* clear all ints */
+       mtdcr (UIC0ER, 0x00000000);     /* disable all ints */
+       mtdcr (UIC0CR, 0x00000000);     /* set all to be non-critical */
+       /*  mtdcr(UIC0PR, 0xFFFFFF81);   /  set int polarities */
+       mtdcr (UIC0PR, 0xFFFFFF80);     /* set int polarities */
+       mtdcr (UIC0TR, 0x10000000);     /* set int trigger levels */
+       mtdcr (UIC0VCR, 0x00000001);    /* set vect base=0,INT0 highest priority */
+       mtdcr (UIC0SR, 0xFFFFFFFF);     /* clear all ints */
 
        return 0;
 }
@@ -148,18 +152,17 @@ int checkboard (void)
 {
        int index;
        int len;
-       unsigned char str[64];
+       char str[64];
        int i = getenv_r ("serial#", str, sizeof (str));
 
        puts ("Board: ");
 
-       if (!i || strncmp (str, "CPCIISER4", 9)) {
-               puts ("### No HW ID - assuming CPCIISER4\n");
-               return (0);
+       if (i == -1) {
+               puts ("### No HW ID - assuming AR405");
+       } else {
+               puts(str);
        }
 
-       puts (str);
-
        puts ("\nFPGA:  ");
 
        /* display infos on fpgaimage */
@@ -172,24 +175,10 @@ int checkboard (void)
 
        putc ('\n');
 
-       return 0;
-}
-
-/* ------------------------------------------------------------------------- */
-
-long int initdram (int board_type)
-{
-       return (16 * 1024 * 1024);
-}
-
-/* ------------------------------------------------------------------------- */
-
-int testdram (void)
-{
-       /* TODO: XXX XXX XXX */
-       printf ("test: 16 MB - ok\n");
+       /*
+        * Disable sleep mode in LXT971
+        */
+       lxt971_no_sleep();
 
-       return (0);
+       return 0;
 }
-
-/* ------------------------------------------------------------------------- */