On Fri, Jul 04, 2008 at 03:44:18AM +0200, Patrick Georgi wrote:
For UHCI:
..
For OHCI:
..
For EHCI:
- figure out how to gain control over a device from the USB1
controller (that will somehow interact with the USB1 driver)
Some comments, hopefully helpful:
USB1 devices on the EHCI root hub do not appear on the EHCI controller.
All EHCI controllers must also have one "companion" USB1 host controller per physical USB 2.0 port if they want to be backwards comatible so that USB1 devices can be connected to the root hub.
When a USB1 device is connected to a root hub port, the device appears on that port's companion HC PCI device instead of on the EHCI PCI device.
- PING/DATA2 protocol, microframes support
- extend HUB driver, so it handles USB1 devices on a USB2 hub
Look into USB 2.0 spec chapter 11.14 re Transaction Translators. USB2 hubs that support USB1 downstream devices have this split mode where a USB 2 transfer is used to start the USB1 transfer, and at a later time, another USB 2 transfer is used to complete the USB1 transfer.
USB devices:
- the keyboard driver is rather rudimentary
- mouse doesn't exist
I would recommend starting with the keyboard or mouse device drivers.
The only issue is that the HID Class can be a bit difficult to understand.
//Peter