Hi everybody,

I'm trying to decode the start sequence of an UHCI controler in a 2.4.x kernel version. Yes, I know, but we have to work with it ;-)

All the reset and registers programming are clear in my mind, but there are several thing on which I have a doubt.

The register USBFLBASEADD associated with FRNUM represent the frame currently processed ?
And FRNUM is automatically incremented after each frame ( under condition the frame ends well ) ?


in usb-uhci.c : alloc_uhci( ) , we init_skel ( ). Why is there an incorrect PID in the TD of the end_chain ?
On the other hand, in usb-uhci() : start_hc(), I presume that the controller is started as soon as the bit USBCMD_RS is set ?
So the controller goes along our skel and should stops working when it encounters the TD with the incorrect PID.
Is it right ?


If yes, that would explain why the bit HC_Halted is set in the Status register.

I suppose that I have to restart the controller ( after filling the QH and TDs and reset the FRNUM register ) if I wish to see anything goes out on the bus ?

Thank you for the help.
Patrick Agrain



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to