[U-Boot] [PATCH v6] h2200: Add USB CDC ethernet support
Marek Vasut
marex at denx.de
Wed Oct 3 20:34:52 CEST 2012
Dear Lukasz Dalek,
> 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 at gmail.com>
> ---
> Changes for v6:
> - Defined only one entire for board
> Changes for v5:
> - Surrendered #include <usb.h> 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 <asm/arch/pxa.h>
> #include <asm/arch/pxa-regs.h>
> #include <asm/io.h>
> +#ifdef CONFIG_H2200_USBETH
It's always defined, remove it.
> +# 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..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
[...]
This change isn't needed if you remove CONFIG_H2200_USBETH
> 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
ifdef - endif not needed, otherwise good.
> +# 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 */
More information about the U-Boot
mailing list