drivers: adc: stm32: disable ADC before writing oversampling bits for g0
Added the STM32G0X SOC series to the list of SOC that need to disable the ADC while setting the oversampling bits to prevent writing over the CKMODE bits. Signed-off-by: Alexandre Poizat <apoizat@kalrayinc.com>
This commit is contained in:
parent
6fa13e20e3
commit
0195f774ba
1 changed files with 6 additions and 3 deletions
|
@ -641,11 +641,14 @@ static const uint32_t table_oversampling_ratio[] = {
|
|||
*/
|
||||
static void adc_stm32_oversampling_scope(ADC_TypeDef *adc, uint32_t ovs_scope)
|
||||
{
|
||||
#if defined(CONFIG_SOC_SERIES_STM32L0X) || \
|
||||
#if defined(CONFIG_SOC_SERIES_STM32G0X) || \
|
||||
defined(CONFIG_SOC_SERIES_STM32L0X) || \
|
||||
defined(CONFIG_SOC_SERIES_STM32WLX)
|
||||
/*
|
||||
* setting OVS bits is conditioned to ADC state: ADC must be disabled
|
||||
* or enabled without conversion on going : disable it, it will stop
|
||||
* Setting OVS bits is conditioned to ADC state: ADC must be disabled
|
||||
* or enabled without conversion on going : disable it, it will stop.
|
||||
* For the G0 series, ADC must be disabled to prevent CKMODE bitfield
|
||||
* from getting reset, see errata ES0418 section 2.6.4.
|
||||
*/
|
||||
if (LL_ADC_GetOverSamplingScope(adc) == ovs_scope) {
|
||||
return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue