soc: arm: stm32 SYS_CLOCK_TICKS_PER_SEC config with STM32_LPTIM_TIMER
Configure the SYS_CLOCK_TICKS_PER_SEC directly from the DTS st-prescaler property of the lptim node aka stm32_lp_tick_source Signed-off-by: Francois Ramu <francois.ramu@st.com>
This commit is contained in:
parent
eeb7a88ff0
commit
5bacc2eaac
1 changed files with 19 additions and 2 deletions
|
@ -13,6 +13,9 @@ config CORTEX_M_SYSTICK
|
|||
DT_STM32_RCC_PATH := $(dt_nodelabel_path,rcc)
|
||||
DT_STM32_RCC_CLOCK_FREQ := $(dt_node_int_prop_int,$(DT_STM32_RCC_PATH),clock-frequency)
|
||||
|
||||
DT_ST_PRESCALER := st,prescaler
|
||||
DT_STM32_LPTIM_PATH := $(dt_nodelabel_path,stm32_lp_tick_source)
|
||||
|
||||
config SYS_CLOCK_HW_CYCLES_PER_SEC
|
||||
default "$(DT_STM32_RCC_CLOCK_FREQ)" if "$(dt_nodelabel_enabled,rcc)"
|
||||
|
||||
|
@ -24,9 +27,23 @@ config LOG_BACKEND_SWO_REF_FREQ_HZ
|
|||
endif # LOG_BACKEND_SWO
|
||||
|
||||
# set the tick per sec as a divider of the LPTIM clock source
|
||||
# with a minimum value of 4096 for SYS_CLOCK_TICKS_PER_SEC to keep
|
||||
# SYS_CLOCK_TICKS_PER_SEC not too high compared to the LPTIM counter clock
|
||||
config SYS_CLOCK_TICKS_PER_SEC
|
||||
default 4096 if STM32_LPTIM_TIMER && STM32_LPTIM_CLOCK_LSE
|
||||
default 4000 if STM32_LPTIM_TIMER && STM32_LPTIM_CLOCK_LSI
|
||||
default 4096 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" < 16
|
||||
default 2048 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 16
|
||||
default 1024 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 32
|
||||
default 512 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 64
|
||||
default 256 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 128
|
||||
depends on STM32_LPTIM_TIMER && STM32_LPTIM_CLOCK_LSE
|
||||
|
||||
config SYS_CLOCK_TICKS_PER_SEC
|
||||
default 4000 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" < 16
|
||||
default 2000 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 16
|
||||
default 1000 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 32
|
||||
default 500 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 64
|
||||
default 250 if "$(dt_node_int_prop_int,$(DT_STM32_LPTIM_PATH),$(DT_ST_PRESCALER))" = 128
|
||||
depends on STM32_LPTIM_TIMER && STM32_LPTIM_CLOCK_LSI
|
||||
|
||||
config CLOCK_CONTROL_STM32_CUBE
|
||||
default y
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue