tor 2011-03-10 klockan 15:41 +0100 skrev David Lamparter:
> On Tue, Mar 08, 2011 at 10:44:56AM +0100, Niclas Karlsson wrote:
> > Do anyone know why I read so many zeroes?
>
> You're probably reading values faster than the chip supports. Check the
> chip documentation for a maximum readout frequency or a ready flag.
> > I have made some printk in ads7846.c to trace the problem. It seemed to
> > read more correct values when I added the printks.
>
> A printk takes quite some time on an ARM like yours. The throttle makes
> it work...
I've made som further investigations. The atmel_spi.c driver utilize PDC
(Peripheral DMA Controller) and when I was tracing the problem I
discovered that the interrupt indicating the PDC has written the data to
memory is fired before the data actually is written to memory. If a
small delay is added after the interrupt (like a trace printk("The value
is\n")) the PDC have enough time to write the data to the memory and I
get correct values from the ADC connected to the SPI.
Thoughts how to solve this?
>
>
> David
>
> P.S.: you're lucky to not get crap values - seems they got the chip
> design right...
>
/Niclas
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve
application availability and disaster protection. Learn more about boosting
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general