stm32f0: fix adc_read_all_channels()

We need to clear DMA status before starting another transaction.
Otherwise, we get incorrect values.

Same fix as the one Vic did in CL 240282 for STM32F1xx and STM32F3xx.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>

BRANCH=none
BUG=chrome-os-partner:38902
TEST=On the twinkie USB console (without anything connected), do "tw res
rd rd" then "adc". We now always get "CC1_PD = 0 CC2_PD = 0" rather than
some fancy values for CC2_PD such as "CC2_PD = 29097".

Change-Id: I065b2f8f74ba39f805445bab96b45819322a7da3
Reviewed-on: https://chromium-review.googlesource.com/264981
Reviewed-by: Alec Berg <alecaberg@chromium.org>
Tested-by: Vincent Palatin <vpalatin@chromium.org>
Commit-Queue: Vincent Palatin <vpalatin@chromium.org>
Trybot-Ready: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
Vincent Palatin
2015-04-09 09:03:15 -07:00
committed by ChromeOS Commit Bot
parent c7ad72693e
commit 8d47a1de0a

View File

@@ -250,6 +250,7 @@ int adc_read_all_channels(int *data)
/* Enable DMA */
STM32_ADC_CFGR1 |= 0x1;
dma_clear_isr(STM32_DMAC_ADC);
dma_start_rx(&dma_adc_option, ADC_CH_COUNT, raw_data);
/* Clear flags */