| fcbd9ef9 | 25-Apr-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
plat-stm32mp2: sysconfig: fix ordering of SYSCFG defines
Reorder SYSCFG defines to prepare renaming so the defines use the same name as the one in the reference manual.
Signed-off-by: Thomas Bourgo
plat-stm32mp2: sysconfig: fix ordering of SYSCFG defines
Reorder SYSCFG defines to prepare renaming so the defines use the same name as the one in the reference manual.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2186f9e0 | 13-Jun-2025 |
Sungbae Yoo <sungbaey@nvidia.com> |
drivers: ffa_console: add support for multiple character at once
FFA console will use FFA_CONSOLE_LOG_32 as a default if the current SPMD does not support FFA_CONSOLE_LOG_64.
Signed-off-by: Sungbae
drivers: ffa_console: add support for multiple character at once
FFA console will use FFA_CONSOLE_LOG_32 as a default if the current SPMD does not support FFA_CONSOLE_LOG_64.
Signed-off-by: Sungbae Yoo <sungbaey@nvidia.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 112396a5 | 17-Jun-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_tamp: implement reset on tamper event
In case the behavior on a tamper event detection is to reset the platform, call the do_reset() API to force a system reset.
Signed-off-by: Gatie
drivers: stm32_tamp: implement reset on tamper event
In case the behavior on a tamper event detection is to reset the platform, call the do_reset() API to force a system reset.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e29eb9dd | 17-Jun-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
plat-stm32mp1: implement do_reset() API to force a system reset
Implement the do_reset() API that traps all cores if the SoC has multiple cores, then prints a message and forces a system reset.
Sig
plat-stm32mp1: implement do_reset() API to force a system reset
Implement the do_reset() API that traps all cores if the SoC has multiple cores, then prints a message and forces a system reset.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 072babca | 16-Jun-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
plat-stm32mp2: implement do_reset() API to force a system reset
Implement the do_reset() API that traps all cores if the SoC has multiple cores, then prints a message and forces a system reset.
Sig
plat-stm32mp2: implement do_reset() API to force a system reset
Implement the do_reset() API that traps all cores if the SoC has multiple cores, then prints a message and forces a system reset.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 7653887e | 18-Jun-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: panic: allow core halting on SGI in other cases than panic()
There may be cases where we want to halt several cores outside of a panic() sequence.
Therefore, add CFG_MULTI_CORE_HALTING switch
core: panic: allow core halting on SGI in other cases than panic()
There may be cases where we want to halt several cores outside of a panic() sequence.
Therefore, add CFG_MULTI_CORE_HALTING switch that allows to register an interrupt handler for the CFG_HALT_CORES_SGI that is dedicated to halt other cores.
This reduces the scope of CFG_HALT_CORES_ON_PANIC that is now used only for halting other cores in a panic() sequence.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a4c86358 | 10-Jul-2025 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
dts: stm32: add RTC RIF configuration for the stm32mp257f-ev1 board
Add the RTC RIF configuration for the stm32mp257f-ev1 board.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Revi
dts: stm32: add RTC RIF configuration for the stm32mp257f-ev1 board
Add the RTC RIF configuration for the stm32mp257f-ev1 board.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 63000677 | 26-Feb-2024 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
drivers: stm32_rtc: add the capability to wakeup the platform
During probe, we look for the property "wakeup-source" that will trigger the feature "RTC_WAKEUP_ALARM" which will be send to the caller
drivers: stm32_rtc: add the capability to wakeup the platform
During probe, we look for the property "wakeup-source" that will trigger the feature "RTC_WAKEUP_ALARM" which will be send to the callers of the framework `rtc_get_info()` PTA.
We also register the `stm32_rtc_alarm_wake_set_status()` callback. This callback should be called when the callers knows that the platform will go in sleep mode.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 7818ae9b | 27-Jun-2025 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
drivers: stm32_rtc: add alarm related operations
The RTC framework allows the registration of function : - `read_alarm()` - `set_alarm()` - `alarm_enable()` - `wait_alarm()` - `cancel_wait()`
Signe
drivers: stm32_rtc: add alarm related operations
The RTC framework allows the registration of function : - `read_alarm()` - `set_alarm()` - `alarm_enable()` - `wait_alarm()` - `cancel_wait()`
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 446da993 | 27-Jun-2025 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
drivers: stm32_rtc: add init configuration function
The init function aims to contains init configurations of the RTC peripheral such as prescalers, config or calibration registers. Add "CFG_STM32_H
drivers: stm32_rtc: add init configuration function
The init function aims to contains init configurations of the RTC peripheral such as prescalers, config or calibration registers. Add "CFG_STM32_HIGH_ACCURACY" (default to no) config to enable the high accuracy mode which allow the highest refresh rate of the subsecond register. Also merge the functions `stm32_rtc_wait_sync()` with `stm32_exit_init_mode()` as every stm32 exit init mode was followed by a wait sync.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| f6f2dc44 | 09-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp2: enable async notif with GIC PPI 15
Enables OP-TEE async notif (asynchronous notification from OP-TEE to the non-secure world) using GIC PPI 15 (GIC interrupt line 31).
Signed-off-by:
plat-stm32mp2: enable async notif with GIC PPI 15
Enables OP-TEE async notif (asynchronous notification from OP-TEE to the non-secure world) using GIC PPI 15 (GIC interrupt line 31).
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| f2699bc4 | 09-Feb-2024 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
plat-stm32mp2: add support for RTC PTA
Compile the RTC PTA and the RTC driver if the RTC driver for stm32 is enabled.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Et
plat-stm32mp2: add support for RTC PTA
Compile the RTC PTA and the RTC driver if the RTC driver for stm32 is enabled.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 9b745e16 | 04-Mar-2024 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
plat-stm32mp1: add support for RTC PTA
Compile the RTC PTA and the RTC driver if the RTC driver for stm32 is enabled.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Et
plat-stm32mp1: add support for RTC PTA
Compile the RTC PTA and the RTC driver if the RTC driver for stm32 is enabled.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 8e31dd58 | 02-Sep-2024 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
core: pta: add alarm-related operations to RTC PTA
Add `set_alarm()`, `read_alarm()`, `enable_alarm()`, `wait_alarm()`, `cancel_wait()` and `set_wake_alarm_status()` operations. Also update RTC feat
core: pta: add alarm-related operations to RTC PTA
Add `set_alarm()`, `read_alarm()`, `enable_alarm()`, `wait_alarm()`, `cancel_wait()` and `set_wake_alarm_status()` operations. Also update RTC features to include alarm and wakeup alarm capabilities.
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 1dc9a126 | 27-Jun-2025 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
core: pta: check struct alignment in RTC PTA API
Check buffer alignment against its pretended type before assignation.
Fixes: cea1eb0bc90e ("pta: add PTA for RTC") Signed-off-by: Clément Le Goffic
core: pta: check struct alignment in RTC PTA API
Check buffer alignment against its pretended type before assignation.
Fixes: cea1eb0bc90e ("pta: add PTA for RTC") Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 143e9dce | 01-Feb-2024 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
drivers: rtc: add support of alarm in RTC API
Add set_alarm and read_alarm to the RTC API to set and read an alarm.
In parallel three others functions are added: - `enable_alarm()`: Enable or not t
drivers: rtc: add support of alarm in RTC API
Add set_alarm and read_alarm to the RTC API to set and read an alarm.
In parallel three others functions are added: - `enable_alarm()`: Enable or not the alarm - `wait_alarm()`: This function is called by the non-secure world and waits until an alarm happens. The wait alarm caller is blocked until an asynchronous notification arrives. - `set_alarm_wakeup_status()`: Allow to disable or not the wakeup capability of the alarm in low power mode
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| ebc34e0c | 09-Jun-2025 |
Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> |
core: asan: fix check_access()
The previous implementation of check_access() was not fully correct and could fail to detect out-of-bounds accesses near the end of an allocated buffer.
For example,
core: asan: fix check_access()
The previous implementation of check_access() was not fully correct and could fail to detect out-of-bounds accesses near the end of an allocated buffer.
For example, given a buffer of size 7 allocated at address A. check_access(addr = A + 7, size = 1) would not trigger a panic, because the check relied on va_is_well_aligned(end), which skips validation when end is aligned.
The new check_access() implementation is based on the version from FreeBSD's subr_asan.c and performs precise shadow memory validation.
In addition, asan_tag_access() behaviour was changed. The shadow byte should encode the number of accessible bytes. (1 <= k <= 7) means that the first k bytes are addressible. This behaviour is in accordance with:
a) the stack instrumentation emitted by compiler b) the original ASan paper, see [1] section 3.1 Shadow Memory c) other kasan implementations from freebsd/linux-kernel
[1] https://www.usenix.org/system/files/conference/atc12/atc12-final39.pdf
Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 7749dda2 | 08-Jun-2025 |
Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> |
core, libutils: unpoison stack on longjmp for ASan
Adds support for unpoisoning the stack when performing longjmp, to ensure correct ASan behavior.
When a longjmp unwinds the stack, parts of the st
core, libutils: unpoison stack on longjmp for ASan
Adds support for unpoisoning the stack when performing longjmp, to ensure correct ASan behavior.
When a longjmp unwinds the stack, parts of the stack that were poisoned during deeper calls may remain marked as inaccessible. This can lead to false ASan reports after longjmp, as the new frame reuses that memory.
To avoid this, a call to asan_handle_longjmp() is added to setjmp_a64.S, which unpoisons the stack range between the current SP and the old SP (saved during setjmp).
Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 999dcb5c | 08-Jun-2025 |
Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> |
core: add ASan runtime tests to core self-tests
Adds a set of AddressSanitizer (ASan) runtime tests. Covers stack overflow, global buffer overflow, heap overflow, use-after-free, invalid memcpy/mems
core: add ASan runtime tests to core self-tests
Adds a set of AddressSanitizer (ASan) runtime tests. Covers stack overflow, global buffer overflow, heap overflow, use-after-free, invalid memcpy/memset cases.
These tests are important to ensure that ASan works correctly when enabled. Implementation of functions such as memset() and memcpy() may change in the future, or ASan support may silently break when switching to a new compiler version. Having explicit tests provides confidence that ASan instrumentation remains functional and correctly detects memory errors.
Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c9c847d5 | 11-Jun-2025 |
Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> |
core: asan: add support for custom panic callback
Add asan_set_panic_cb() to register a custom panic callback.
The ability to set a panic callback will be used in ASan tests to capture and validate
core: asan: add support for custom panic callback
Add asan_set_panic_cb() to register a custom panic callback.
The ability to set a panic callback will be used in ASan tests to capture and validate expected violations without triggering a full system panic, which is important for automated testing.
Introduce asan_report() to provide more detailed reporting of access violations, including nearby shadow memory dump.
Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6945b368 | 19-Sep-2024 |
Anil Kumar Reddy <areddy3@marvell.com> |
plat-marvell: Add support for CN20K SoCs
Add support for Octeon20(CN20K) SoCs from Marvell.
Only tested 64-bit mode with default configurations:
1. Build command make PLATFORM=marvell-cn20ka mak
plat-marvell: Add support for CN20K SoCs
Add support for Octeon20(CN20K) SoCs from Marvell.
Only tested 64-bit mode with default configurations:
1. Build command make PLATFORM=marvell-cn20ka make PLATFORM=marvell-cnf20ka 2. Passed xtest
Signed-off-by: Anil Kumar Reddy <areddy3@marvell.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1e3d23f8 | 03-Jul-2025 |
Jens Wiklander <jens.wiklander@linaro.org> |
Revert "plat-rockchip: rk3399: remove GIC configuration"
With commit 4cb77793842a ("irqchip/gic-v3: Fix rk3399 workaround when secure interrupts are enabled") in the Linux kernel OP-TEE panics after
Revert "plat-rockchip: rk3399: remove GIC configuration"
With commit 4cb77793842a ("irqchip/gic-v3: Fix rk3399 workaround when secure interrupts are enabled") in the Linux kernel OP-TEE panics after the kernel has booted with: E/TC:3 0 Panic 'Secure interrupt handler not defined' at core/kernel/interrupt.c:105 <interrupt_main_handler>
So for kernels after v6.14 we need another workaround. The easiest is to revert commit 447c5f6bc49ff5408c0543ceaaabf0cb8f23804d. The GIC is still broken, but the device is still usable in other aspects.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (rockchip-rk3399) (Rockpi4B) Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 55544d37 | 03-Jul-2025 |
Frazer Carsley <frazer.carsley@arm.com> |
plat-corstone1000: increase CFG_TZDRAM_SIZE
TZDRAM is a 4MB SRAM in Corstone-1000. Its start address is `0x0200_0000` but the first 0x2000 bytes are reserved for future use. `CFG_TZDRAM_SIZE` can be
plat-corstone1000: increase CFG_TZDRAM_SIZE
TZDRAM is a 4MB SRAM in Corstone-1000. Its start address is `0x0200_0000` but the first 0x2000 bytes are reserved for future use. `CFG_TZDRAM_SIZE` can be increased to `0x360000` so OP-TEE has more RAM.
Signed-off-by: Bence Balogh <bence.balogh@arm.com> Signed-off-by: Frazer Carsley <frazer.carsley@arm.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 078e2ad4 | 03-Jul-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
dts: stm32: remove activation of RTC nodes at board level
Remove unnecessary activation of RTC in stm32mp15xxdkx.dtsi and stm32mp135f-dk.dts. RTC node is default enabled in stm32mp131.dtsi and stm32
dts: stm32: remove activation of RTC nodes at board level
Remove unnecessary activation of RTC in stm32mp15xxdkx.dtsi and stm32mp135f-dk.dts. RTC node is default enabled in stm32mp131.dtsi and stm32mp151.dtsi.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a7ac1511 | 03-Jul-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
dts: stm32: default enable RTC on stm32mp1
TAMP peripheral has a dependency on RTC. Since TAMP is enable by default in stm32mp131.dtsi and stm32mp151.dtsi. Default probe RTC to solve TAMP's dependen
dts: stm32: default enable RTC on stm32mp1
TAMP peripheral has a dependency on RTC. Since TAMP is enable by default in stm32mp131.dtsi and stm32mp151.dtsi. Default probe RTC to solve TAMP's dependency on it.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|