[U-Boot] [PATCH v6] h2200: Add USB CDC ethernet support

Marek Vasut marex at denx.de
Wed Oct 3 21:22:09 CEST 2012


Dear Łukasz Dałek,

> On 03.10.2012 20:34, Marek Vasut wrote:
> > 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 */
> 
> Why do I have to remove CONFIG_H2200_USBETH? If I do so, I'm not be able to
> disable USB ethernet support.

Why would you disable it?


More information about the U-Boot mailing list