From patchwork Wed Oct 3 18:20:50 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [U-Boot,v6] h2200: Add USB CDC ethernet support Date: Wed, 03 Oct 2012 08:20:50 -0000 From: =?utf-8?b?xYF1a2FzeiBEYcWCZWsgPGx1azAxMDRAZ21haWwuY29tPg==?= X-Patchwork-Id: 188888 Message-Id: <1349288450-11095-1-git-send-email-luk0104@gmail.com> To: u-boot@lists.denx.de Cc: marex@denx.de 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 --- Changes for v6: - Defined only one entire for board Changes for v5: - Surrendered #include with CONFIGs board/h2200/h2200.c | 17 +++++++++++++++++ boards.cfg | 2 +- include/configs/h2200.h | 27 +++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 1 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 #include #include +#ifdef CONFIG_H2200_USBETH +# include +#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..f557c2b 100644 --- a/boards.cfg +++ b/boards.cfg @@ -282,7 +282,7 @@ dvlhost arm ixp pdnb3 arm ixp pdnb3 prodrive scpu arm ixp pdnb3 prodrive - pdnb3:SCPU balloon3 arm pxa -h2200 arm pxa +h2200 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 */