![]() ![]() | ![]() |
File: [local] / sys / dev / usb / TODO (download)
Revision 1.1.1.1 (vendor branch), Tue Mar 4 16:14:18 2008 UTC (16 years, 6 months ago) by nbrk
Import of OpenBSD 4.2 release kernel tree with initial code to support Jornada 720/728, StrongARM 1110-based handheld PC. At this point kernel roots on NFS and boots into vfs_mountroot() and traps. What is supported: - glass console, Jornada framebuffer (jfb) works in 16bpp direct color mode (needs some palette tweaks for non black/white/blue colors, i think) - saic, SA11x0 interrupt controller (needs cleanup) - sacom, SA11x0 UART (supported only as boot console for now) - SA11x0 GPIO controller fully supported (but can't handle multiple interrupt handlers on one gpio pin) - sassp, SSP port on SA11x0 that attaches spibus - Jornada microcontroller (jmcu) to control kbd, battery, etc throught the SPI bus (wskbd attaches on jmcu, but not tested) - tod functions seem work - initial code for SA-1111 (chip companion) : this is TODO Next important steps, i think: - gpio and intc on sa1111 - pcmcia support for sa11x0 (and sa1111 help logic) - REAL root on nfs when we have PCMCIA support (we may use any of supported pccard NICs) - root on wd0! (using already supported PCMCIA-ATA) |
$OpenBSD: TODO,v 1.15 2007/06/09 12:17:38 mbalmer Exp $ Some things that need to be done: --------------------------------- High priority: -------------- On a short control transfer the status phase needs to be executed anyway. Allow interrupt out endpoints. (USB 1.1) Fix flow control in ucom (copy from com driver). Use some encapsulation in the upl driver to allow multiple protocols. Get the uezcom driver (with Doug Ambrisko's firmware) running. Bug reports: ------------ Bernd Ernesti's problem: host controller halted with umodem umass problem with Ricoh flash reader wskbd for X mel kravitz's problem, lockups with disk and printer Aaron's problem: Test aue with ohci. General: -------- Figure out why uvisor is so slow. Try to get specs, and check if Linux driver is really right. Add lots of bus_dmamap_sync(). Do bandwidth accounting. Use lock manager locks. Use the pool allocator for TDs et al. Throw out more USBDI gunk. Make hub driver notice transition between self and bus powered state. Some hubs change the number of available ports on this transition. :( Handle overcurrent conditions. Make it possible to open any device in a "generic" way, i.e., like ugen. Perhaps usbdevfs? Rotate the QHs for bulk transport to get fairer scheduling. Change HC drivers to queue multiple request for an endpoint to get better performance. Do memory deallocation when HC driver is detached. uaudio problems: mixer names are awful, use some heuristics. implement selector units debug input test with more devices Stylistic changes: use usb_ and usbd_ consistently rearrange the contents and names of some files (Nick) Use splsoftusb() or a thread to deliver callbacks. Add threads to the Ethernet drivers. Change what's done at watchdog timeout inb if_{a,c,k}ue.c; what we have now doesn't work because it's done in an interrupt context. Factor out the common code from the Ethernet drivers and reuse that. Rewrite HID driver to handle report IDs properly. Perhaps there should be a hiddev to which hid with different IDs can attach? Get rid of hcpriv. Keyspan serial driver Clean up umass driver Documentation: -------------- Document device driver API. Document HC driver API. Update ugen(4)