Merge branch 'master' of git://git.denx.de/u-boot-mpc5xxx
authorTom Rini <trini@ti.com>
Mon, 24 Jun 2013 20:44:15 +0000 (16:44 -0400)
committerTom Rini <trini@ti.com>
Mon, 24 Jun 2013 20:44:15 +0000 (16:44 -0400)
board/ifm/ac14xx/ac14xx.c
include/configs/ac14xx.h

index 7442591..dc2aff0 100644 (file)
 #include <i2c.h>
 #endif
 
+static int eeprom_diag;
+static int mac_diag;
+static int gpio_diag;
+
 DECLARE_GLOBAL_DATA_PTR;
 
 static void gpio_configure(void)
@@ -37,7 +41,7 @@ static void gpio_configure(void)
 
        /*
         * out_be32(&gpioregs->gpdir, 0xC2293020);
-        * workaround for a hardware affect: configure direction in pieces,
+        * workaround for a hardware effect: configure direction in pieces,
         * setting all outputs at once drops the reset line too low and
         * makes us lose the MII connection (breaks ethernet for us)
         */
@@ -126,8 +130,6 @@ static u32 gpio_querykbd(void)
 
 /* excerpt from the recovery's hw_info.h */
 
-static int eeprom_diag = 1;
-
 struct __attribute__ ((__packed__)) eeprom_layout {
        char    magic[3];       /** 'ifm' */
        u8      len[2];         /** content length without magic/len fields */
@@ -209,6 +211,7 @@ static int read_eeprom(void)
 int mac_read_from_eeprom(void)
 {
        const u8 *mac;
+       const char *mac_txt;
 
        if (read_eeprom()) {
                printf("I2C EEPROM read failed.\n");
@@ -230,8 +233,13 @@ int mac_read_from_eeprom(void)
 
        if (mac && is_valid_ether_addr(mac)) {
                eth_setenv_enetaddr("ethaddr", mac);
-               printf("DIAG: %s() MAC value [%s]\n",
-                       __func__, getenv("ethaddr"));
+               if (mac_diag) {
+                       mac_txt = getenv("ethaddr");
+                       if (mac_txt)
+                               printf("DIAG: MAC value [%s]\n", mac_txt);
+                       else
+                               printf("DIAG: failed to setup MAC env\n");
+               }
        }
 
        return 0;
@@ -326,42 +334,38 @@ int misc_init_r(void)
        gpio_configure();
 
        /*
-        * check the GPIO keyboard,
-        * enforced start of the recovery when
+        * enforce the start of the recovery system when
         * - the appropriate keys were pressed
-        * - a previous installation was aborted or has failed
         * - "some" external software told us to
+        * - a previous installation was aborted or has failed
         */
        want_recovery = 0;
        keys = gpio_querykbd();
-       printf("GPIO keyboard status [0x%08X]\n", keys);
-       /* XXX insist in the _exact_ combination? */
+       if (gpio_diag)
+               printf("GPIO keyboard status [0x%02X]\n", keys);
        if ((keys & GPIOKEY_BITS_RECOVERY) == GPIOKEY_BITS_RECOVERY) {
-               printf("GPIO keyboard requested RECOVERY\n");
-               /* XXX TODO
-                * refine the logic to detect the first keypress, and
-                * wait to recheck IF it was the recovery combination?
-                */
+               printf("detected recovery request (keyboard)\n");
                want_recovery = 1;
        }
-       s = getenv("install_in_progress");
+       s = getenv("want_recovery");
        if ((s != NULL) && (*s != '\0')) {
-               printf("previous installation aborted, running RECOVERY\n");
+               printf("detected recovery request (environment)\n");
                want_recovery = 1;
        }
-       s = getenv("install_failed");
+       s = getenv("install_in_progress");
        if ((s != NULL) && (*s != '\0')) {
-               printf("previous installation FAILED, running RECOVERY\n");
+               printf("previous installation has not completed\n");
                want_recovery = 1;
        }
-       s = getenv("want_recovery");
+       s = getenv("install_failed");
        if ((s != NULL) && (*s != '\0')) {
-               printf("running RECOVERY according to the request\n");
+               printf("previous installation has failed\n");
                want_recovery = 1;
        }
-
-       if (want_recovery)
+       if (want_recovery) {
+               printf("enforced start of the recovery system\n");
                setenv("bootcmd", "run recovery");
+       }
 
        /*
         * boot the recovery system without waiting; boot the
index 7cb10fb..381bcdd 100644 (file)
@@ -72,7 +72,7 @@
 #define CONFIG_SYS_MAX_RAM_SIZE                0x20000000
 
 /*
- * DDR Controller Configuration XXX TODO
+ * DDR Controller Configuration
  *
  * SYS_CFG:
  *     [31:31] MDDRC Soft Reset:       Diabled
 
 /*
  * CS related parameters
- * TODO document these
  */
 /* CS0 Flash */
 #define CONFIG_SYS_CS0_CFG             0x00031110
 #endif
 
 #define CONFIG_BAUDRATE                        115200  /* ... at 115200 bps */
-#define CONFIG_SYS_BAUDRATE_TABLE  \
-       {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
 
 #define CONSOLE_FIFO_TX_SIZE           FIFOC_PSC3_TX_SIZE
 #define CONSOLE_FIFO_TX_ADDR           FIFOC_PSC3_TX_ADDR
 #define CONFIG_ENV_OVERWRITE
 #define CONFIG_TIMESTAMP
 
-#define CONFIG_HOSTNAME                ac14xx
-#define CONFIG_BOOTFILE                "ac14xx/uImage"
-#define CONFIG_ROOTPATH                "/opt/eldk/ppc_6xx"
-
 /* default load addr for tftp and bootm */
 #define CONFIG_LOADADDR                400000
 
 #define CONFIG_BOOTDELAY       2       /* -1 disables auto-boot */
 
-/* XXX TODO need to specify the builtin environment */
+/* the builtin environment and standard greeting */
 #define CONFIG_PREBOOT "echo;" \
        "echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \
        "echo"
 
 #define CONFIG_EXTRA_ENV_SETTINGS_DEVEL                                        \
-       "muster_nr=00\0"                                                \
+       "muster_nr=-00\0"                                               \
        "fromram=run ramargs addip addtty; "                            \
-               "tftp ${fdt_addr_r} k6m2/ac14xx.dtb-${muster_nr}; "     \
-               "tftp ${kernel_addr_r} k6m2/uImage-${muster_nr}; "      \
-               "tftp ${ramdisk_addr_r} k6m2/uFS-${muster_nr}; "        \
+               "tftp ${fdt_addr_r} ac14xx/ac14xx.dtb${muster_nr}; "    \
+               "tftp ${kernel_addr_r} ac14xx/uImage${muster_nr}; "     \
+               "tftp ${ramdisk_addr_r} ac14xx/uFS${muster_nr}; "       \
                "bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0" \
        "fromnfs=run nfsargs addip addtty; "                            \
-               "tftp ${fdt_addr_r} k6m2/ac14xx.dtb-${muster_nr}; "     \
-               "tftp ${kernel_addr_r} k6m2/uImage-${muster_nr}; "      \
+               "tftp ${fdt_addr_r} ac14xx/ac14xx.dtb${muster_nr}; "    \
+               "tftp ${kernel_addr_r} ac14xx/uImage${muster_nr}; "     \
                "bootm ${kernel_addr_r} - ${fdt_addr_r}\0"              \
        "fromflash=run nfsargs addip addtty; "                          \
                "bootm fc020000 - fc000000\0"                           \
        "u-boot=ac14xx/u-boot.bin\0"                                    \
        "bootfile=ac14xx/uImage\0"                                      \
        "fdtfile=ac14xx/ac14xx.dtb\0"                                   \
-       "rootpath=/opt/eldk/ppc_6xx\n"                                  \
        "netdev=eth0\0"                                                 \
        "consdev=ttyPSC0\0"                                             \
        "hostname=ac14xx\0"                                             \
        "nfsargs=setenv bootargs root=/dev/nfs rw "                     \
-               "nfsroot=${serverip}:${rootpath}-${muster_nr}\0"        \
+               "nfsroot=${serverip}:${rootpath}${muster_nr}\0" \
        "ramargs=setenv bootargs root=/dev/ram rw\0"                    \
        "addip=setenv bootargs ${bootargs} "                            \
                "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"      \
 
 #define CONFIG_BOOTCOMMAND     "run production"
 
+#define CONFIG_ARP_TIMEOUT     200UL
+
 #define CONFIG_FIT             1
 #define CONFIG_OF_LIBFDT       1
 #define CONFIG_OF_BOARD_SETUP  1