]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
h2200: Add USB CDC ethernet support
authorLukasz Dalek <luk0104@gmail.com>
Thu, 29 Nov 2012 14:55:16 +0000 (15:55 +0100)
committerMarek Vasut <marex@denx.de>
Mon, 17 Dec 2012 14:38:14 +0000 (15:38 +0100)
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 <luk0104@gmail.com>
board/h2200/h2200.c
include/configs/h2200.h

index 30763061c724bfa701add15fafee34419242b819..720b06e4ce8f91c4e820af304cdd1f04faecb384 100644 (file)
 #include <asm/arch/pxa.h>
 #include <asm/arch/pxa-regs.h>
 #include <asm/io.h>
+#include <usb.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
+int board_eth_init(bd_t *bis)
+{
+       usb_eth_initialize(bis);
+       return 0;
+}
+
 int board_init(void)
 {
        /* We have RAM, disable cache */
@@ -36,6 +43,10 @@ int board_init(void)
        /* adress of boot parameters */
        gd->bd->bi_boot_params = 0xa0000100;
 
+       /* Let host see that device is disconnected */
+       udc_disconnect();
+       mdelay(500);
+
        return 0;
 }
 
index ef14dd38c5bb05db415feb839e40cce92c3e1089..516a26e9f1abeb69b9133f8e66ba977501195780 100644 (file)
 
 #define CONFIG_BOOTARGS "root=/dev/ram0 ro console=ttyS0,115200n8"
 
+#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 /* __CONFIG_H */