This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USB Host+Gadget configuration on DM814x ... broken?

Other Parts Discussed in Thread: AM3874

I'm trying to build USB Host+Gadget multi config for our custom AM3874 (DM8148) board using the latest PSP 04.04 kernel and following information on this Wiki page:

http://processors.wiki.ti.com/index.php/Usbgeneralpage#One_port_as_host_and_other_port_as_Gadget_.28for_DM81XX.29

But it seems like this configuration is broken ... the kernel does not link, as shown below.   Any ideas?   (RaviB? :) )  They're quite different implementations :(

  LD      drivers/usb/musb/musb_hdrc.o
drivers/usb/musb/musb_host.o: In function `musb_get_xfertype':
drivers/usb/musb/musb_host.c:723: multiple definition of `musb_get_xfertype'
drivers/usb/musb/musb_gadget.o:drivers/usb/musb/musb_gadget.c:440: first defined here
make[2]: *** [drivers/usb/musb/musb_hdrc.o] Error 1
make[1]: *** [drivers/usb/musb] Error 2
make: *** [drivers] Error 2

  • If I comment-out the musb_get_xfertype in musb_gadget.c, then it builds and links and appears to run fine.  My USB gadget driver loads and works well.

    BUT -- the host port now does nothing! :-( 

    cat /sys/devices/platform/omap/ti81xx-usbss/musb-hdrc.1/mode
    b_idle

    This should surely be "a_host" like it is when the kernel is built host-only mode, and works well as a host.

    I just need to understand how to get one port as a gadget/device port, and one port as a host port at the same time :)

    TIA.

    Ian.