]> git.ipfire.org Git - thirdparty/qemu.git/commit
dwc-hsotg (dwc2) USB host controller emulation
authorPaul Zimmerman <pauldzim@gmail.com>
Wed, 20 May 2020 23:53:46 +0000 (16:53 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 5 Jun 2020 16:23:09 +0000 (17:23 +0100)
commit153ef1662c35ba3d3bbcedefe8dc24cfa4e8c33d
treed25d0b6b93ac6c9e00e508fc25e9b1988a3981ce
parent104a010f24f7ae9d16ff67bce66c309a4a070915
dwc-hsotg (dwc2) USB host controller emulation

Add the dwc-hsotg (dwc2) USB host controller emulation code.
Based on hw/usb/hcd-ehci.c and hw/usb/hcd-ohci.c.

Note that to use this with the dwc-otg driver in the Raspbian
kernel, you must pass the option "dwc_otg.fiq_fsm_enable=0" on
the kernel command line.

Emulation of slave mode and of descriptor-DMA mode has not been
implemented yet. These modes are seldom used.

I have used some on-line sources of information while developing
this emulation, including:

http://www.capital-micro.com/PDF/CME-M7_Family_User_Guide_EN.pdf
which has a pretty complete description of the controller starting
on page 370.

https://sourceforge.net/p/wive-ng/wive-ng-mt/ci/master/tree/docs/DataSheets/RT3050_5x_V2.0_081408_0902.pdf
which has a description of the controller registers starting on
page 130.

Thanks to Felippe Mathieu-Daude for providing a cleaner method
of implementing the memory regions for the controller registers.

Signed-off-by: Paul Zimmerman <pauldzim@gmail.com>
Message-id: 20200520235349.21215-5-pauldzim@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/usb/Kconfig
hw/usb/Makefile.objs
hw/usb/hcd-dwc2.c [new file with mode: 0644]
hw/usb/trace-events