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
