drivers: clock: stm32f1,f3: fix adc prescaler
Fix a compilation error occurring when a prescaler was set for ADC on F1 and F3 family. Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
This commit is contained in:
parent
3f9d21e721
commit
425452bddc
4 changed files with 26 additions and 28 deletions
|
@ -35,6 +35,28 @@
|
||||||
#define apb2_prescaler(v) fn_apb2_prescaler(v)
|
#define apb2_prescaler(v) fn_apb2_prescaler(v)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(RCC_CFGR_ADCPRE)
|
||||||
|
#define z_adc12_prescaler(v) LL_RCC_ADC_CLKSRC_PCLK2_DIV_ ## v
|
||||||
|
#define adc12_prescaler(v) z_adc12_prescaler(v)
|
||||||
|
#elif defined(RCC_CFGR2_ADC1PRES)
|
||||||
|
#define z_adc12_prescaler(v) \
|
||||||
|
COND_CODE_1(IS_EQ(v, 0), \
|
||||||
|
LL_RCC_ADC1_CLKSRC_HCLK, \
|
||||||
|
LL_RCC_ADC1_CLKSRC_PLL_DIV_ ## v)
|
||||||
|
#define adc12_prescaler(v) z_adc12_prescaler(v)
|
||||||
|
#else
|
||||||
|
#define z_adc12_prescaler(v) \
|
||||||
|
COND_CODE_1(IS_EQ(v, 0), \
|
||||||
|
(LL_RCC_ADC12_CLKSRC_HCLK), \
|
||||||
|
(LL_RCC_ADC12_CLKSRC_PLL_DIV_ ## v))
|
||||||
|
#define adc12_prescaler(v) z_adc12_prescaler(v)
|
||||||
|
#define z_adc34_prescaler(v) \
|
||||||
|
COND_CODE_1(IS_EQ(v, 0), \
|
||||||
|
(LL_RCC_ADC34_CLKSRC_HCLK), \
|
||||||
|
(LL_RCC_ADC34_CLKSRC_PLL_DIV_ ## v))
|
||||||
|
#define adc34_prescaler(v) z_adc34_prescaler(v)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), ahb4_prescaler)
|
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), ahb4_prescaler)
|
||||||
#define RCC_CALC_FLASH_FREQ __LL_RCC_CALC_HCLK4_FREQ
|
#define RCC_CALC_FLASH_FREQ __LL_RCC_CALC_HCLK4_FREQ
|
||||||
#define GET_CURRENT_FLASH_PRESCALER LL_RCC_GetAHB4Prescaler
|
#define GET_CURRENT_FLASH_PRESCALER LL_RCC_GetAHB4Prescaler
|
||||||
|
@ -814,13 +836,13 @@ int stm32_clock_control_init(const struct device *dev)
|
||||||
LL_RCC_SetAHB4Prescaler(ahb_prescaler(STM32_AHB4_PRESCALER));
|
LL_RCC_SetAHB4Prescaler(ahb_prescaler(STM32_AHB4_PRESCALER));
|
||||||
#endif
|
#endif
|
||||||
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), adc_prescaler)
|
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), adc_prescaler)
|
||||||
LL_RCC_SetADCClockSource(adc_prescaler(STM32_ADC_PRESCALER));
|
LL_RCC_SetADCClockSource(adc12_prescaler(STM32_ADC_PRESCALER));
|
||||||
#endif
|
#endif
|
||||||
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), adc12_prescaler)
|
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), adc12_prescaler)
|
||||||
LL_RCC_SetADCClockSource(adc_prescaler(STM32_ADC12_PRESCALER));
|
LL_RCC_SetADCClockSource(adc12_prescaler(STM32_ADC12_PRESCALER));
|
||||||
#endif
|
#endif
|
||||||
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), adc34_prescaler)
|
#if DT_NODE_HAS_PROP(DT_NODELABEL(rcc), adc34_prescaler)
|
||||||
LL_RCC_SetADCClockSource(adc_prescaler(STM32_ADC34_PRESCALER));
|
LL_RCC_SetADCClockSource(adc34_prescaler(STM32_ADC34_PRESCALER));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* configure MCO1/MCO2 based on Kconfig */
|
/* configure MCO1/MCO2 based on Kconfig */
|
||||||
|
|
|
@ -15,28 +15,6 @@
|
||||||
#include <zephyr/drivers/clock_control/stm32_clock_control.h>
|
#include <zephyr/drivers/clock_control/stm32_clock_control.h>
|
||||||
#include "clock_stm32_ll_common.h"
|
#include "clock_stm32_ll_common.h"
|
||||||
|
|
||||||
#if defined(RCC_CFGR_ADCPRE)
|
|
||||||
#define z_adc_prescaler(v) LL_RCC_ADC_CLKSRC_PCLK2_DIV_ ## v
|
|
||||||
#define adc_prescaler(v) z_adc_prescaler(v)
|
|
||||||
#elif defined(RCC_CFGR2_ADC1PRES)
|
|
||||||
#define z_adc12_prescaler(v) \
|
|
||||||
COND_CODE_1(IS_EQ(v, 0), \
|
|
||||||
LL_RCC_ADC1_CLKSRC_HCLK, \
|
|
||||||
LL_RCC_ADC1_CLKSRC_PLL_DIV_ ## v)
|
|
||||||
#define adc12_prescaler(v) z_adc12_prescaler(v)
|
|
||||||
#else
|
|
||||||
#define z_adc12_prescaler(v) \
|
|
||||||
COND_CODE_1(IS_EQ(v, 0), \
|
|
||||||
LL_RCC_ADC12_CLKSRC_HCLK, \
|
|
||||||
LL_RCC_ADC12_CLKSRC_PLL_DIV_ ## v)
|
|
||||||
#define adc12_prescaler(v) z_adc12_prescaler(v)
|
|
||||||
#define z_adc34_prescaler(v) \
|
|
||||||
COND_CODE_1(IS_EQ(v, 0), \
|
|
||||||
LL_RCC_ADC34_CLKSRC_HCLK, \
|
|
||||||
LL_RCC_ADC34_CLKSRC_PLL_DIV_ ## v)
|
|
||||||
#define adc34_prescaler(v) z_adc34_prescaler(v)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(STM32_PLL_ENABLED)
|
#if defined(STM32_PLL_ENABLED)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -21,9 +21,6 @@
|
||||||
#define STM32_USB_PRE_ENABLED RCC_CFGR_OTGFSPRE
|
#define STM32_USB_PRE_ENABLED RCC_CFGR_OTGFSPRE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define z_adc_prescaler(v) LL_RCC_ADC_CLKSRC_PCLK2_DIV_ ## v
|
|
||||||
#define adc_prescaler(v) z_adc_prescaler(v)
|
|
||||||
|
|
||||||
#if defined(STM32_PLL_ENABLED)
|
#if defined(STM32_PLL_ENABLED)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -31,6 +31,7 @@ properties:
|
||||||
ADC 1 and 2 prescaler
|
ADC 1 and 2 prescaler
|
||||||
- 0: Disables the clock so the ADC can use AHB clock (synchronous mode)
|
- 0: Disables the clock so the ADC can use AHB clock (synchronous mode)
|
||||||
- Other values n: The ADC can use the PLL clock divided by n
|
- Other values n: The ADC can use the PLL clock divided by n
|
||||||
|
On STM32F37x, only 2/4/6/8 are allowed.
|
||||||
|
|
||||||
adc34-prescaler:
|
adc34-prescaler:
|
||||||
type: int
|
type: int
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue