====== Differences ====== This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
soc:2008:balajirrao:project_plan:start [2008/05/23 10:40] balajirrao |
soc:2008:balajirrao:project_plan:start [2008/06/13 03:30] (current) balajirrao |
||
---|---|---|---|
Line 24: | Line 24: | ||
I propose to follow the Linux Kernel model here - to split the device driver into a generic driver and a device specific mini driver. | I propose to follow the Linux Kernel model here - to split the device driver into a generic driver and a device specific mini driver. | ||
- | UCHI controller support will be done first. EHCI support is seen as a stretch goal. | + | UCHI controller support will be done first. EHCI support is seen as a later (stretch ?) goal. |
==== Milestones ==== | ==== Milestones ==== | ||
Line 36: | Line 36: | ||
Here's a rough timeline. | Here's a rough timeline. | ||
- | === Week 1, 2 & 3 === | + | === Week 1, 2 === |
- | * Complete the USB protocol implementation. Software interface between layers of the USB stack is now well defined. | + | * Write a PCI driver fpr UHCI controller. Write support for control and bulk urbs. |
- | === Week 4 & 5 === | + | === Week 3, 4=== |
- | * Add support for UHCI host controller. | + | * Write a driver for dm9601 usb ethernet adapter. Factor out generic USB networking code out of dm9601 and write a pegasus usbnet driver. |
- | === Week 6 & 7 === | + | === Week 5 & 6 === |
- | * Implement the generic USB NIC driver. Write a minidriver for dm9601 (Davicom USB Ethernet Adapter 9601). | + | * Clean up and sanitize the uhci source. This includes proper lifecycle management of urbs and correct error handling across all control paths. |
- | === Week 8 and hence === | + | === Week 7, 8 & 9 === |
+ | * Write a PCI driver for EHCI controller along with schedule management code. | ||
- | * Implement EHCI controller support, mini drivers for more NICs. Testing and performance optimization of the USB stack. | + | === Week 10 and hence === |
+ | * Debugging, optimization etc. |