[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] USB and Ethernet support
On Fri, 19 Mar 2004 00:56:34 +0100, "Ivan" <salorankatu@yahoo.es> said:
> > At the moment, the only USB host chip that is in the uClinux 2.4.x
> > kernel, is the Cypress SL811 (drivers/usb/host/hc_sl811.c). There are
> > plenty of other embedded USB host chips out there at the moment, ie
> > Phillips ISP1161, Transdimension UHC124 to name but a few. Some work
> > will need to be done to whatever driver you use, though, in order for the
> > driver to work with the microblaze architecture.
>
> We are thinking to use a Cypress chip too. Now i don't remember the
> reference. Initially I needed to know if there were drivers for USB
> chips. Also, a core for this device is needed, isn't it?
The Cypress has some good points and bad points, but all of the ICs seem
to. Which Cypress IC were you planning on using???
Yep, a small core will be needed to interface between OPB and the bus
that the USB chip uses.
> > If you are looking for interesting peripherals, I am sure there are
> > plenty of others out there. There was some talk regarding interfacing
> > Firewire to the FPGA, or perhaps PCI, but these are definitely more
> > complicated. If you decide you want to add a USB host chip, then perhaps
> > we can collaborate.
> Ufff!!! PCI peripheral is very very interesting. I know someone that has
> designed PCI boards... but i think it could be a very hard work.
There is the OPB-PCI/Cardbus core that Xilinx license, but I'm sure
creating a driver for it would be very hard work too. Another useful
option, would be a PCMCIA / CF (Same interface, different pinout) bridge.
You could probably even use a ISA-PCMCIA bridge on the OPB-ISA bridge
(that someone else is implementing), if you wanted to... Of course, if
you're only interfacing to a single card, you could create a special
bridge, that would only work with that card. The good thing about PCMCIA
and CF is that there are number of relatively small off-the-shelf devices
out there that could be easily interfaced to.
> As regards USB peripherals, I am very sure about we use them. In a few
> days I will notify you about it.
Ok. It would also be somewhat useful to add USB client support. The
Gadget driver in the 2.6 kernel driver should allow us to use the
Microblaze as a number of useful devices, ie Mass Storage, HID, Network
(usbnet), etc. I haven't really looked at the Microblaze USB _client_
core, but a driver could probably be written for uClinux.
However, USB isn't a simple bus, to say the least (at least from a
programmers POV)... There are numerous speeds (low/full/high) to deal
with along with various types of transfers (Bulk, Interrupt,
Isochronous). Thankfully, though most host devices use the OHCI
interface (or something VERY similar), and its "just" a matter of
interfacing to the ohci driver in linux.
Someone else mentioned:
> video DAC and audio codec, Fire wire 800Mb/s (last IEEE1394b)
The video and audio DAC seem like good ideas. Perhaps even TV-out/AV
output would be useful.
One simple suggestion would be add MMC/SD support to the microblaze.
There are some examples of the SD/MMC drivers on handhelds.org and on
openzaurus. If I remember correctly, SD/MMC use a SPI interface, so
writing a suitable core and driver, should be "reasonably" easy.
Another suggestion is to add interrupt and DMA support to the current
microblaze MAC driver.
IEEE1394b sorta seems out of the question at the moment, since:
a) Noone makes embedded 1394b controllers (AFAIK)
b) For 800Mb/s we'd definitely need DMA
c) We don't have an OPB-PCI bus, so we can't use standard PCI OHCI 1394
or 1394b ICs - see above. :)
Hasjim
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/