aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/hal/platforms/STM32F4xx/adc_lld.c3
-rw-r--r--readme.txt2
2 files changed, 4 insertions, 1 deletions
diff --git a/os/hal/platforms/STM32F4xx/adc_lld.c b/os/hal/platforms/STM32F4xx/adc_lld.c
index 94ab4fe2b..12e8e3329 100644
--- a/os/hal/platforms/STM32F4xx/adc_lld.c
+++ b/os/hal/platforms/STM32F4xx/adc_lld.c
@@ -270,7 +270,8 @@ void adc_lld_start(ADCDriver *adcp) {
/* This is a common register but apparently it requires that at least one
of the ADCs is clocked in order to allow writing, see bug 3575297.*/
- ADC->CCR = STM32_ADC_ADCPRE << 16;
+ ADC->CCR = (ADC->CCR & (ADC_CCR_TSVREFE | ADC_CCR_VBATE)) |
+ (STM32_ADC_ADCPRE << 16);
/* ADC initial setup, starting the analog part here in order to reduce
the latency when starting a conversion.*/
diff --git a/readme.txt b/readme.txt
index f9649a73d..5d838de69 100644
--- a/readme.txt
+++ b/readme.txt
@@ -88,6 +88,8 @@
*** 2.5.2 ***
- FIX: Fixed spurious interrupt disabling an STM32 DMA stream (bug 3607518)
(backported to 2.4.4).
+- FIX: Fixed start of any ADC disables VREF and VBAT (bug 3607467)
+ (backported to 2.4.4).
- FIX: Fixed surprising non-CRLF lines in source (bug 3607380).
- FIX: Fixed no entry point defined at link time (bug 3607319).
- FIX: Fixed sdc_lld_collect_errors does not collect errors (bug 3606743).