zephyr/soc
Arnaud Ferraris 37a8592114 soc: arm: st_stm32: stm32mp1: enable HSEM clock on init
Most drivers make use of the HW semaphore (see `stm32_gpio.c`), but the
HSEM clock isn't currently setup on the MCU side. This means we rely on
the MPU to enable this clock, which is an unsafe bet: the OS running on
the MPU may not have support for HSEM, or it might enter sleep state,
which will disable the clock. As a consequence, firmwares loaded from
the MPU running this OS will block on the first `z_stm32_hsem_lock()`
call.

As it is required to run anything on the MCU core, we shouldn't assume
the HSEM clock is already active when booting and enable it in the SoC
init, the same way it is done for the STM32H7.

Signed-off-by: Arnaud Ferraris <arnaud.ferraris@collabora.com>
2020-09-03 14:44:26 -05:00
..
arc device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
arm soc: arm: st_stm32: stm32mp1: enable HSEM clock on init 2020-09-03 14:44:26 -05:00
nios2
posix zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
riscv device: Const-ify all device driver instance pointers 2020-09-02 13:48:13 +02:00
x86 boards: x86: Remove gpmrb board 2020-07-30 12:15:01 -04:00
xtensa arch: Apply dynamic IRQ API change 2020-09-02 13:48:13 +02:00
Kconfig cmake: kconfig: support for multiple SOC_ROOT 2020-08-05 08:06:07 -04:00