| b8f75963 | 27-Aug-2024 |
Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> |
drivers: stm32_remoteproc: Add remote processor memories cleanup function
This patch introduces a new function stm32_rproc_clean_up_memories() to clean up the memory regions used by the remote proce
drivers: stm32_remoteproc: Add remote processor memories cleanup function
This patch introduces a new function stm32_rproc_clean_up_memories() to clean up the memory regions used by the remote processor. The function iterates over each memory region, maps it, clears the memory by setting it to zero, and then unmaps it.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1c32a0ea | 02-Jan-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_rif: add stm32_rif_access_violation_action()
This function should be used by peripherals capable on raising access violation interrupts (SERC, IAC). The behavior of the platform on su
drivers: stm32_rif: add stm32_rif_access_violation_action()
This function should be used by peripherals capable on raising access violation interrupts (SERC, IAC). The behavior of the platform on such event is platform-specific. Therefore, its definition must be done at platform level.
Also add CFG_STM32_PANIC_ON_IAC_EVENT and CFG_STM32_PANIC_ON_SERC_EVENT to choose if the platform should panic upon receiving an IAC or a SERC event.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 420f1125 | 12-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add and use service_init_crypto() macro
Add the service_init_crypto() used to initialize the internal crypto API before the rest of the registered service_init functions are called.
Signed-of
core: add and use service_init_crypto() macro
Add the service_init_crypto() used to initialize the internal crypto API before the rest of the registered service_init functions are called.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 913d93a4 | 12-Aug-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add call_{early,service,driver}_initcalls()
Add more fine-grained replacements for call_initcalls() to enable initcalls at several separate stages.
Signed-off-by: Jens Wiklander <jens.wikland
core: add call_{early,service,driver}_initcalls()
Add more fine-grained replacements for call_initcalls() to enable initcalls at several separate stages.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| faf09045 | 15-Jun-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: introduce boot_init_primary_final()
Introduce boot_init_primary_final() and move the call to call_finalcalls() into that function.
This is needed in later patches to enabled PAUTH before
core: arm: introduce boot_init_primary_final()
Introduce boot_init_primary_final() and move the call to call_finalcalls() into that function.
This is needed in later patches to enabled PAUTH before boot_init_primary_final() is called.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| fa31123d | 16-Jul-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: clk_get_rates_array() returns ordered rates
Explicitly state in clk_get_rates_array() inline description comment that the output rates arrays is ordered by increasing frequency values.
drivers: clk: clk_get_rates_array() returns ordered rates
Explicitly state in clk_get_rates_array() inline description comment that the output rates arrays is ordered by increasing frequency values. This change allows to better fit the sole consumer of this API function that is the SCMI server implementation. SCMI specification states that discrete clock rates list shall follow this order.
Update at91_cpu_opp clock driver to ensure it satisfy this constraint. The SAM platforms that embed this driver (sama7g5) already satisfy this constraints but only at its DTS level. This change ensures the driver will always.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 10b19e73 | 09-Jul-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mm: add core_mmu_for_each_map()
Add core_mmu_for_each_map() to iterate over all memory regions, struct tee_mmap_region.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by:
core: mm: add core_mmu_for_each_map()
Add core_mmu_for_each_map() to iterate over all memory regions, struct tee_mmap_region.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| b8ef8d0b | 08-May-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mm: introduce struct memory_map
Introduce struct memory_map to keep track of the array of struct tee_mmap_region, covering number of used entries and number of allocated entries.
core_mmap_is
core: mm: introduce struct memory_map
Introduce struct memory_map to keep track of the array of struct tee_mmap_region, covering number of used entries and number of allocated entries.
core_mmap_is_end_of_table() and MEM_AREA_END are now unused so remove them.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 42c3d31b | 26-Jul-2024 |
Thomas Perrot <thomas.perrot@bootlin.com> |
kernel: pm: add suspend type hint
When entering suspend type, the suspend level is platform dependent and can be set to various values depending on these platform. In order to allow platforms settin
kernel: pm: add suspend type hint
When entering suspend type, the suspend level is platform dependent and can be set to various values depending on these platform. In order to allow platforms setting it in a generic way when entering suspend, reserve some bits in the suspend/resume hint to pass this information. Driver can then used it in a platform independent way to execute specific code depending on it.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 3026afe0 | 16-Apr-2024 |
Sahil Malhotra <sahil.malhotra@nxp.com> |
drivers: imx_mu: enable support for i.MX91
Enable MU driver support for i.MX91
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> |
| 773d3f83 | 08-Jul-2024 |
Levi Yun <yeoreum.yun@arm.com> |
core: kernel: Fix checking register convention r1/x1 value of transfer_list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value w
core: kernel: Fix checking register convention r1/x1 value of transfer_list
According to recently firmware handsoff spec [1]'s "Register usage at handoff boundary", Transfer List's signature value was changed from 0x40_b10b (3 bytes) to 4a0f_b10b (4 bytes).
As updating of TL's signature, register value of x1/r1 should be:
In aarch32's r1 value should be R1[23:0]: set to the TL signature (4a0f_b10b->masked value: 0f_b10b) R1[31:24]: version of the register convention == 1 and In aarch64's x1 value should be X1[31:0]: set to the TL signature (4a0f_b10b) X1[39:32]: version of the register convention == 1 X1[63:40]: MBZ (See the [2] and [3]).
Therefore, it requires to separate mask and shift value for register convention version field when checking each r1/x1 value.
This patch fix two problems: 1. breaking X1 value with updated specification in aarch64 - change of length of signature field.
2. previous error value set in R1 in arm32. - length of signature should be 24, but it uses 32bit signature.
This patch is a breaking change. It works only TF-A is updated.
Link: https://github.com/FirmwareHandoff/firmware_handoff [1] Link: https://github.com/FirmwareHandoff/firmware_handoff/issues/32 [2] Link: https://github.com/FirmwareHandoff/firmware_handoff/commit/5aa7aa1d3a1db75213e458d392b751f0707de027 [3] Fixes: 508e2476b232 ("core: update transfer list header and signature") Signed-off-by: Levi Yun <yeoreum.yun@arm.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| f4cc581b | 09-Jul-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: kernel: dt_driver: fix nodes reference passed in dt_pargs
Correct the DT node references passed in struct dt_pargs. Field phandle_node is expected to be the node offset of the provider driver
core: kernel: dt_driver: fix nodes reference passed in dt_pargs
Correct the DT node references passed in struct dt_pargs. Field phandle_node is expected to be the node offset of the provider driver but dt_driver_device_from_node_idx_prop_phandle() implementation passes node offset -1, dt_driver_device_from_parent() passes the consumer node offset and dt_driver_device_from_node_idx_prop() may pass the phandle node offset from a previous index in the parsed DT node property.
Fix that by adding field consumer_node to reference the node offset of the consumer device and fixing phandle_node where applicable and update atmel_i2c and stm32_i2c drivers to get the I2C device address from the consumer_node field instead of the phandle_node that is now fixed.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 8c95493b | 08-Jul-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove unused mobj_sec_ddr
Remove the unused global variable mobj_sec_ddr.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.co
core: remove unused mobj_sec_ddr
Remove the unused global variable mobj_sec_ddr.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d237e616 | 06-Feb-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: make generic notifications virtualization-aware
Makes the generic notification handling aware of virtualization. Atomic events are delivered with a guest_id parameter and asynchronous notifica
core: make generic notifications virtualization-aware
Makes the generic notification handling aware of virtualization. Atomic events are delivered with a guest_id parameter and asynchronous notifications are started per guest_id.
struct notif_data is added as guest specific data to be able to track if notifications are started for a guest.
While this patch compiles it doesn't work as intended without patches handling the ABI specific side of things.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| beb90210 | 05-Feb-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: add guest specific data
Add virt_add_guest_spec_data() and virt_get_guest_spec_data() to handle guest specific data.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by:
core: virt: add guest specific data
Add virt_add_guest_spec_data() and virt_get_guest_spec_data() to handle guest specific data.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a951eb5f | 26-Feb-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: support iterating over partitions
Add support to iterate over partitions using virt_next_guest().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <e
core: virt: support iterating over partitions
Add support to iterate over partitions using virt_next_guest().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a755a64f | 26-Feb-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: get guest ID of a guest partition
Add the function virt_get_guest_id() to return the guest ID of a guest partition.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: E
core: virt: get guest ID of a guest partition
Add the function virt_get_guest_id() to return the guest ID of a guest partition.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 29e682bd | 26-Feb-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: get current guest partition
Add the function virt_get_current_guest() to get a pointer to the current guest partition. The returned guest partition has its reference counter increased wh
core: virt: get current guest partition
Add the function virt_get_current_guest() to get a pointer to the current guest partition. The returned guest partition has its reference counter increased which must be restored with a matching call to virt_put_guest() when the caller is done with the guest partition.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| ac1c95dd | 26-Feb-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: virt: get guest partition by guest ID
Add the function virt_get_guest() to get the pointer to a guest partition with a certain guest ID. The returned guest partition has its reference counter
core: virt: get guest partition by guest ID
Add the function virt_get_guest() to get the pointer to a guest partition with a certain guest ID. The returned guest partition has its reference counter increased which must be restored with a matching call to virt_put_guest() when the caller is done with the guest partition.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 62e40b88 | 27-Jun-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
dt-bindings: mfd: dual licensing for st,stpmic1 bindings
Change include/dt-bindings/mfd/st,stpmic1.h license model from GPLv2.0 only to dual GPLv2.0 or BSD-2-Clause. This change clarifies that this
dt-bindings: mfd: dual licensing for st,stpmic1 bindings
Change include/dt-bindings/mfd/st,stpmic1.h license model from GPLv2.0 only to dual GPLv2.0 or BSD-2-Clause. This change clarifies that this DT binding header file can be shared with software components as bootloaders and OSes that are not published under GPLv2 terms as OP-TEE OS is.
This change has been discussed and acked in the LKML [1].
Fixes: 1183a0aa2af0 ("stm32mp1: update DTS files to Linux kernel 5.2-rc1") Link: https://lore.kernel.org/lkml/171941721004.2530174.778562710266249921.b4-ty@kernel.org/ [1] Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| b0323341 | 13-Dec-2023 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
drivers: rstctrl: add reset controller for STM32MP25 platforms
Implement the STM32MP25 reset controller device by embedding it with CFG_STM32_RSTCTRL=y and CFG_STM32MP25_RSTCTRL=y.
Signed-off-by: G
drivers: rstctrl: add reset controller for STM32MP25 platforms
Implement the STM32MP25 reset controller device by embedding it with CFG_STM32_RSTCTRL=y and CFG_STM32MP25_RSTCTRL=y.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 28c10f9e | 17-Jun-2024 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
clk: stm32mp25: Introduce STM32MP25 clocks platform
This driver is based on clk-stm32-core API to manage STM32 gates, dividers and muxes.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st
clk: stm32mp25: Introduce STM32MP25 clocks platform
This driver is based on clk-stm32-core API to manage STM32 gates, dividers and muxes.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 0de0b5e2 | 16-Apr-2024 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
dt-bindings: add the STM32MP2 clock and reset bindings
Add the associated bindings for device tree and drivers.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Acked-by: Etienne Ca
dt-bindings: add the STM32MP2 clock and reset bindings
Add the associated bindings for device tree and drivers.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 11ece294 | 10-Dec-2021 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
plat-stm32mp2: add rcc helper function
Add dedicate include file for RCC to add helper function.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Reviewed-by: Etienne Carriere <etie
plat-stm32mp2: add rcc helper function
Add dedicate include file for RCC to add helper function.
Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| f15052a2 | 21-Jun-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: mm: add CFG_PGT_CACHE_ENTRIES
Add CFG_PGT_CACHE_ENTRIES to allow platforms to customize the page table cache size. This is needed for example when a platform is to support very large TAs of se
core: mm: add CFG_PGT_CACHE_ENTRIES
Add CFG_PGT_CACHE_ENTRIES to allow platforms to customize the page table cache size. This is needed for example when a platform is to support very large TAs of several dozen of Mbytes of private memory (code/data).
Move PGT_CACHE_SIZE macro definition from pgt_cache.h to pgt_cache.c since it is used only in that source file.
By the way, fix pgt_cache.h layout to have header files includes first followed by macro definitions.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|