Message ID | 1349288450-11095-1-git-send-email-luk0104@gmail.com |
---|---|
State | Superseded |
Headers | show |
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@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 */
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@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. Łukasz Dałek
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@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?
On 03.10.2012 21:22, Marek Vasut wrote: > 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@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? Because of other gadgets, e.g. ttyACM Łukasz Dałek
Dear Łukasz Dałek, [...] > >> > >> 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? > > Because of other gadgets, e.g. ttyACM Can't these co-exist? Best regards, Marek Vasut
On 03.10.2012 21:40, Marek Vasut wrote: > Dear Łukasz Dałek, > > [...] >>>> 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? >> Because of other gadgets, e.g. ttyACM > Can't these co-exist? > > Best regards, > Marek Vasut No they can't. Łukasz Dałek
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 +# 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 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 */
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@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(-)