Add support for ethernet over USB which can be used for e.g. booting
process. It works with tftp and dhcp clients code.

Signed-off-by: Lukasz Dalek <luk0...@gmail.com>
---
Changes for v5:
        - Surrendered #include <usb.h> with CONFIGs

 board/h2200/h2200.c     |   17 +++++++++++++++++
 boards.cfg              |    1 +
 include/configs/h2200.h |   27 +++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/board/h2200/h2200.c b/board/h2200/h2200.c
index 3076306..617bb04 100644
--- a/board/h2200/h2200.c
+++ b/board/h2200/h2200.c
@@ -22,9 +22,20 @@
 #include <asm/arch/pxa.h>
 #include <asm/arch/pxa-regs.h>
 #include <asm/io.h>
+#ifdef CONFIG_H2200_USBETH
+# include <usb.h>
+#endif
 
 DECLARE_GLOBAL_DATA_PTR;
 
+#ifdef CONFIG_H2200_USBETH
+int board_eth_init(bd_t *bis)
+{
+       usb_eth_initialize(bis);
+       return 0;
+}
+#endif
+
 int board_init(void)
 {
        /* We have RAM, disable cache */
@@ -36,6 +47,12 @@ int board_init(void)
        /* adress of boot parameters */
        gd->bd->bi_boot_params = 0xa0000100;
 
+       /* Let host see that device is disconnected */
+#if defined(CONFIG_H2200_USBETH)
+       udc_disconnect();
+       mdelay(500);
+#endif
+
        return 0;
 }
 
diff --git a/boards.cfg b/boards.cfg
index ab10938..a03a469 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -283,6 +283,7 @@ pdnb3                        arm         ixp         pdnb3  
             prodriv
 scpu                         arm         ixp         pdnb3               
prodrive       -           pdnb3:SCPU
 balloon3                     arm         pxa
 h2200                        arm         pxa
+h2200_usbeth                 arm         pxa         h2200               -     
         -           h2200:H2200_USBETH
 lubbock                      arm         pxa
 palmld                       arm         pxa
 palmtc                       arm         pxa
diff --git a/include/configs/h2200.h b/include/configs/h2200.h
index de5299b..4c5a1ae 100644
--- a/include/configs/h2200.h
+++ b/include/configs/h2200.h
@@ -153,4 +153,31 @@
 
 #define CONFIG_BOOTARGS "root=/dev/ram0 ro console=ttyS0,115200n8"
 
+#ifdef CONFIG_H2200_USBETH
+# define CONFIG_SYS_CONSOLE_IS_IN_ENV
+# define CONFIG_USB_DEV_PULLUP_GPIO    33
+/* USB VBUS GPIO 3 */
+
+# define CONFIG_CMD_NET
+# define CONFIG_CMD_PING
+
+# define CONFIG_BOOTDELAY              2
+# define CONFIG_BOOTCOMMAND            \
+       "setenv downloaded 0 ; while test $downloaded -eq 0 ; do " \
+       "if bootp ; then setenv downloaded 1 ; fi ; done ; " \
+       "source :script ; " \
+       "bootm ; "
+
+# define CONFIG_USB_GADGET_PXA2XX
+# define CONFIG_USB_ETHER
+# define CONFIG_USB_ETH_SUBSET
+
+# define CONFIG_USBNET_DEV_ADDR                "de:ad:be:ef:00:01"
+# define CONFIG_USBNET_HOST_ADDR       "de:ad:be:ef:00:02"
+# define CONFIG_EXTRA_ENV_SETTINGS \
+       "stdin=serial\0" \
+       "stdout=serial\0" \
+       "stderr=serial\0"
+#endif
+
 #endif /* __CONFIG_H */
-- 
1.7.8.6

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

Reply via email to