UHCI Specifications
Posted: Wed May 27, 2009 8:51 pm
Hi,
I think I'm ready to implement USB drivers, so I've of course been reading the OHCI, UHCI, and EHCI specifications. I gather that I should use the PCI class code register to identify the appropriate USB driver, so I referenced the specs of each standard to determine the value I need to match:
For EHCI the specs say the class code should be 0x0C0320
For OHCI the specs say the class code should be 0x0C0310
For UHCI the specs say the class code should be 0x010180 (which appears to be the class code for a master IDE controller?), this, followed by a table with values which suggest that 0x0C0300 is really the default value (UHCI specs, page 25).
I briefly looked through the uhci_hcd linux driver and I'm not too familiar with writing drivers in linux, but it looked as though it used the 0x0C0300 value, which seems right. However, I searched for "010180" in the linux source tree and found nothing used in the context of a PCI class code, so I am just wondering: is this just a typo that was never corrected? or is that value of any importance...?
Thanks
I think I'm ready to implement USB drivers, so I've of course been reading the OHCI, UHCI, and EHCI specifications. I gather that I should use the PCI class code register to identify the appropriate USB driver, so I referenced the specs of each standard to determine the value I need to match:
For EHCI the specs say the class code should be 0x0C0320
For OHCI the specs say the class code should be 0x0C0310
For UHCI the specs say the class code should be 0x010180 (which appears to be the class code for a master IDE controller?), this, followed by a table with values which suggest that 0x0C0300 is really the default value (UHCI specs, page 25).
I briefly looked through the uhci_hcd linux driver and I'm not too familiar with writing drivers in linux, but it looked as though it used the 0x0C0300 value, which seems right. However, I searched for "010180" in the linux source tree and found nothing used in the context of a PCI class code, so I am just wondering: is this just a typo that was never corrected? or is that value of any importance...?
Thanks