| b53175e9 | 08-Nov-2024 |
Christophe Kerello <christophe.kerello@foss.st.com> |
dts: stm32: fix memory ranges on fmc node for stm32mp251
Fix memory ranges on fmc node for in stm32mp251.dtsi
Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com> Signed-off-by: Thoma
dts: stm32: fix memory ranges on fmc node for stm32mp251
Fix memory ranges on fmc node for in stm32mp251.dtsi
Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com> Signed-off-by: Thomas BOURGOIN <thomas.bourgoin@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 3edbed4e | 23-Sep-2025 |
Jerome Forissier <jerome.forissier@linaro.org> |
github: update stale workflow to v10.0.0
Update actions/stale@v4.1.0 to the latest version (v10.0.0). One difference is that issues and PRs are closed by the bot as "not_planned" rather than "comple
github: update stale workflow to v10.0.0
Update actions/stale@v4.1.0 to the latest version (v10.0.0). One difference is that issues and PRs are closed by the bot as "not_planned" rather than "completed", which is the main reason for updating.
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| b2f0c846 | 17-Sep-2025 |
Ox Yeh <ox.yeh@mediatek.com> |
core: ree_fs: initialize ta_ver.db when its size is zero
Creating and writing db_hdr involves several RPC commands. If a power loss occurs during the creation flow, it may result in a db file with a
core: ree_fs: initialize ta_ver.db when its size is zero
Creating and writing db_hdr involves several RPC commands. If a power loss occurs during the creation flow, it may result in a db file with an empty db_hdr. Attempting to read this file subsequently leads to a TEE_ERROR_BAD_STATE error.
Instead of returning TEE_ERROR_BAD_STATE, continue the db_hdr initialization flow to support subsequent functionality.
Link: https://github.com/OP-TEE/optee_os/issues/7513 Fixes: 183398139c9c ("core: enable rollback protection for REE-FS TAs")
Signed-off-by: Ox Yeh <ox.yeh@mediatek.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 44a6a1e3 | 17-Sep-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
ci: add build stm32mp215f-dk with SCP firmware
Add CI rules to build the board STM32MP215F-DK with the SCMI server.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Jerome For
ci: add build stm32mp215f-dk with SCP firmware
Add CI rules to build the board STM32MP215F-DK with the SCMI server.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 31e114fa | 12-Sep-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
plat-stm32mp2: conf: default enable CFG_SCMI_SCPFW
For STM32MP2x families the SCP firmware is the only SCMI server supported. Default enable CFG_SCMI_SCPFW=y in conf.mk
Signed-off-by: Thomas Bourgo
plat-stm32mp2: conf: default enable CFG_SCMI_SCPFW
For STM32MP2x families the SCP firmware is the only SCMI server supported. Default enable CFG_SCMI_SCPFW=y in conf.mk
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| d34de1de | 17-Sep-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
ci: remove build stm32mp2 without SCP firmware
STM32MP2x families can only be built with the SCMI server provided by SCP firmware. Remove builds of STM32MP2 families executed without the SCP firmwar
ci: remove build stm32mp2 without SCP firmware
STM32MP2x families can only be built with the SCMI server provided by SCP firmware. Remove builds of STM32MP2 families executed without the SCP firmware.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 3f8e5418 | 06-May-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: stm32_gpio: move dt_flags support in the new ops configure
Move the GPIO configuration based on dt_flags previously done in get_dt ops in the new gpio configure ops.
To avoid glitch on GPI
drivers: stm32_gpio: move dt_flags support in the new ops configure
Move the GPIO configuration based on dt_flags previously done in get_dt ops in the new gpio configure ops.
To avoid glitch on GPIO line, the write in register GPIO_MODER is only kept in the ops stm32_gpio_set_direction(), called by gpio framework function gpio_configure() after the call of configure ops, so we have no more transient GPIO input configuration.
Moreover, this patch allows to correctly apply the dt_flags when they are modify after the call of stm32_gpio_get_dt(), for example in drivers regulator fixed and gpio.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 396e1f07 | 18-Jun-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: gpio: add new ops configure to initialize gpio
Add the new ops configure to initialize the GPIO resource based on dt_flags. This new ops is require to support the modification of dt_flag do
drivers: gpio: add new ops configure to initialize gpio
Add the new ops configure to initialize the GPIO resource based on dt_flags. This new ops is require to support the modification of dt_flag done by caller after gpio_dt_init_by_index() and before call of gpio_configure().
It is done by example in driver of regulator fixed and gpio.
The new ops is called only in gpio_dt_cfg_by_index() or in gpio_configure() so usage of one of this API is manadatory after this patch.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 39d1e320 | 06-May-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: gpio: add configure functions
Align the OP-TEE GPIO driver with GPIO lib (devm_gpiod_get_index with enum gpiod_flags) and add a way to select the GPIO configuration directly during request
drivers: gpio: add configure functions
Align the OP-TEE GPIO driver with GPIO lib (devm_gpiod_get_index with enum gpiod_flags) and add a way to select the GPIO configuration directly during request with the new function, gpio_dt_cfg_by_index().
This patch remove assumption on GPIO direction (gpio input was assumed in GPIO driver) or output level when the GPIO is requested by consumer. with this patch it must be requested explicitly with: - GPIO_IN: configure the input GPIO - GPIO_ASIS: direction is managed by caller later with gpio_set_value() call. - GPIO_OUT_LOW / GPIO_OUT_HIGH: output GPIO at expected level, the sequence for GPIO have the correct order to avoid glitch by using the gpio function at the correct order.
This patch is a preliminary step for the introduction of ops configure. The API gpio_dt_get_by_index() is keep for backward compatibility but should be used with gpio_configure() or replaced by gpio_dt_cfg_by_index().
Now gpio_configure() is only used in the 2 drivers, regulator_fixed and regulator_gpio, because in these drivers the flags gpio->dt_flags are modified after call of gpio_dt_get_by_index().
For get_voltage_level_gpio(), GPIO_OUT_HIGH is used by default as it is done in Linux function of_get_gpio_regulator_config().
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| dc374be0 | 06-May-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: regulator: simplify device tree parsing
Use gpio_dt_get_by_index() to get the properties in device tree with all the possible variant name: "gpio" and "gpios".
Signed-off-by: Patrick Delau
drivers: regulator: simplify device tree parsing
Use gpio_dt_get_by_index() to get the properties in device tree with all the possible variant name: "gpio" and "gpios".
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a37f67ed | 06-May-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: gpio: support gpio suffix in device tree
Align the OP-TEE GPIO driver on the Linux GPIO lib behavior for the gpio properties in device tree: search "gpios" or "gpio" when gpio_name is omit
drivers: gpio: support gpio suffix in device tree
Align the OP-TEE GPIO driver on the Linux GPIO lib behavior for the gpio properties in device tree: search "gpios" or "gpio" when gpio_name is omitted and "foo-gpios" or "foo-gpio" when and if the gpio_name="foo".
This patch allows use of the function gpio_dt_get_by_index() by GPIO consumers for all supported bindings.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 799f2000 | 23-Jun-2023 |
Andrew Davis <afd@ti.com> |
core: console: Allow setting logging verbosity during runtime
The default console can be disabled at runtime for power management. Any prints after boot from OP-TEE could cause a bus data abort if t
core: console: Allow setting logging verbosity during runtime
The default console can be disabled at runtime for power management. Any prints after boot from OP-TEE could cause a bus data abort if the UART has been disabled. Add an option to change the log level after boot has completed which can be used to disable the console log.
Signed-off-by: Andrew Davis <afd@ti.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 61d3d2dc | 10-Sep-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
dts: stm32: enable IWDG1 on stm32mp257f-dk board
Enable IWDG1 node and set a 32s timeout.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier
dts: stm32: enable IWDG1 on stm32mp257f-dk board
Enable IWDG1 node and set a 32s timeout.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 7c96f48a | 10-Sep-2025 |
Ahmed Tiba <ahmed.tiba@arm.com> |
Update OPTEE MAINTAINERS list
This commit add Arm Automotive Reference Design platform to the MAINTAINERS list
Signed-off-by: Ahmed Tiba <ahmed.tiba@arm.com> Acked-by: Jerome Forissier <jerome.fori
Update OPTEE MAINTAINERS list
This commit add Arm Automotive Reference Design platform to the MAINTAINERS list
Signed-off-by: Ahmed Tiba <ahmed.tiba@arm.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 3eb0c445 | 24-Jun-2025 |
Johan Korsnes <johan.korsnes@remarkable.no> |
libutee: Fix handling of failed TA_CreateEntryPoint() in keep-alive TAs
Do not mark init as done if init fails. This is necessary to avoid running a TA uninitialized. Also, add a new marker indicati
libutee: Fix handling of failed TA_CreateEntryPoint() in keep-alive TAs
Do not mark init as done if init fails. This is necessary to avoid running a TA uninitialized. Also, add a new marker indicating if the malloc pool and other runtime setup has been performed - this part of the init must not be repeated.
This issue could cause a NULL pointer dereference in PKCS#11 TA if the TA's init failed. F.ex., if `tee-supplicant` was unavailable, the PKCS#11 TA's `TA_CreateEntryPoint()` would fail to init its tokens, and an error value would be returned. This in itself is fine, but the problem is that the init would be marked as done. Hence, for the next session, the TA's `TA_CreateEntryPoint()` would be omitted during init.
Link: https://github.com/OP-TEE/optee_os/pull/7443 Signed-off-by: Johan Korsnes <johan.korsnes@remarkable.no> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4936f055 | 20-Aug-2025 |
Ahmed Tiba <ahmed.tiba@arm.com> |
core: arm: refactor RD-1AE and RD-Aspen into automotive_rd flavors
This change moves RD-1AE and RD-Aspen under a single automotive_rd platform with per-flavor configuration.
Key updates: - Introduc
core: arm: refactor RD-1AE and RD-Aspen into automotive_rd flavors
This change moves RD-1AE and RD-Aspen under a single automotive_rd platform with per-flavor configuration.
Key updates: - Introduce plat-automotive_rd/ with shared main.c, platform_config.h and Makefiles. - Define RD-1AE and RD-Aspen are selected via PLATFORM_FLAVOR rd1ae or rdaspen. - Merge flavor settings (UART/GIC/DRAM/topology) into platform_config.h and conf.mk files. - Use default get_core_pos_mpidr() by setting appropriate CFG_CORE_CLUSTER_SHIFT / CFG_CORE_THREAD_SHIFT for rdaspen, eliminating custom assembly where not required.
Benefits: - Consistent with OP-TEE’s platform/variant framework. - Reduces code duplication between RD-1AE and RD-Aspen. - Simplifies adding new automotive reference design flavors in the future.
Usage: - Set PLATFORM=automotive_rd - Set PLATFORM_FLAVOR to rdaspen or rd1ae
Signed-off-by: Ahmed Tiba <ahmed.tiba@arm.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 91f02c8c | 16-Jul-2025 |
Raymond Mao <raymond.mao@linaro.org> |
core: kernel: align the address of transfer entry
Fix two issues in transfer_list_add() and transfer_list_add_with_align(), which cause incompliance with the Firmware Handoff spec v1.0 [1].
1. Avoi
core: kernel: align the address of transfer entry
Fix two issues in transfer_list_add() and transfer_list_add_with_align(), which cause incompliance with the Firmware Handoff spec v1.0 [1].
1. Avoid adding entries at an unaligned address. 2. Remove the implicit padding at the end of a transfer entry which is included by 'tl->size'.
[1] https://github.com/FirmwareHandoff/firmware_handoff/releases/tag/v1.0
Fixes: a12225022bd5 ("core: add transfer list API") Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ed89aa36 | 19-Aug-2025 |
Yeoreum Yun <yeoreum.yun@arm.com> |
core: arm: stmm_sp: return FFA_NOT_SUPPORTED for undefined FFA functions
edk2's patch ("ArmFfaLib: Add Rx/Tx support for Stmm secure partition") [0] added Rx/Tx buffer mapping support to ArmFfaStand
core: arm: stmm_sp: return FFA_NOT_SUPPORTED for undefined FFA functions
edk2's patch ("ArmFfaLib: Add Rx/Tx support for Stmm secure partition") [0] added Rx/Tx buffer mapping support to ArmFfaStandaloneMm(Core)Lib.
However, stmm_sp does not require Rx/Tx buffer mapping and its SVC handler is lightweight. Therefore, when it receives an undefined FFA function, it is sufficient to return FFA_NOT_SUPPORTED to StandaloneMm instead of panicking.
This also aligns with the FF-A specification, which requires returning FFA_NOT_SUPPORTED when an unimplemented function ID is received.
If StandaloneMm fails to initialize, it will return FFA_ERROR. In this case, there is no way to keep the stmm_sp TA alive, so panic is called. Otherwise, StandaloneMm will return with DIRECT_MSG_RESP.
Link: https://github.com/tianocore/edk2/pull/11080/commits/75ca159e57dbe081b89373046280f34d67571852 [0] Signed-off-by: Yeoreum Yun <yeoreum.yun@arm.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-by: Mikko Rapeli <mikko.rapeli@linaro.org>
show more ...
|
| 8e17e072 | 15-Jul-2025 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: add build config for MPXY/RPMI support
Enable compilation of MPXY/RPMI support by introducing the build option `CFG_RISCV_SBI_MPXY_RPMI`.
This commit: - Adds sbi_mpxy_rpmi.c to the bui
core: riscv: add build config for MPXY/RPMI support
Enable compilation of MPXY/RPMI support by introducing the build option `CFG_RISCV_SBI_MPXY_RPMI`.
This commit: - Adds sbi_mpxy_rpmi.c to the build when the option is enabled - Forces `CFG_RISCV_SBI_MPXY` when MPXY/RPMI is selected - Enables CFG_RISCV_SBI_MPXY_RPMI in plat-virt by default
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| 26e3e52d | 15-Jul-2025 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: add initial RPMI/MPXY integration support
This commit introduces infrastructure to support RPMI communication via the SBI MPXY extension. MPXY allows supervisor software to send and rec
core: riscv: add initial RPMI/MPXY integration support
This commit introduces infrastructure to support RPMI communication via the SBI MPXY extension. MPXY allows supervisor software to send and receive RPMI messages through M-mode firmware acting as a proxy.
Functions added by this commit are sufficient to implement the RequestForward service group.
Support for asynchronous events, notifications, and MSI-based message delivery will be added in future commits.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| 8020e392 | 15-Jul-2025 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: sbi_mpxy_rpmi.h: add RPMI protocol-specific definitions for MPXY
Introduce sbi_mpxy_rpmi.h, a header defining RPMI message protocol attributes and message types specific to the MPXY SBI exten
riscv: sbi_mpxy_rpmi.h: add RPMI protocol-specific definitions for MPXY
Introduce sbi_mpxy_rpmi.h, a header defining RPMI message protocol attributes and message types specific to the MPXY SBI extension. This includes enums for attribute and message type identifiers, a unified RPMI message structure, and helper initializers to simplify message construction.
These definitions serve as the interface between supervisor-level RPMI clients and the underlying MPXY transport.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| 693e2940 | 29-Jun-2025 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
riscv: rpmi.h: add defines of RISC-V RPMI messaging protocol
The RPMI messaging protocol includes all the RPMI messages exchanged over a RPMI transport channel.
*NOTE*: The RISC-V RPMI specificatio
riscv: rpmi.h: add defines of RISC-V RPMI messaging protocol
The RPMI messaging protocol includes all the RPMI messages exchanged over a RPMI transport channel.
*NOTE*: The RISC-V RPMI specification is not yet ratified as a full standard. This is based on the v0.99 draft released during May–June 2025 The draft is frozen and in public review.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 07917406 | 05-Aug-2025 |
Alexandre Gonzalo <alexandre.gonzalo@arm.com> |
remoteproc: fix potential overflows in TLV parsing
This commit is fixing two issues: - Verify that the end of the buffer is not reached before reading the tag and value. - Verify that the entire TLV
remoteproc: fix potential overflows in TLV parsing
This commit is fixing two issues: - Verify that the end of the buffer is not reached before reading the tag and value. - Verify that the entire TLV fits into the TLV chunk
Signed-off-by: Alexandre Gonzalo <alexandre.gonzalo@arm.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 00eea924 | 15-Jul-2025 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: introduce CFG_RISCV_SBI_MPXY flag for MPXY SBI support
Add a new build-time configuration flag CFG_RISCV_SBI_MPXY to enable compilation of MPXY SBI extension support in OP-TEE. When ena
core: riscv: introduce CFG_RISCV_SBI_MPXY flag for MPXY SBI support
Add a new build-time configuration flag CFG_RISCV_SBI_MPXY to enable compilation of MPXY SBI extension support in OP-TEE. When enabled, this automatically forces CFG_RISCV_SBI to ensure the SBI infrastructure is included.
Also update the build system to conditionally compile sbi_mpxy.c based on this flag.
Enable CFG_RISCV_SBI_MPXY by default for the virt platform.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Yu-Chien Peter Lin <peter.lin@sifive.com> Reviewed-by: Alvin Chang <alvinga@andestech.com>
show more ...
|
| 30feb38a | 29-Jun-2025 |
Marouene Boubakri <marouene.boubakri@nxp.com> |
core: riscv: implement MPXY SBI extension
Introduce support for the MPXY SBI extension (EID #0x4D505859), which enables supervisor software to exchange messages through an abstract SBI interface dec
core: riscv: implement MPXY SBI extension
Introduce support for the MPXY SBI extension (EID #0x4D505859), which enables supervisor software to exchange messages through an abstract SBI interface decoupled from any specific protocol.
MPXY allows setting up per-hart shared memory for transferring messages between the supervisor and an SBI implementation. It serves as a generic backend to build messaging clients, while being agnostic of message protocol semantics.
This step provides the foundation for future inter-domain message exchange.
Signed-off-by: Marouene Boubakri <marouene.boubakri@nxp.com> Reviewed-by: Yu-Chien Peter Lin <peter.lin@sifive.com> Reviewed-by: Alvin Chang <alvinga@andestech.com>
show more ...
|