2008-11-10 11:47:25

by Miguel Ángel Álvarez

[permalink] [raw]
Subject: EHCI "on the go"

Hi.

Due to some problems with the EHCI in an IXP465, I have found that
this micro has an "on the go" feature. One of its features seems to be
an "Embedded Transaction Translator", that seems to be quite
"propietary".

I see in ehci.h, that using CONFIG_USB_EHCI_ROOT_HUB_TT, a function
called "ehci_port_speed" has been added, and the comments suggest to
implement the particularities of each controller with other functions.

The question is:
- Are there many different implementations (it seems there are not,
because I cannot see code for each of them... unless they are so
particular that they do not even use the general interface)?
- Is there any place comparing the similarities / differences between them?

Thanks

Miguel ?ngel ?lvarez


2008-11-10 17:49:00

by H. Peter Anvin

[permalink] [raw]
Subject: Re: EHCI "on the go"

Miguel Ángel Álvarez wrote:
> Hi.
>
> Due to some problems with the EHCI in an IXP465, I have found that
> this micro has an "on the go" feature. One of its features seems to be
> an "Embedded Transaction Translator", that seems to be quite
> "propietary".
>
> I see in ehci.h, that using CONFIG_USB_EHCI_ROOT_HUB_TT, a function
> called "ehci_port_speed" has been added, and the comments suggest to
> implement the particularities of each controller with other functions.
>
> The question is:
> - Are there many different implementations (it seems there are not,
> because I cannot see code for each of them... unless they are so
> particular that they do not even use the general interface)?
> - Is there any place comparing the similarities / differences between them?
>

I only know of one interface for this, which is based on hardware IP I
believe is currently owned by ChipIdea. It's pretty straightforward; it
functionally does the same translation for the root port as a separate
hub would do for a full speed/low speed downstream port.

-hpa