| ec9aa1a4 | 27-Mar-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: add RIF support driver for HSEM
This driver implements RIF configuration for HSEM, which is a RIF aware IP. It means that the HSEM driver is in charge of configuring its own RIF restriction
drivers: add RIF support driver for HSEM
This driver implements RIF configuration for HSEM, which is a RIF aware IP. It means that the HSEM driver is in charge of configuring its own RIF restrictions and that the HSEM has dedicated RIF configuration registers.
HSEM has two types of CID filtering registers. -For processor filtering : HSEM_CnCIDCFGR When CFEN is enabled: processor[n] CID filtering enabled for HSEM_(S)CnIER, HSEM_(S)CnICR, HSEM_(S)CnISR, and HSEM_(S)CnMISR registers and for allowed list filter usage in HSEM_GpCIDCFGR.SEM_WLIST_Cn. The CID is put in the CID bitfield.
-For semaphore group filtering : HSEM_GpCIDCFGR Used to apply CID filtering over a group of semaphore. The same policy applies to all semaphores present in the group. This register handles what are the processor's CID who are white-listed for the group in the SEM_WLIST_C bitfield.
Therefore, both these registers are interconnected.
Security and privilege configuration granularity expands to each individual semaphore.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 0cf1cd13 | 27-Mar-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: add HPDMA driver with RIF support
This driver implements RIF configuration for HPDMA, which is a RIF aware IP. It means that the HPDMA driver is in charge of configuring its own RIF restric
drivers: add HPDMA driver with RIF support
This driver implements RIF configuration for HPDMA, which is a RIF aware IP. It means that the HPDMA driver is in charge of configuring its own RIF restrictions and that the HPDMA has dedicated RIF configuration registers.
RIF configuration is possible when the executing context is TDCID.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 778a36bf | 27-Mar-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: add FMC driver with RIF support
This driver implements RIF configuration for FMC, which is a RIF aware IP. It means that the FMC driver is in charge of configuring its own RIF restrictions
drivers: add FMC driver with RIF support
This driver implements RIF configuration for FMC, which is a RIF aware IP. It means that the FMC driver is in charge of configuring its own RIF restrictions and that the FMC has dedicated RIF configuration registers.
Additional check on RIF configuration is added for this IP when debug is on.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 7071b53b | 20-Feb-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
dt-bindings: firewall: move RIFPROT binding
Move RIFPROT macro definition in stm32mp25-rif.h as it is common to all RIF-based peripherals.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.s
dt-bindings: firewall: move RIFPROT binding
Move RIFPROT macro definition in stm32mp25-rif.h as it is common to all RIF-based peripherals.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| fc57019c | 12-Sep-2023 |
Tony Han <tony.han@microchip.com> |
plat-sam: add support for Microchip sama7g54-ek board
Add the main functions for sama7g54 initialize, including: - console_init() - Matrix, TZC, TZPM, interrupt related Update conf.mk and Makefile
plat-sam: add support for Microchip sama7g54-ek board
Add the main functions for sama7g54 initialize, including: - console_init() - Matrix, TZC, TZPM, interrupt related Update conf.mk and Makefile for sama7g5 OP-TEE support.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a557f877 | 20-Mar-2024 |
Tony Han <tony.han@microchip.com> |
plat-sam: optimize the macro and makefile for building sama5d2 clocks
Rename 'CFG_DRIVERS_SAMA5D2_CLK' to 'CFG_SAMA5D2'. Adjust the sequence of source files in 'core/drivers/clk/sam/sub.mk'.
Signed
plat-sam: optimize the macro and makefile for building sama5d2 clocks
Rename 'CFG_DRIVERS_SAMA5D2_CLK' to 'CFG_SAMA5D2'. Adjust the sequence of source files in 'core/drivers/clk/sam/sub.mk'.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 3b616eea | 18-Mar-2024 |
Tony Han <tony.han@microchip.com> |
drivers: atmel_wdt: update "#include" list of the header files
Remove the unused header files from "#include". "#include" the header files needed explicitly even if they are included indirectly.
Si
drivers: atmel_wdt: update "#include" list of the header files
Remove the unused header files from "#include". "#include" the header files needed explicitly even if they are included indirectly.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d8af0611 | 18-Mar-2024 |
Tony Han <tony.han@microchip.com> |
drivers: atmel_wdt: remove the unused variable from "struct atmel_wdt"
The variable "unsigned long rate" is not used, remove it.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jerome Fo
drivers: atmel_wdt: remove the unused variable from "struct atmel_wdt"
The variable "unsigned long rate" is not used, remove it.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| ea9329ec | 28-Feb-2024 |
Tony Han <tony.han@microchip.com> |
drivers: atmel_wdt: upgrade to support sama7g5 watchdog
In sama7g5 there's a DWDT (Dual Watchdog Timer) and the registers are not the same as the wdt for sama5d2. Here the DWD is handled as 2 watchd
drivers: atmel_wdt: upgrade to support sama7g5 watchdog
In sama7g5 there's a DWDT (Dual Watchdog Timer) and the registers are not the same as the wdt for sama5d2. Here the DWD is handled as 2 watchdogs.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bdde1c99 | 18-Mar-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_i2c: protect bus access with a mutex
Protect concurrent accesses to an STM32 I2C bus with a PM aware mutex.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by:
drivers: stm32_i2c: protect bus access with a mutex
Protect concurrent accesses to an STM32 I2C bus with a PM aware mutex.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| cbb0a9fc | 20-Mar-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: firewall: stm32_rifsc: remove use of CFG_PM
Remove use of CFG_PM from STM32 RIFSC driver since this configuration switch is not defined in OP-TEE OS.
Reviewed-by: Gatien Chevallier <gatien
drivers: firewall: stm32_rifsc: remove use of CFG_PM
Remove use of CFG_PM from STM32 RIFSC driver since this configuration switch is not defined in OP-TEE OS.
Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| cc707b85 | 20-Mar-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_rng: remove use of CFG_PM
Remove use of CFG_PM from STM32 RNG driver since this configuration switch is not defined in OP-TEE OS.
Reviewed-by: Gatien Chevallier <gatien.chevallier@fo
drivers: stm32_rng: remove use of CFG_PM
Remove use of CFG_PM from STM32 RNG driver since this configuration switch is not defined in OP-TEE OS.
Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 299f9bc1 | 08-Mar-2024 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
drivers: crypto: stm32_cryp: add pm to CRYP driver
Add power management support to the CRYP driver through suspend/resume callbacks.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Sig
drivers: crypto: stm32_cryp: add pm to CRYP driver
Add power management support to the CRYP driver through suspend/resume callbacks.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 14d68630 | 08-Mar-2024 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
drivers: crypto: stm32_cryp: add delay when resetting CRYP peripheral.
Add 2 us of delay between reset assert and reset deassert to ensure the peripheral is properly reset.
Signed-off-by: Thomas Bo
drivers: crypto: stm32_cryp: add delay when resetting CRYP peripheral.
Add 2 us of delay between reset assert and reset deassert to ensure the peripheral is properly reset.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1d8b1184 | 23-Feb-2024 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
drivers: crypto: stm32_cryp: remove reset binding requirements
Remove panic during probe when "resets" property is not found because it's optional in most cases.
Signed-off-by: Thomas Bourgoin <tho
drivers: crypto: stm32_cryp: remove reset binding requirements
Remove panic during probe when "resets" property is not found because it's optional in most cases.
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>
show more ...
|
| 9e255282 | 24-Mar-2024 |
loubaihui <loubaihui1@huawei.com> |
drivers: crypto: hisilicon: init HPRE hardware block
The HiSilicon HPRE is a High Performance RSA Engine. This module implement the hardware initialization of the HPRE.
Signed-off-by: loubaihui <lo
drivers: crypto: hisilicon: init HPRE hardware block
The HiSilicon HPRE is a High Performance RSA Engine. This module implement the hardware initialization of the HPRE.
Signed-off-by: loubaihui <loubaihui1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| c80790fe | 12-Mar-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: use mutex_pm_aware
Use newly introduced struct mutex_pm_aware semaphore to protect regulator accesses.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Eti
drivers: regulator: use mutex_pm_aware
Use newly introduced struct mutex_pm_aware semaphore to protect regulator accesses.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 9a3248fc | 29-Feb-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: replace clock main spinlock with a mutex
Change clock framework lock from an interrupts masked spinning lock to a mutex. This allows the clock framework to better handle slow stabilizi
drivers: clk: replace clock main spinlock with a mutex
Change clock framework lock from an interrupts masked spinning lock to a mutex. This allows the clock framework to better handle slow stabilizing clocks as PLLs without masking the system interrupt which can have side effects on the REE or even the TEE.
To support clock accesses during low power state transition sequences while non-secure world is no operating, the lock is not taken when the execution is not in the scope of a TEE thread.
This change is not expected to impact supported platforms that currently only access clock operation from thread contexts or atomic PM sequences.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1cf7e98d | 14-Mar-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: replace REGISTER_TIME_SOURCE()
Remove REGISTER_TIME_SOURCE() and implement tee_time_get_sys_time() and tee_time_get_sys_time_protection_level() directly in the file where REGISTER_TIME_SOURCE(
core: replace REGISTER_TIME_SOURCE()
Remove REGISTER_TIME_SOURCE() and implement tee_time_get_sys_time() and tee_time_get_sys_time_protection_level() directly in the file where REGISTER_TIME_SOURCE() was used previously.
By avoiding indirect calls the linker can optimize the dependency tree properly and we can remove the DECLARE_KEEP_PAGER() directive needed for arm_cntpct_time_source.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| a3552708 | 11-Mar-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: clk: clk-stm32mp13: fix memory corruption on oscillator parent
Fix oscillators struct clk instances for STM32MP13 clock driver. These clocks have 1 parent that is set during driver initiali
drivers: clk: clk-stm32mp13: fix memory corruption on oscillator parent
Fix oscillators struct clk instances for STM32MP13 clock driver. These clocks have 1 parent that is set during driver initialization, based on device tree content, whereas referred bugged commit defined 0 parents and did not allocate memory for the parent reference.
Fixes: 95f2142bf848 ("drivers: clk: clk-stm32mp13: don't gate/ungate oscillators not wired") Tested-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| b4d1c08a | 30-Jan-2024 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: regulator: do not cache voltage level value
Always read current voltage level from the device instead of caching the level in struct regulator. This fixes issues for when the regulator leve
drivers: regulator: do not cache voltage level value
Always read current voltage level from the device instead of caching the level in struct regulator. This fixes issues for when the regulator level value depends on the parent regulator (supply). It is up the regulator drivers to cache or not this value in their private data if applicable.
Fixes: 1a3d3273040b ("drivers: regulator framework") Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 74fbd273 | 25-Sep-2023 |
Tony Han <tony.han@microchip.com> |
drivers: clk: sam: skip the NULL clocks when getting the clock by name
Skip the NULL items in the clock array when getting the clock by its name.
Signed-off-by: Tony Han <tony.han@microchip.com> Ac
drivers: clk: sam: skip the NULL clocks when getting the clock by name
Skip the NULL items in the clock array when getting the clock by its name.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 943d822a | 12-Sep-2023 |
Tony Han <tony.han@microchip.com> |
drivers: clk: sam: add sama7g5 clock description
Define PLL, master, system, peripheral, generic clocks for sama7g5 and register the clocks to clock provider.
Signed-off-by: Tony Han <tony.han@micr
drivers: clk: sam: add sama7g5 clock description
Define PLL, master, system, peripheral, generic clocks for sama7g5 and register the clocks to clock provider.
Signed-off-by: Tony Han <tony.han@microchip.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| fc716968 | 27-Nov-2023 |
Thomas Perrot <thomas.perrot@bootlin.com> |
drivers: nvmem: add nvmem-huk driver
This driver is meant to read the OTP unique hardware key from a NVMEM controller. It uses the nvmem framework to read the NVMEM cells from the device tree.
Sign
drivers: nvmem: add nvmem-huk driver
This driver is meant to read the OTP unique hardware key from a NVMEM controller. It uses the nvmem framework to read the NVMEM cells from the device tree.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 31a85db8 | 27-Nov-2023 |
Thomas Perrot <thomas.perrot@bootlin.com> |
drivers: nvmem: add nvmem-die-id driver
This driver is meant to read the die id from a NVMEM controller. It uses the nvmem framework to read the NVMEM cells from the device tree.
Signed-off-by: Tho
drivers: nvmem: add nvmem-die-id driver
This driver is meant to read the die id from a NVMEM controller. It uses the nvmem framework to read the NVMEM cells from the device tree.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|