Skip to contentSkip to conversation

USB on OMAP3

U-Boot Gary Thomas 2 participants 2 messages Aug 31, 2011

lore
Share & tools
lore
#0 lore raw

I'm using v2011.06 on the TI OMAP3 platform (internal, similar to BeagleBoard)

I'd like my board to support both EHCI and MUSB in host mode.
However, when I define both of these, I get compile errors:
drivers/usb/musb/libusb_musb.o: In function `usb_lowlevel_stop':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:1149: multiple definition of usb_lowlevel_stop' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:795: first defined here drivers/usb/musb/libusb_musb.o: In function submit_int_msg':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:1162: multiple definition of submit_int_msg' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:900: first defined here drivers/usb/musb/libusb_musb.o: In function submit_bulk_msg':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:949: multiple definition of submit_bulk_msg' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:865: first defined here drivers/usb/musb/libusb_musb.o: In function submit_control_msg':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:849: multiple definition of submit_control_msg' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:877: first defined here drivers/usb/musb/libusb_musb.o: In function usb_lowlevel_init':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:1097: multiple definition of `usb_lowlevel_init' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:799: first defined here

Is this expected to work? If not, any pointers on how I might make both controllers play nice?

Thanks

Signature · 4 lines
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
#1 lore raw
Quoted 31 lines · Gary Thomas

I'm using v2011.06 on the TI OMAP3 platform (internal, similar to BeagleBoard)

I'd like my board to support both EHCI and MUSB in host mode.
However, when I define both of these, I get compile errors:
drivers/usb/musb/libusb_musb.o: In function `usb_lowlevel_stop':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:1149: multiple definition of `usb_lowlevel_stop' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:795:
first defined here
drivers/usb/musb/libusb_musb.o: In function `submit_int_msg':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:1162: multiple definition of `submit_int_msg' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:900:
first defined here
drivers/usb/musb/libusb_musb.o: In function `submit_bulk_msg':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:949: multiple definition of `submit_bulk_msg' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:865:
first defined here
drivers/usb/musb/libusb_musb.o: In function `submit_control_msg':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:849: multiple definition of `submit_control_msg' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:877:
first defined here
drivers/usb/musb/libusb_musb.o: In function `usb_lowlevel_init':
/local/DM3730/u-boot/drivers/usb/musb/musb_hcd.c:1097: multiple definition of `usb_lowlevel_init' drivers/usb/host/libusb_host.o:/local/DM3730/u-boot/drivers/usb/host/ehci-hcd.c:799:
first defined here

Quoted 4 lines

Is this expected to work? If not, any pointers on how I might make both controllers play nice?

I think the answer there is no the musb* and ehci* apis both expect to be

the only usb host code enabled at any one time. I suspect to fix this you would have to add some abstration to u-boot to deal with multiple host controlllers at runtime.

--john