> -----Original Message----- > From: [EMAIL PROTECTED] [mailto:coreboot- > [EMAIL PROTECTED] On Behalf Of Patrick Georgi > Sent: Thursday, July 03, 2008 9:44 PM > To: Joseph Smith > Cc: Stefan Reinauer; [email protected] > Subject: Re: [coreboot] USB debug cables and emulation > > Joseph Smith schrieb: > >> We're pretty far with the UHCI stack in GRUB2. If you are looking for a > >> USB project to jump on, we can certainly use help ;-) > >> > >> Initial keyboard support is there. MSC support is there, UHCI is there. > >> > >> Missing: Fixes, Testing, OHCI, EHCI, Fixes, Fixes, Testing... > >> > >> Maybe we can pack it into libpayload instead of GRUB2 too, so we can > >> make it available to more payloads? > >> > It's clean code with no imports (though I got some clues from other > sources, esp. as far as workarounds for chipset bugs are concerned, but > it should be safe), so it's not bound to a license, and apart from > grub_strcpy here and grub_uint32_t there, which can be sanitized easily, > and some trivial pci controller detection logic, it's not very grub2 > specific either. I merely develop it inside the grub2 tree because > that's the most convenient for now. > > Stefan, I would love to help out. I offered my services to Patrick a > while > > ago, with no response. > > What can I do? > > > Oops, sorry! > You seem to be only starting into USB now, but so did I when I started > writing this code (which probably shows at places). I quickly collected > a TODO: > > For UHCI: > - testing and fixes, lots of it > - make more clever (eg. bulk transfer with >1 packet/ms, which might be > done next week already) > - fix some abstractions (eg. bulk transfer is at the wrong place > currently) > - improve interrupt transfer handling > > For OHCI: > - create driver (most of UHCI doesn't apply here, because the chip is > more clever. "fix some abstractions" definitely helps, though) > > For EHCI: > - figure out how to gain control over a device from the USB1 controller > (that will somehow interact with the USB1 driver) > - PING/DATA2 protocol, microframes support > - extend HUB driver, so it handles USB1 devices on a USB2 hub > > USB devices: > - the keyboard driver is rather rudimentary > - mouse doesn't exist > - mass storage only likes few devices (high priority for me) > - hub driver doesn't have proper device power management yet > > Get the code to run, figure out the design (sorry, no documentation yet > - but ask me. The code can only become better that way), play with it, > fix it for your hardware, ask questions, send/commit patches, ... > > On my personal TODO (after this %!$# northbridge works for me) is most > of the UHCI stuff, and mass storage. Everything else is pretty much free > for grabs (but it might be good to tell me so I don't step on your > toes). OHCI and mouse are definitely not on my list for the short term, > other usb device drivers also aren't. I also don't mind patches to any > part of the code :-) > >
Great. I am going to be on vacation next week. I am about half way through reading the USB 2.0 specification (http://www.usb.org/developers/docs/), and I will try to finish by next week and dive right in when I get back :-) Thanks, Joseph Smith Set-Top-Linux www.settoplinux.org -- coreboot mailing list [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

