Merge branch 'master' of git://git.denx.de/u-boot-arm
[oweals/u-boot.git] / board / emk / top860 / top860.c
index d13be98e9eb0230b06d078cc165d27d0e0250d2e..76f7a0c5f9c84e0769cbee59a1f16f757ef7cc9e 100644 (file)
@@ -76,9 +76,9 @@ int checkboard (void)
 /*****************************************************************************
  * Initialize DRAM controller
  *****************************************************************************/
-long int initdram (int board_type)
+phys_size_t initdram (int board_type)
 {
-       volatile immap_t *immap = (immap_t *) CFG_IMMR;
+       volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
        volatile memctl8xx_t *memctl = &immap->im_memctl;
 
        /*
@@ -93,8 +93,8 @@ long int initdram (int board_type)
                           sizeof (edo_60ns_25MHz_tbl) / sizeof (uint));
                memctl->memc_mptpr = 0x0200;
                memctl->memc_mamr = 0x0ca20330;
-               memctl->memc_or2 = -CFG_DRAM_MAX | OR_CSNT_SAM;
-               memctl->memc_br2 = CFG_DRAM_BASE | BR_MS_UPMA | BR_V;
+               memctl->memc_or2 = -CONFIG_SYS_DRAM_MAX | OR_CSNT_SAM;
+               memctl->memc_br2 = CONFIG_SYS_DRAM_BASE | BR_MS_UPMA | BR_V;
                /*
                 * Do 8 read accesses to DRAM
                 */
@@ -112,13 +112,27 @@ long int initdram (int board_type)
                addr2[1] = 0x47110815;
                if (addr1[0] == 0xfeedc0de && addr1[1] == 0x47110815) {
                        /* only 4MB populated */
-                       memctl->memc_or2 = -(CFG_DRAM_MAX / 4) | OR_CSNT_SAM;
+                       memctl->memc_or2 = -(CONFIG_SYS_DRAM_MAX / 4) | OR_CSNT_SAM;
                }
        }
 
        return -(memctl->memc_or2 & 0xffff0000);
 }
 
+/*****************************************************************************
+ * prepare for FLASH detection
+ *****************************************************************************/
+void flash_preinit(void)
+{
+}
+
+/*****************************************************************************
+ * finalize FLASH setup
+ *****************************************************************************/
+void flash_afterinit(uint bank, ulong start, ulong size)
+{
+}
+
 /*****************************************************************************
  * otherinits after RAM is there and we are relocated to RAM
  * note: though this is an int function, nobody cares for the result!
@@ -126,52 +140,8 @@ long int initdram (int board_type)
 int misc_init_r (void)
 {
        /* read 'factory' part of EEPROM */
-       uchar buf[81];
-       uchar *p;
-       uint length;
-       uint addr;
-       uint len;
-
-       /* get length first */
-       addr = CFG_FACT_OFFSET;
-       if (eeprom_read (CFG_I2C_FACT_ADDR, addr, buf, 2)) {
-         bailout:
-               printf ("cannot read factory configuration\n");
-               printf ("be sure to set ethaddr yourself!\n");
-               return 0;
-       }
-       length = buf[0] + (buf[1] << 8);
-       addr += 2;
+       extern void read_factory_r (void);
+       read_factory_r ();
 
-       /* sanity check */
-       if (length < 20 || length > CFG_FACT_SIZE - 2)
-               goto bailout;
-
-       /* read lines */
-       while (length > 0) {
-               /* read one line */
-               len = length > 80 ? 80 : length;
-               if (eeprom_read (CFG_I2C_FACT_ADDR, addr, buf, len))
-                       goto bailout;
-               /* mark end of buffer */
-               buf[len] = 0;
-               /* search end of line */
-               for (p = buf; *p && *p != 0x0a; p++);
-               if (!*p)
-                       goto bailout;
-               *p++ = 0;
-               /* advance to next line start */
-               length -= p - buf;
-               addr += p - buf;
-               /*printf ("%s\n", buf); */
-               /* search for our specific entry */
-               if (!strncmp ((char *) buf, "[RLA/lan/Ethernet] ", 19)) {
-                       setenv ("ethaddr", buf + 19);
-               } else if (!strncmp ((char *) buf, "[BOARD/SERIAL] ", 15)) {
-                       setenv ("serial#", buf + 15);
-               } else if (!strncmp ((char *) buf, "[BOARD/TYPE] ", 13)) {
-                       setenv ("board_id", buf + 13);
-               }
-       }
        return (0);
 }