Hello Paul:

Sorry I didn't have a chance to respond to your earlier mail.

> The problem is when I initialised the sa1110 USB, I turned on all the
> interrupts (RESM,EIM,RIM,TIM and SUSM) in
> UDCCR. So the UDCCR = 0x0. Then I tried to detect any possible interrupt
> source from interrupt pending register ICPR (I am using polling method). It
> is strange that there is no interrupt of IP 13 (UDC) at all when I connect
> the USB cable. The host (running Windows 2000) tried to learn of the device,
> but failed and could not finish the enumberation process.

Are you using your own driver or the linux/arch/arm/mach-sa1100/usb** in 
Nicolas' tree?

It sounds like the core didn't start running. Try toggling the UDD in UDCCR,
clearing FST in UDCCS1, and all sources in UDCSR. I also like to start with
RESIM masked in UDCCR since you should get an immediate suspend event if you
bring the core up without a cable plugged in. sa1100_usb_start() in 
usb_ctl.c has an example. The contents of that file may be useful to you.

Of course, you cannot make a useful driver without interrupts and DMA...

-- Ward





_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
Please visit the above address for information on this list.

Reply via email to