Subject: AT91RM9200 / CF problem solved
To: None <email@example.com>
From: Sami Kantoluoto <firstname.lastname@example.org>
Date: 04/26/2007 19:45:54
On Fri, Mar 02, 2007 at 04:30:42PM +0200, Sami Kantoluoto wrote:
> I'm porting NetBSD to run our embedded hardware and it has Atmel's AT91RM9200
> CPU. So far I've following running:
> But I do have problems with Compact Flash "driver" or it looks like so.
> I'm currently using AT91RM9200's pin change interrupt to capture the
> interrupt (I have to see if the interrupt line is connected to real
> IRQ pin) so I get quite a many of them when accessing the CF (I call
> the pcmcia interrupt [callback] only when pin is in appropriate state
> after the pin change).
> Anyway, under heavy CF I/O NetBSD may just hang or if I try to terminate
> e.g. 'dd if=/dev/w0c bs=64k', the shell just hangs or so. So I'm wondering
> if there's a good way to verify the SPL levels are working correctly etc.
> Or any other ideas to check?
Had finally time to check this out and it turned out that I had established
the GPIO interrupt using the wrong priority level. Now it's run at IPL_BIO
and pin-specific interrupts are run at the level requested by the other