On Tue, 2004-11-30 at 09:40 +0200, Olav Kongas wrote: > Hi, > > > ohci-isp1xxx-emu.c) in mine, but there still is something not going > > well, that keeps me from reaching your status. I'll describe my problem, > > hoping that someone has a better understanding of my situation: > > > > In summary, my HCD never reaches USBOperational state. I have a good IO > > Just a wild guess - have you initialized the HCFMINTVL > register.
Yes. I declared the following function: static inline void ohci_write_fminterval(struct ohci_hcd *ohci, u32 val) { unsigned long flags; local_irq_save(flags); __ohci_isp1160_write_reg(ohci, fminterval, HCFMINTVL, val); ohci->fminterval = val; local_irq_restore(flags); } I'm using it here: static int ohci_isp1160_reset (struct usb_hcd *hcd) { int retval; struct ohci_hcd *ohci = hcd_to_ohci(hcd); ohci->regs = hcd->regs; isp1160_reset_hc(hcd, 1); // initialize controller registers ohci_write_fminterval(ohci, DEFAULT_FMINTERVAL); retval = hc_reset(ohci); return retval; } The purpose for all of this is that when hc_reset() of ohci-hcd.c comes to : if (!ohci->fminterval) { temp = ohci_readl (&ohci->regs->fminterval); if (temp & 0x3fff0000) ohci->fminterval = temp; else ohci->fminterval = DEFAULT_FMINTERVAL; /* also: power/overcurrent flags in roothub.a */ } everything would be already OK and it would keep on going? Do you thing it's wrong? -- Dimitris Lampridis <[EMAIL PROTECTED]>
signature.asc
Description: This is a digitally signed message part