[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