zephyr/drivers/clock_control
Erwan Gouriou 77db273f6f stm32: clock_control: Enforce HCLK prescaler value
STM32 clock control subsystem allows to configure a different
frequency value for core clock (SYSCLK) and AHB clock (HCLK).
Though, it is HCLK which is used to feed Cortex Systick timer
which  is used in zephyr as reference system clock.
If HCLK frequency is configured to a different value from SYSCLK
frequency, whole system is exposed to desynchro between zephyr clock
subsytem and STM32 HW configuration.
To prevent this, and until zephyr clock subsystem is changed to be
aware of this potential configuration, enforce AHB prescaler value
to 1 (which is current default value in use for all STM32 based
boards).

On STM32H7, enforce D1CPRE which fills the same role as ABH precaler.

On STM32MP1, the equivalent setting is done on A7 core, so it is
not exposed to the same issue as long as SYS_CLOCK_HW_CYCLES_PER_SEC
is set with the 'mlhclk_ck' clock frequency value. Update
matching boards documentation.

Fixes #17188

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2019-08-03 14:18:55 -04:00
..
beetle_clock_control.c drivers: beetle_clock_control: Get CPU clock frequency from DTS 2019-07-24 15:10:02 +02:00
clock_control_mcux_ccm.c clock/usdhc: Enable clock of USDHC of i.MXRT 2019-07-10 11:58:15 -05:00
clock_control_mcux_pcc.c
clock_control_mcux_scg.c
clock_control_mcux_sim.c
clock_control_rv32m1_pcc.c
clock_stm32_ll_common.c stm32: clock_control: Enforce HCLK prescaler value 2019-08-03 14:18:55 -04:00
clock_stm32_ll_common.h
clock_stm32_ll_h7.c stm32: clock_control: Enforce HCLK prescaler value 2019-08-03 14:18:55 -04:00
clock_stm32_ll_mp1.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
clock_stm32f1.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
clock_stm32f2_f4_f7.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
clock_stm32f0_f3.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
clock_stm32g0.c drivers: clock_control: Add STM32G0XX clock support 2019-07-05 10:35:55 -05:00
clock_stm32l4_wb.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
clock_stm32l0_l1.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
CMakeLists.txt boards: remove quarl_se_c1000 2019-07-29 21:30:25 -07:00
Kconfig boards: remove quarl_se_c1000 2019-07-29 21:30:25 -07:00
Kconfig.beetle
Kconfig.mcux_ccm
Kconfig.mcux_pcc
Kconfig.mcux_scg
Kconfig.mcux_sim
Kconfig.nrf drivers: clock_control: nrf: Add option to use external LF source 2019-07-02 12:58:06 +02:00
Kconfig.rv32m1
Kconfig.stm32 drivers: clock_control: Add STM32G0XX clock support 2019-07-05 10:35:55 -05:00
Kconfig.stm32f1
Kconfig.stm32f2_f4_f7
Kconfig.stm32f0_f3
Kconfig.stm32g0 drivers: clock_control: Add STM32G0XX clock support 2019-07-05 10:35:55 -05:00
Kconfig.stm32h7 drivers/clock_control: STM32H7 support 2019-07-04 08:50:04 -04:00
Kconfig.stm32l4_wb
Kconfig.stm32l0_l1
nrf_power_clock.c