[coreboot] USB debug cables and emulation

Peter Stuge peter at stuge.se
Fri Jul 4 05:50:35 CEST 2008


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




More information about the coreboot mailing list