| Subject | Re: [PATCH AUTOSEL 4.19 087/209] ARM: dts: da850-lego-ev3: slow down A/DC as much as possible | From | David Lechner <> | Date | Wed, 13 Nov 2019 10:10:30 -0600 |
| |
On 11/12/19 7:48 PM, Sasha Levin wrote: > From: David Lechner <david@lechnology.com> > > [ Upstream commit aea4762fb46e048c059ff49565ee33da07c8aeb3 ] > > Due to the electrical design of the A/DC circuits on LEGO MINDSTORMS EV3, > if we are reading analog values as fast as possible (i.e. using DMA to > service the SPI) the A/DC chip will read incorrect values - as much as > 0.1V off when the SPI is running at 10MHz. (This has to do with the > capacitor charge time when channels are muxed in the A/DC.) > > This patch slows down the SPI as much as possible (if CPU is at 456MHz, > SPI runs at 1/2 of that, so 228MHz and has a max prescalar of 256, so > we could get ~891kHz, but we're just rounding it to 1MHz). We also use > the max allowable value for WDELAY to slow things down even more. > > These changes reduce the error of the analog values to about 5mV, which > is tolerable. > > Commits a3762b13a596 ("spi: spi-davinci: Add support for SPI_CS_WORD") > and e2540da86ef8 ("iio: adc: ti-ads7950: use SPI_CS_WORD to reduce > CPU usage") introduce changes that allow DMA transfers to be used, so > this slow down is needed now. >
I doubt that the commits above would be backported, so it does not make sense to backport this patch.
|