zephyr/soc/st/stm32
Mathieu Choplain 4282d67ac2 soc: st: stm32h7: synchronize cores during boot properly
On dual-core STM32H7, the Cortex-M4 core is supposed to wait until the
Cortex-M7 initializes the system before starting to execute. CM7 should
signal this by locking a specific HSEM, which CM4 should poll until locked.
However, the logic on the Cortex-M4 side was reading the "RLR" register of
HSEM, which *locks the semaphore on read* - in turn, this makes the CM4
start directly since it sees that the semaphore is locked (by itself).

Use proper LL API to read HSEM status - which will read the "R" register
instead - to make sure CM4 doesn't begin execution earlier than it should.

Suggested-by: hglassdyb
Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-06-10 12:08:35 +02:00
..
common soc: st: stm32: hsem: update description for fifth HSEM 2025-06-10 12:08:35 +02:00
stm32c0x soc: st: stm32: poweroff uses stm32_wkup_pins 2025-04-08 11:45:24 +02:00
stm32f0x soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
stm32f1x soc: stm32f1x: Add support for stop/standby modes 2025-05-20 10:16:20 +02:00
stm32f2x soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
stm32f3x soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
stm32f4x soc: stm32: Adds support for STM32F401XD variants 2025-04-24 01:27:43 +02:00
stm32f7x soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
stm32g0x soc: stm32g0x: add poweroff implementation 2025-05-02 01:17:02 +02:00
stm32g4x soc: stm32g4x/stm32l0x: fix soc hook calls 2024-09-21 11:29:06 +02:00
stm32h5x soc: stm32: use cache peripheral driver 2025-04-25 11:04:37 +02:00
stm32h7rsx soc: stm32h7r/s: smps is supported on all SoCs 2025-04-24 10:39:34 +02:00
stm32h7x soc: st: stm32h7: synchronize cores during boot properly 2025-06-10 12:08:35 +02:00
stm32l0x soc: stm32g4x/stm32l0x: fix soc hook calls 2024-09-21 11:29:06 +02:00
stm32l1x soc: add stm32l100xb 2025-05-08 01:57:52 +02:00
stm32l4x soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
stm32l5x soc: stm32: use cache peripheral driver 2025-04-25 11:04:37 +02:00
stm32mp1x soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
stm32mp13x soc: st: stm32mp13: add missing arm_mmu.h include 2025-04-16 17:08:37 +02:00
stm32n6x soc: st: stm32n6: add arm v8.1 mvei and mvef kconfig 2025-05-06 15:31:51 +02:00
stm32u0x soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
stm32u5x dts/kconfig: stm32u5: add f9 and clean up dts node locations 2025-06-09 14:26:11 -07:00
stm32wb0x soc: st: stm32wb0x: Increase main stack size for BLE applications 2025-01-22 15:50:41 +01:00
stm32wbax soc: stm32: use cache peripheral driver 2025-04-25 11:04:37 +02:00
stm32wbx soc: stm32wb: fix ble low-power 2024-11-29 11:45:20 +01:00
stm32wlx soc: st: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
CMakeLists.txt boards: st: Clean up compiler related directives 2024-03-22 09:23:30 +00:00
Kconfig soc: stm32: Adds the STM32WBA65x device. 2025-04-15 15:33:15 +02:00
Kconfig.defconfig soc: st: stm32 Kconfig to retrieve the external Flash Base address 2025-05-21 17:35:06 +02:00
Kconfig.soc
soc.yml soc: st: add stm32u535 support 2025-05-14 19:36:26 +02:00