| 5916069b | 24-Mar-2022 |
Ruchika Gupta <ruchika.gupta@linaro.org> |
drivers/tpm2: Add TPM2 MMIO driver
Add support for platforms that interface with TPM2 via MMIO using FIFO protocol.
Co-developed-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Victor Cho
drivers/tpm2: Add TPM2 MMIO driver
Add support for platforms that interface with TPM2 via MMIO using FIFO protocol.
Co-developed-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 952f5260 | 25-Feb-2022 |
Ruchika Gupta <ruchika.gupta@linaro.org> |
drivers/tpm2: Add basic TPM2 support in OP-TEE
TPM2 driver introduced in this commit is based on TPM TCG specification [1] & [2].
The APIs exposed allows to send commands and receive response from
drivers/tpm2: Add basic TPM2 support in OP-TEE
TPM2 driver introduced in this commit is based on TPM TCG specification [1] & [2].
The APIs exposed allows to send commands and receive response from a TPM2 chip.
[1] TCG PC Client Platform TPM Profile Specification for TPM 2.0 Vesrion 1.0.5 Revision 14 [2] TCG PC Client Device Driver Design Principles for TPM 2.0 Version 1.1 Revision 0.04
Co-developed-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Ruchika Gupta <ruchika.gupta@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 17fd9102 | 19-Nov-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: clk: add CFG_DRIVERS_CLK_EARLY_PROBE
Adds configuration switch to allow clocks to be probed as any driver, possibly deferring initialization. This is needed when a clock driver has dependen
drivers: clk: add CFG_DRIVERS_CLK_EARLY_PROBE
Adds configuration switch to allow clocks to be probed as any driver, possibly deferring initialization. This is needed when a clock driver has dependencies on another resource.
The configuration is default enabled (CFG_DRIVERS_CLK_EARLY_PROBE=y) that is probing clock drivers before other drivers using the early_init initcall level as done prior this change.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 0bdd7f5b | 28-Mar-2022 |
Etienne Carriere <etienne.carriere@st.com> |
drivers: stm32_iwdg: implementation of independent watchdog
Implements independent watchdog (IWDG) driver to help detecting malfunctions due to software or hardware failures. IWDG instances are cloc
drivers: stm32_iwdg: implementation of independent watchdog
Implements independent watchdog (IWDG) driver to help detecting malfunctions due to software or hardware failures. IWDG instances are clocked by an independent clock and stays active if the main clock fails.
The driver mandates IWDG instances configuration from an embedded DTB.
For the list of features, refer to the reference manuals at: https://wiki.st.com/stm32mpu/wiki/STM32MP15_resources
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| 69b8b983 | 04-Mar-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: add stm32 tamper domain driver
Adds stm32_tamp driver for stm32mp1 TAMP sub-system. The implementation only covers probing of the driver upon embedded DTB content and enabling some secure c
drivers: add stm32 tamper domain driver
Adds stm32_tamp driver for stm32mp1 TAMP sub-system. The implementation only covers probing of the driver upon embedded DTB content and enabling some secure configuration.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 9c8e1436 | 23-Feb-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: crypto: stm32_cryp: fix coding style issues
Removes spurious space characters in stm32_cryp driver implementation to conform with optee_os coding style.
Reviewed-by: Jerome Forissier <jero
drivers: crypto: stm32_cryp: fix coding style issues
Removes spurious space characters in stm32_cryp driver implementation to conform with optee_os coding style.
Reviewed-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Nicolas Toromanoff <nicolas.toromanoff@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 8b826c3b | 23-Feb-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: crypto: stm32_cryp: probe as a dt_driver
Changes stm32_cryp driver to register as a DT driver and support probe deferral on clock and reset controller resources.
Acked-by: Jerome Forissier
drivers: crypto: stm32_cryp: probe as a dt_driver
Changes stm32_cryp driver to register as a DT driver and support probe deferral on clock and reset controller resources.
Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Nicolas Toromanoff <nicolas.toromanoff@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 5436921f | 14-Feb-2022 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
clk: stm32mp13: add all clocks for STM32MP13
Registers all STM32PM13 clock with the clock framework.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Gabriel Fernandez <gabri
clk: stm32mp13: add all clocks for STM32MP13
Registers all STM32PM13 clock with the clock framework.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
show more ...
|
| e5e793a6 | 25-Nov-2021 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
clk: stm32mp13: Introduce STM32MP13 clocks platform
This driver uses a clk-stm32-core API to manage STM32 gates, dividers and muxes. The goal of this first patch is to parse the device tree and init
clk: stm32mp13: Introduce STM32MP13 clocks platform
This driver uses a clk-stm32-core API to manage STM32 gates, dividers and muxes. The goal of this first patch is to parse the device tree and initialize a platform data to configure the clock tree.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
show more ...
|
| 39e8c200 | 01-Feb-2022 |
Jerome Forissier <jerome@forissier.org> |
core: tag ops structures with __relrodata_unpaged
Global structures currently tagged with __rodata_unpaged need to use __relrodata_unpaged instead because they contain pointers which are subject to
core: tag ops structures with __relrodata_unpaged
Global structures currently tagged with __rodata_unpaged need to use __relrodata_unpaged instead because they contain pointers which are subject to relocation when CFG_CORE_ASLR=y. Doing so moves them out of .rodata which will now stay unmodified even with ASLR turned on.
Signed-off-by: Jerome Forissier <jerome@forissier.org> Acked-by: Sumit Garg <sumit.garg@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 35abff2f | 12-Jan-2022 |
Clément Léger <clement.leger@bootlin.com> |
driver: atmel_rtc: add driver for atmel RTC
On sama5d2, the RTC is included in a larger block of devices that can only be secured as a whole (RSTC, WDT, etc). Since these other peripherals needs to
driver: atmel_rtc: add driver for atmel RTC
On sama5d2, the RTC is included in a larger block of devices that can only be secured as a whole (RSTC, WDT, etc). Since these other peripherals needs to be secured, in order to still allow the RTC to be used from non-secure world, add a driver for the RTC which will be registered as the system RTC. The RTc PTA will then used this RTC to set/get time from Linux using a RTC driver that uses the TEE subsystem.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| f3f9432f | 10-Feb-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: rtc: add RTC API
This API allows to interact with a RTC registered as the system RTC.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@l
drivers: rtc: add RTC API
This API allows to interact with a RTC registered as the system RTC.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| 2f35a7bc | 23-Feb-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: rstctrl: remove stm32_rstctrl legacy API functions
Removes stm32mp1 reset controllers legacy platform API functions and moves declaration of stm32mp_rcc_reset_id_to_rstctrl() next to the de
drivers: rstctrl: remove stm32_rstctrl legacy API functions
Removes stm32mp1 reset controllers legacy platform API functions and moves declaration of stm32mp_rcc_reset_id_to_rstctrl() next to the declaration of the remaining platform helper function related to reset controllers: stm32mp_nsec_can_access_reset().
Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 047c4fe1 | 23-Feb-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: crypto: stm32_cryp: use rstctrl resources
Changes stm32_cryp driver to use rstctrl resources. Driver panics upon rstctrl_dt_get_by_index() failure, even in case of driver probe deferral err
drivers: crypto: stm32_cryp: use rstctrl resources
Changes stm32_cryp driver to use rstctrl resources. Driver panics upon rstctrl_dt_get_by_index() failure, even in case of driver probe deferral error as stm32_cryp is not yet defined as a DT_DRIVER. Such port is out of the scope this change.
Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 569d17b0 | 19-Nov-2021 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: stm32_rstctrl reset controller for stm32mp1 platforms
Implement stm32 platforms reset controller device, embedded upon CFG_STM32_RSTCTRL=y.
The drivers exposes its reset controls to the dt
drivers: stm32_rstctrl reset controller for stm32mp1 platforms
Implement stm32 platforms reset controller device, embedded upon CFG_STM32_RSTCTRL=y.
The drivers exposes its reset controls to the dt_driver provider and with stm32mp1 platform legacy reset control API function: stm32_reset_assert(), stm32_reset_deassert() and stm32_reset_assert_deassert_mcu().
This change also removes source file stm32mp1_rcc.c that has moved to drivers/rstctrl/stm32_rstctrl.c but stm32_rcc_base() definition which is moved into to platform main.c.
Acked-by: Jerome Forissier <jerome@forissier.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 997ff827 | 08-Jun-2020 |
Cedric Neveux <cedric.neveux@nxp.com> |
drivers: crypto: add parameter checks for RSA signature
Add size check in the crypto driver for RSA sign and verify functions. For both functions, the encoded message length has some size constraint
drivers: crypto: add parameter checks for RSA signature
Add size check in the crypto driver for RSA sign and verify functions. For both functions, the encoded message length has some size constraints [1].
[1]: Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography https://datatracker.ietf.org/doc/html/rfc3447#section-9.1.1
Fixes: f5a70e3ef ("drivers: crypto: generic resources for crypto device driver - RSA") Signed-off-by: Cedric Neveux <cedric.neveux@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| a7c3a045 | 15-Feb-2022 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
drivers: gic: replace spaces with tabs
No functional changes.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etie
drivers: gic: replace spaces with tabs
No functional changes.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 60801696 | 15-Feb-2022 |
Volodymyr Babchuk <volodymyr_babchuk@epam.com> |
plat: arm: refactor GIC initialization
All platforms (except STM32MP1) follow the same pattern during GIC initialization: get virtual addresses for distributor (and optionally, for CPU interface), c
plat: arm: refactor GIC initialization
All platforms (except STM32MP1) follow the same pattern during GIC initialization: get virtual addresses for distributor (and optionally, for CPU interface), check that they are not NULL, call either gic_init() or gic_init_base_addr().
We can move most of this logic into gic_init_base_addr(), while platform-specific code will supply only base physical addresses for distributor and CPU interface. This will simplify and align platform code.
ST32MP1 had more complex logic, as it used io_pa_or_va_secure() to get MMIO range addresses. However, as main_init_gic() called assert(cpu_mmu_enabled()), there is no sense in using io_pa_or_va_secure(), because we already ensured that VA will be always used. Thus assert() call was moved to gic_init_base_addr(), and STM32MP1 were aligned with other platforms.
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 6fdc9662 | 22-Feb-2022 |
Loïc Bauer <loic.bauer@socomec.com> |
drivers: stm32_gpio: Fix register access before enabling clocks
The valid_gpio_config() function accesses the GPIO register before the clock is enabled, which leads to the assert always failing when
drivers: stm32_gpio: Fix register access before enabling clocks
The valid_gpio_config() function accesses the GPIO register before the clock is enabled, which leads to the assert always failing when using stm32_gpio_set_output_level().
Signed-off-by: Loïc Bauer <loic.bauer@socomec.com> Acked-by: Jerome Forissier <jerome@forissier.org> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| d7bbf3bd | 18-Feb-2022 |
Jorge Ramirez-Ortiz <jorge@foundries.io> |
drivers: crypto: se050: panic on initialization error
Failure to initialize the SE05x device is a critical operation as it will effectively disable ciphers configured at build time.
This also match
drivers: crypto: se050: panic on initialization error
Failure to initialize the SE05x device is a critical operation as it will effectively disable ciphers configured at build time.
This also matches the behaviour implemented by the other crypto drivers.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io> Reviewed-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| e752c173 | 11-Feb-2022 |
Chia-Wei Wang <chiawei_wang@aspeedtech.com> |
crypto/aspeed: ast2600: Add HACE HW hash support
Aspeed AST2600 Hash and Crypto Engine (HACE) is designated to accelerate the throughput of hash and symmetric encryption/decryption.
This patch adds
crypto/aspeed: ast2600: Add HACE HW hash support
Aspeed AST2600 Hash and Crypto Engine (HACE) is designated to accelerate the throughput of hash and symmetric encryption/decryption.
This patch adds the driver support for AST2600 HACE to provide HW-assisted hash for the SHA family. The initial driver structure for Aspeed crypto engines is also constructed.
Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Acked-by: Jerome Forissier <jerome@forissier.org>
show more ...
|
| 5cbd8b3a | 14-Jan-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: atmel_wdt: add atmel watchdog timer driver
Add a driver to handle the atmel watchdog timer that is present on the sama5d2. This driver allows to use an interrupt handler that for the moment
drivers: atmel_wdt: add atmel watchdog timer driver
Add a driver to handle the atmel watchdog timer that is present on the sama5d2. This driver allows to use an interrupt handler that for the moment does nothing but display the watchdog error.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| cb60bce4 | 14-Jan-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: wdt: add SMC handler for arm-smc-wdt Linux driver
Add SMC handler to handle SMC coming from Linux arm-smc-wdt driver. This function is meant to be called in sm_platform_handler() since CFG_
drivers: wdt: add SMC handler for arm-smc-wdt Linux driver
Add SMC handler to handle SMC coming from Linux arm-smc-wdt driver. This function is meant to be called in sm_platform_handler() since CFG_WDT_SM_HANDLER_ID is going to be defined by the platforms.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| 011a8f96 | 14-Jan-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: wdt: add watchdog interface
Add necessary code to register a system watchdog. This watchdog will then used for generic watchdog usage using a new simple watchdog interface. This interface w
drivers: wdt: add watchdog interface
Add necessary code to register a system watchdog. This watchdog will then used for generic watchdog usage using a new simple watchdog interface. This interface will be used by SMC handler which will allow handling SMC coming from the arm-smc-wdt compatible driver present in Linux.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|
| f8c3938b | 30-Jul-2021 |
Clément Léger <clement.leger@bootlin.com> |
plat-sam: pm: add support for setting suspend mode
PSCI allows entering platform suspend with SYSTEM_SUSPEND call which is meant to enter the system in its deepest power state. sama5d2 platform supp
plat-sam: pm: add support for setting suspend mode
PSCI allows entering platform suspend with SYSTEM_SUSPEND call which is meant to enter the system in its deepest power state. sama5d2 platform supports multiple suspend power states. Currently, Linux supports the atmel.pm_modes command line option which allows to select this suspend state. Since Linux uses PSCI SYSTEM_SUSPEND to enter suspend mode, we are not able to pass information (such as done for CPU_SUSPEND). In order to select the mode that will be entered by SYSTEM_SUSPEND from normal world and thus select the desired suspend state, SMCs are added to allow selecting and getting this power mode.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Clément Léger <clement.leger@bootlin.com>
show more ...
|