> -----Original Message-----
> From: davinci-linux-open-source-boun...@linux.davincidsp.com
> [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf
> Of David Brownell
> Sent: Thursday, April 09, 2009 5:44 PM
> To: Tom Wheeler
> Cc: davinci-linux-open-source@linux.davincidsp.com
> Subject: Re: DM355 and DM9000 Ethernet
> 
> On Thursday 09 April 2009, Tom Wheeler wrote:
> > I have had problems getting the dm9000 mac/phy working properly with the
> > DM355 EVM.  I have seen a number of posts indicating problems with the
> > dm9000 and the DM355.
> 
> In my case, enabling LOCKDEP is sufficient to make all of those
> problems vanish ... a dm9000 IRQ handler bugfix made *some* of
> the problems go away.  (e3162d381fc359ebe5c98a3e216888a7cb200051
> is in 2.6.29 and thus DaVinci GIT.)
> 
> 
> >              The 2.6.18 kernel requests the individual
> > interrupt for GPIO1 (IRQ 45) where the 2.6.28 kernel uses the gpio
> > controller interrupt (IRQ 65) which is chained to the bank interrupt.
> > By changing the 2.6.28 kernel to reflect what I saw in the 2.6.18 kernel
> > this seemed to solve the problems I was seeing.
> 
> How did you get the "direct" GPIO IRQ to work?  Did you have
> to disable its bank IRQ or anything?  Last time I tried to
> use those "direct" IRQs, they didn't work at all.
> 
> 
> > Are there known issues with the DM355 gpio controller interrupt handling
> > where it chains the individual interrupts to the bank interrupt?
> 
> So far as I know, the DM355 EVM is the first DaVinci board to
> make heavy use of GPIO IRQs.  So it's plausible that there be
> some kind of load-dependent bug there.  There's no confirmation
> of such a bug in IRQ handling, though.
> 
> I'm moderately convinced there *is* a timing bug affecting that
> EVM, but whether it's EMIF bus timings or some IRQ handling race
> is an open question.

Looks like, the GPIO driver does not have a provision to setup dedicated GPIO 
interrupts (GPIO0 - GPIO9).

The current driver assumes GPIO bank interrupts. For example GPIOBNK0 interrupt 
is used for GPIO0 - GPIO15, even though we have dedicated GPIO interrupts for 
GPIO0 - GPIO9.

Passing GPIO1 - 45 as the interrupt resource (start, end), but using chained 
interrupt IRQ 65 while calling set_irq_type has solved the dm9000 problem for 
Tom.

The new DM365 device does not have bank interrupts, in which case we have to 
add support for dedicated GPIO interrupts in the GPIO driver. DM365 has GPIO0 - 
GPIO15 dedicated GPIO interrupts to ARM.

Thanks
Sneha

> 
> - Dave
> 
> 
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source@linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to