qemu/hw/usb
Paul Zimmerman 153ef1662c 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>
2020-06-05 17:23:09 +01:00
..
Kconfig dwc-hsotg (dwc2) USB host controller emulation 2020-06-05 17:23:09 +01:00
Makefile.objs dwc-hsotg (dwc2) USB host controller emulation 2020-06-05 17:23:09 +01:00
bus.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
ccid-card-emulated.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
ccid-card-passthru.c
ccid.h qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
chipidea.c
combined-packet.c
core.c
desc-msos.c
desc.c
desc.h
dev-audio.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
dev-hid.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
dev-hub.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
dev-mtp.c error: Use error_reportf_err() where appropriate 2020-05-27 07:45:30 +02:00
dev-network.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
dev-serial.c
dev-smartcard-reader.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
dev-storage.c
dev-uas.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
dev-wacom.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
hcd-dwc2.c dwc-hsotg (dwc2) USB host controller emulation 2020-06-05 17:23:09 +01:00
hcd-dwc2.h dwc-hsotg (dwc2) USB host controller state definitions 2020-06-05 17:23:09 +01:00
hcd-ehci-pci.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
hcd-ehci-sysbus.c
hcd-ehci.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
hcd-ehci.h qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
hcd-musb.c
hcd-ohci-pci.c
hcd-ohci.c
hcd-ohci.h
hcd-uhci.c
hcd-xhci-nec.c
hcd-xhci.c
hcd-xhci.h
host-libusb.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
host-stub.c
host.h
imx-usb-phy.c
libhw.c
quirks-ftdi-ids.h
quirks-pl2303-ids.h
quirks.c
quirks.h
redirect.c qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
trace-events dwc-hsotg (dwc2) USB host controller emulation 2020-06-05 17:23:09 +01:00
tusb6010.c
xen-usb.c xen: Fix and improve handling of device_add usb-host errors 2020-05-27 07:45:17 +02:00