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 cleanup: include/: move clock_control.h to drivers/clock_control.h 2019-06-27 22:55:49 -04:00
clock_control_mcux_scg.c cleanup: include/: move clock_control.h to drivers/clock_control.h 2019-06-27 22:55:49 -04:00
clock_control_mcux_sim.c cleanup: include/: move clock_control.h to drivers/clock_control.h 2019-06-27 22:55:49 -04:00
clock_control_rv32m1_pcc.c cleanup: include/: move clock_control.h to drivers/clock_control.h 2019-06-27 22:55:49 -04:00
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 drivers: clock_control: stm32: Modify file naming pattern 2019-04-26 02:56:20 -07:00
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_stm32f0_f3.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_stm32g0.c drivers: clock_control: Add STM32G0XX clock support 2019-07-05 10:35:55 -05:00
clock_stm32l0_l1.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
clock_stm32l4_wb.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: drivers: clock_control: Remove redundant CLOCK_CONTROL deps. 2019-03-09 10:00:07 -05:00
Kconfig.mcux_ccm Kconfig: Use a short, consistent style for prompts 2018-08-15 04:10:10 -07:00
Kconfig.mcux_pcc clock_control: introduce mcux pcc driver 2019-05-14 15:00:11 -05:00
Kconfig.mcux_scg drivers: clock_control: mcux_scg: add NXP MCUX SCG clock control driver 2019-06-24 14:33:46 -05:00
Kconfig.mcux_sim Kconfig: Use a short, consistent style for prompts 2018-08-15 04:10:10 -07:00
Kconfig.nrf drivers: clock_control: nrf: Add option to use external LF source 2019-07-02 12:58:06 +02:00
Kconfig.rv32m1 clock_control: RV32M1: introduce PCC driver / DT bindings 2019-01-25 11:59:46 -05:00
Kconfig.stm32 drivers: clock_control: Add STM32G0XX clock support 2019-07-05 10:35:55 -05:00
Kconfig.stm32f0_f3 drivers/clock_control: stm32: Split Kconfig file 2019-06-10 10:53:11 -04:00
Kconfig.stm32f1 drivers/clock_control: stm32: Split Kconfig file 2019-06-10 10:53:11 -04:00
Kconfig.stm32f2_f4_f7 drivers/clock_control: stm32: Split Kconfig file 2019-06-10 10:53:11 -04:00
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.stm32l0_l1 drivers/clock_control: stm32: Split Kconfig file 2019-06-10 10:53:11 -04:00
Kconfig.stm32l4_wb drivers/clock_control: stm32: Split Kconfig file 2019-06-10 10:53:11 -04:00
nrf_power_clock.c cleanup: include/: move misc/__assert.h to sys/__assert.h 2019-06-27 22:55:49 -04:00