Hi to all! Has anyone used Ethernet-over-USB on DM369-Davinci in U-boot (with my hardware as USB-device and Windows-PC as USB-host)? I do the following:
/* To build rndis.c, ether.c... from drivers/usb/gadget */ #define CONFIG_USB_ETHER #define CONFIG_USB_ETH_RNDIS #define CONFIG_USB_ETH_SUBSET /* the CONFIG_USB_ETH_CDC option is also available */ /* To build dependencies from drivers/usb/musb-new - as I understand, DM369 uses Mentor Graphics USB controller */ #define CONFIG_MUSB_GADGET #define CONFIG_MUSB_PIO_ONLY /* To build functions which are needed to be passed to musb_register() call */ /* I build common lib for different DSPs because musb-new does not have strict support for DM369 */ #define CONFIG_USB_MUSB_DSPS
Then I implement 3 additional functions:
void myboard_musb_reset(void); void myboard_musb_phy_power(u8 on); void myboard_musb_clear_irq(void);
which are also needed to be passed to musb_register(). The code is based on the drivers/usb/musb/davinci.c
And then I call musb_register() from my board_eth_init()
I build U-boot successfully and load it by UART. But the Windows-host does not detect any USB devices, and ping from U-boot console gives the following:
DM36x EVM # ping 1.1.1.1 using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in MAC 00:0c:0c:02:3a:4c HOST MAC 00:0c:0c:02:3a:4d RNDIS ready ERROR: The remote end did not respond in time. at drivers/usb/gadget/ether.c:2358/usb_eth_init() ping failed; host 1.1.1.1 is not alive
At this moment I could not dig the code to detect the problem.
THE QUESTION: Has anyone used other libs or options to make Ethernet-over-USB in U-boot working?
P.S. My hardware will have only UART, USB & WiFi. As I understand, its unreal to use WiFi in U-boot (is it right?), and UART is too slow. So it seems that the only fast interface is USB. Also my hardware will probably not provide USB +5V to use USB-mass-storage. Now I work on DM369IPNC-IMX104 hardware. The U-boot version is 2015.07 (final release), I use "davinci_dm365evm_config" board.
P.P.S. My final goal is to burn SPI-flash (with UBL) and eMMC-flash (with U-boot & Linux).