EmbeddedRelated.com
Forums

USB 2.0 Host controller chip for Linux

Started by Steve January 29, 2008
Hi,

I have some confusion over the degree of SW/HW interaction in USB Host
controllers.

I have an FPGA design which runs Windriver Linux. I would like to add
to the PCB a USB 2.0 host controller chip whose sole purpose in life
is to perform everything required to get from the PHY to EHCI. I would
then like to map the EHCI registers to the Linux kernel; so that I
should not have to write a device driver. Linux should handle the
majority of the USB protocol's signalling and the chip the majority of
the physical layer stuff.

Is the above valid?

It seems, however, that whenever I try and search for such a chip, I
either get 1) monolithic peripheral/device chip (that I do not want)
2) Host chips with a PCI interface (which are okay, but I would like
one specifically designed with a host interface), 3) Some intermediate
chip, either a USB host but without the EHCI interface, or a large and
costly microcontroller.

The question I have therefore is that, given my understanding of the
problem and assuming it is correct, what chip can I get to fit this
role?

Kind regards,

Stephen
Steve wrote:
> Hi, > > I have some confusion over the degree of SW/HW > interaction in USB Host controllers.
There is a lot of both.
> I have an FPGA design which runs Windriver Linux. I would > like to add to the PCB a USB 2.0 host controller chip > whose sole purpose in life is to perform everything > required to get from the PHY to EHCI. I would then like > to map the EHCI registers to the Linux kernel; so that I > should not have to write a device driver. Linux should > handle the majority of the USB protocol's signalling and > the chip the majority of the physical layer stuff. > > Is the above valid?
Seems reasonable.
> It seems, however, that whenever I try and search for > such a chip, I either get 1) monolithic peripheral/device > chip (that I do not want) 2) Host chips with a PCI > interface (which are okay, but I would like one > specifically designed with a host interface), 3) Some > intermediate chip, either a USB host but without the EHCI > interface, or a large and costly microcontroller.
Obviously, most USB Host controllers are aimed at the PC market... but then the software stack for a USB host is ... large. Even without the individual class/peripheral drivers. Unless you want to write a *lot* of driver software, you definitely want to have a host controller with an ECHI compliant interface. (Or OHCI for USB 1.1)
> The question I have therefore is that, given my > understanding of the problem and assuming it is correct, > what chip can I get to fit this role?
If a PCI interface is OK, then use that ... that will let you take advantage of the PC market and keep the costs down, although I image that ECHI host controllers are being built into the supporting chip sets these days. good luck, mike -- Michael N. Moran (h) 770 516 7918 5009 Old Field Ct. (c) 678 521 5460 Kennesaw, GA, USA 30144 http://mnmoran.org "So often times it happens, that we live our lives in chains and we never even know we have the key." "Already Gone" by Jack Tempchin (recorded by The Eagles) The Beatles were wrong: 1 & 1 & 1 is 1