Signed-off-by: Otavio Salvador <ota...@ossystems.com.br>
---
 board/olimex/mx23_olinuxino/mx23_olinuxino.c |  8 ++++++
 board/olimex/mx23_olinuxino/spl_boot.c       |  4 +++
 include/configs/mx23_olinuxino.h             | 41 ++++++++++++++++++++++++++--
 3 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/board/olimex/mx23_olinuxino/mx23_olinuxino.c 
b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
index 2501417..6077d70 100644
--- a/board/olimex/mx23_olinuxino/mx23_olinuxino.c
+++ b/board/olimex/mx23_olinuxino/mx23_olinuxino.c
@@ -53,6 +53,14 @@ int dram_init(void)
        return mxs_dram_init();
 }
 
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+       /* Power-on Ethernet */
+       gpio_direction_output(MX23_PAD_GPMI_ALE__GPIO_0_17, 1);
+}
+#endif
+
 #ifdef CONFIG_CMD_MMC
 static int mx23_olx_mmc_cd(int id)
 {
diff --git a/board/olimex/mx23_olinuxino/spl_boot.c 
b/board/olimex/mx23_olinuxino/spl_boot.c
index 3bbf5ad..8f7ba0b 100644
--- a/board/olimex/mx23_olinuxino/spl_boot.c
+++ b/board/olimex/mx23_olinuxino/spl_boot.c
@@ -95,6 +95,10 @@ const iomux_cfg_t iomux_setup[] = {
        MX23_PAD_SSP1_DATA2__SSP1_DATA2 | MUX_CONFIG_SSP,
        MX23_PAD_SSP1_DATA3__SSP1_DATA3 | MUX_CONFIG_SSP,
        MX23_PAD_SSP1_SCK__SSP1_SCK | MUX_CONFIG_SSP,
+
+       /* Ethernet */
+       MX23_PAD_GPMI_ALE__GPIO_0_17 |
+               (MXS_PAD_12MA | MXS_PAD_3V3),
 };
 
 void board_init_ll(void)
diff --git a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h
index e081c49..9adbb9c 100644
--- a/include/configs/mx23_olinuxino.h
+++ b/include/configs/mx23_olinuxino.h
@@ -55,11 +55,13 @@
 #define        CONFIG_DOS_PARTITION
 
 #define        CONFIG_CMD_CACHE
+#define        CONFIG_CMD_DHCP
 #define        CONFIG_CMD_EXT2
 #define        CONFIG_CMD_FAT
 #define        CONFIG_CMD_GPIO
 #define        CONFIG_CMD_LED
 #define        CONFIG_CMD_MMC
+#define        CONFIG_CMD_NET
 #define        CONFIG_CMD_USB
 
 /*
@@ -150,6 +152,12 @@
 #define        CONFIG_USB_STORAGE
 #endif
 
+/* Ethernet */
+#ifdef CONFIG_CMD_NET
+#define        CONFIG_USB_HOST_ETHER
+#define        CONFIG_USB_ETHER_SMSC95XX
+#endif
+
 /*
  * Boot Linux
  */
@@ -175,6 +183,7 @@
 /*
  * Extra Environments
  */
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
        "update_sd_firmware_filename=u-boot.sd\0" \
        "update_sd_firmware="           /* Update the SD firmware partition */ \
@@ -191,6 +200,8 @@
        "fdt_file=imx23-olinuxino.dtb\0" \
        "fdt_addr=0x41000000\0" \
        "boot_fdt=try\0" \
+       "ip_dyn=yes\0" \
+       "usbethaddr=00:11:22:33:44:55\0" \
        "mmcdev=0\0" \
        "mmcpart=2\0" \
        "mmcroot=/dev/mmcblk0p3 rw rootwait\0" \
@@ -216,6 +227,31 @@
                        "fi; " \
                "else " \
                        "bootm; " \
+               "fi;\0" \
+       "netargs=setenv bootargs console=${console_mainline},${baudrate} " \
+               "root=/dev/nfs " \
+               "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
+       "netboot=echo Booting from net ...; " \
+               "usb start; " \
+               "run netargs; " \
+               "if test ${ip_dyn} = yes; then " \
+                       "setenv get_cmd dhcp; " \
+               "else " \
+                       "setenv get_cmd tftp; " \
+               "fi; " \
+               "${get_cmd} ${uimage}; " \
+               "if test ${boot_fdt} = yes; then " \
+                       "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
+                               "bootm ${loadaddr} - ${fdt_addr}; " \
+                       "else " \
+                               "if test ${boot_fdt} = try; then " \
+                                       "bootm; " \
+                               "else " \
+                                       "echo WARN: Cannot load the DT; " \
+                               "fi;" \
+                       "fi; " \
+               "else " \
+                       "bootm; " \
                "fi;\0"
 
 #define CONFIG_BOOTCOMMAND \
@@ -225,10 +261,9 @@
                "else " \
                        "if run loaduimage; then " \
                                "run mmcboot; " \
-                       "else " \
-                               "echo ERR: Fail to boot from MMC; " \
+                       "else run netboot; " \
                        "fi; " \
                "fi; " \
-       "else exit; fi"
+       "else run netboot; fi"
 
 #endif /* __MX23_OLINUXINO_CONFIG_H__ */
-- 
1.8.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to