From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Wed, 3 Oct 2012 20:34:52 +0200 Subject: [U-Boot] [PATCH v6] h2200: Add USB CDC ethernet support In-Reply-To: <1349288450-11095-1-git-send-email-luk0104@gmail.com> References: <506C0A82.5050301@gmail.com> <1349288450-11095-1-git-send-email-luk0104@gmail.com> Message-ID: <201210032034.53144.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > 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 It's always defined, remove it. > +# 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 [...] 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 */