Page 1 of 1

Companion-less EHCI handle low-speed devices?

Posted: Sat Oct 16, 2010 12:13 pm
by Jonatan44
Hi all,

lately I had saw a lot of PCs shipped without an UHCI/OHCI companion controllers along with the EHCI controller, I'm wondering who the EHCI can handle the low-speed devices attached to the computer USB ports, the EHCI specs states:
This specification allows communications to Full- and Low-speed devices connected to the root
ports of the USB 2.0 host controller to be provided by companion USB 1.1 host controllers. If an
implementation does not include companion host controllers, the host controller must include a high-speed
device permanently attached to each of the EHCI ports the implementation is planning to utilize. The EHCI
controller cannot work with a Full- or Low-speed device.
I have enumerated the entire PCI buss, devices and function and didn't find and UHCI/OHCI companion controllers, so what the thing I missing?

Regards,
Jonatan44.

Re: Companion-less EHCI handle low-speed devices?

Posted: Sat Oct 16, 2010 3:48 pm
by Owen
Postulation: There is a "USB Hub" device permanently attached to the EHCI controller? In this case, the hub would be responsible for translation.

Re: Companion-less EHCI handle low-speed devices?

Posted: Sun Oct 17, 2010 12:55 pm
by Jonatan44
so if such usb hub do exists would i be able to communicate the low-speed device thought my ehci driver?

Re: Companion-less EHCI handle low-speed devices?

Posted: Sun Oct 17, 2010 10:25 pm
by pcmattman
Yes.

Read the specification - specifically, the information about split transactions.

Re: Companion-less EHCI handle low-speed devices?

Posted: Wed Oct 20, 2010 12:56 pm
by Jonatan44
Hi all,
I've read the suggested specification parts, but haven't fully understand how to applie it to my situation:

when I enumerates the PORTSC registers, with a low-speed device connected, I get 0x3002 value from PORTSC (which is bad), but for hi-speed device I get 0x1005 value which is good.

I understand that the EHCI allow port ownership to companion U/OHCI (this is regardless from the fact I've mention in my previous posts, that I don't have companion controllers) but I don't understand why the "Connect Status Change" bit is set on the low-speed device, and who could I enable and use him on my EHCI controller (I don't want to release ports ownership for low and full speed devices to companion controllers).

Hope that someone could help me with this.

Thanks!

PS.
my CF register is set to one, before the PORTSC enumeration.

Re: Companion-less EHCI handle low-speed devices?

Posted: Wed Jan 12, 2011 5:40 am
by kishon
Have you solved this problem??

Re: Companion-less EHCI handle low-speed devices?

Posted: Fri Jan 14, 2011 8:34 am
by Jonatan44
It seems that Owen was right, the usb hub attached to the ehci was responsible to the translation of the low/full to hi speed, and by that, the ehci did not needed a companion controllers to handle low and full speed device.