]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - board/RPXClassic/RPXClassic.c
imported Freescale specific U-Boot additions for i.MX28,... release L2.6.31_10.08.01
[karo-tx-uboot.git] / board / RPXClassic / RPXClassic.c
index 49cb8ad24f6df1efbd9b3fff353a7023c174b3cb..c3d5385f42ee4129fdb64b48e57398379c7db80f 100755 (executable)
@@ -30,6 +30,7 @@
 #include <i2c.h>
 #include <config.h>
 #include <mpc8xx.h>
+#include <net.h>
 
 /* ------------------------------------------------------------------------- */
 
@@ -105,13 +106,13 @@ int checkboard (void)
  * board_get_enetaddr -- Read the MAC Address in the I2C EEPROM
  *-----------------------------------------------------------------------------
  */
-void board_get_enetaddr (uchar * enet)
+static void board_get_enetaddr(uchar *enet)
 {
        int i;
        char buff[256], *cp;
 
        /* Initialize I2C                                       */
-       i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE);
+       i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
 
        /* Read 256 bytes in EEPROM                             */
        i2c_read (0x54, 0, 1, (uchar *)buff, 128);
@@ -142,9 +143,19 @@ void board_get_enetaddr (uchar * enet)
        enet[3] |= 0x80;
 #endif
 
-       printf ("MAC address = %02x:%02x:%02x:%02x:%02x:%02x\n",
-               enet[0], enet[1], enet[2], enet[3], enet[4], enet[5]);
+       printf("MAC address = %pM\n", enet);
+}
+
+int misc_init_r(void)
+{
+       uchar enetaddr[6];
+
+       if (!eth_getenv_enetaddr("ethaddr", enetaddr)) {
+               board_get_enetaddr(enetaddr);
+               eth_setenv_enetaddr("ethaddr", enetaddr);
+       }
 
+       return 0;
 }
 
 void rpxclassic_init (void)
@@ -165,9 +176,9 @@ void rpxclassic_init (void)
 
 /* ------------------------------------------------------------------------- */
 
-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;
        long int size10;
 
@@ -175,15 +186,15 @@ long int initdram (int board_type)
                           sizeof (sdram_table) / sizeof (uint));
 
        /* Refresh clock prescalar */
-       memctl->memc_mptpr = CFG_MPTPR;
+       memctl->memc_mptpr = CONFIG_SYS_MPTPR;
 
        memctl->memc_mar = 0x00000000;
 
        /* Map controller banks 1 to the SDRAM bank */
-       memctl->memc_or1 = CFG_OR1_PRELIM;
-       memctl->memc_br1 = CFG_BR1_PRELIM;
+       memctl->memc_or1 = CONFIG_SYS_OR1_PRELIM;
+       memctl->memc_br1 = CONFIG_SYS_BR1_PRELIM;
 
-       memctl->memc_mamr = CFG_MAMR_10COL & (~(MAMR_PTAE));    /* no refresh yet */
+       memctl->memc_mamr = CONFIG_SYS_MAMR_10COL & (~(MAMR_PTAE));     /* no refresh yet */
 
        udelay (200);
 
@@ -200,7 +211,7 @@ long int initdram (int board_type)
         * try 10 column mode
         */
 
-       size10 = dram_size (CFG_MAMR_10COL, SDRAM_BASE_PRELIM,
+       size10 = dram_size (CONFIG_SYS_MAMR_10COL, SDRAM_BASE_PRELIM,
                                                SDRAM_MAX_SIZE);
 
        return (size10);
@@ -218,7 +229,7 @@ long int initdram (int board_type)
 
 static long int dram_size (long int mamr_value, long int *base, long int maxsize)
 {
-       volatile immap_t *immap = (immap_t *) CFG_IMMR;
+       volatile immap_t *immap = (immap_t *) CONFIG_SYS_IMMR;
        volatile memctl8xx_t *memctl = &immap->im_memctl;
 
        memctl->memc_mamr = mamr_value;