Add USB support to OMAP3 model

Registered by Peter Maydell

At the moment the OMAP3/beagle model doesn't have working USB. This is important because for beagle keyboard, mouse and networking are all USB devices. The situation is slightly complicated because currently QEMU doesn't support EHCI USB, only OHCI (EHCI support is being worked on but there is no ETA for it). Beagle hardware has (1) USB OTG and (2) EHCI USB (although OMAP3 itself has both OHCI and EHCI). The goal here is a beagle model which can do keyboard, mouse, networking, plus documentation on the wiki of any necessary config/command line options. The Linux omap3 kernel doesn't try to use the OHCI hardware at all, only EHCI and the USB OTG.

Update: it looks as if EHCI support may be landing in QEMU in the not-too-distant future, although it is likely to be unstable initially.

The OTG support was at one point disabled in the kernel, but in linaro's 1105 beta release at least it seems to be back. USB OTG is therefore the most plausible route forwards. Recent Linaro omap kernels also seem to look at the OHCI controller, so this might also be worth modelling properly.

Blueprint information

Michael Hope
Peter Maydell
Needs approval
Peter Maydell
Series goal:
Accepted for trunk
Milestone target:
Started by
Michael Hope
Completed by
Peter Maydell

Related branches



Updated these work items because it turned out that OHCI USB was the best way to deal with this.
Items for upstreaming removed because (a) it doesn't seem worth pushing this to the Meego tree and (b) the rest of omap3 usb is not upstream yet so it will just be dealt with under the big "upstream omap3 support" blueprint's work item for usb.

USB networking was split into


Work Items

Work items:
Wire OHCI USB controller model into omap3: DONE
Fix and submit upstream bugs/missing features in generic OHCI model: DONE
Test that USB kbd/mouse works on Beagle: DONE
Update the wiki to document any necessary config options needed when launching a beagle model: DONE

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.


No subscribers.