| 84603456 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: gic: add gic_init_donate_sgi_to_ns()
Adds gic_init_donate_sgi_to_ns() which changes a secure SGI to become non-secure.
Secure world currently has a few SGIs to spare while normal world typica
core: gic: add gic_init_donate_sgi_to_ns()
Adds gic_init_donate_sgi_to_ns() which changes a secure SGI to become non-secure.
Secure world currently has a few SGIs to spare while normal world typically have reserved each of the non-secure SGIs for different purposes.
In case another non-secure SGI is needed secure world can donate one of its unused SGIs. This configuration will then deviate from the standard GIC configuration where SGI ID0-ID7 are non-secure and ID8-ID15 are secure.
Platforms using gic_init_donate_sgi_to_ns() should also use gic_init_per_cpu() instead of the deprecated gic_cpu_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d2524fc9 | 22-Nov-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
plat-vexpress: use gic_init_per_cpu()
Calls gic_init_per_cpu() instead of the now deprecated gic_cpu_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere
plat-vexpress: use gic_init_per_cpu()
Calls gic_init_per_cpu() instead of the now deprecated gic_cpu_init().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 5da157f5 | 22-Nov-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: deprecate gic_cpu_init()
Deprecates gic_cpu_init() in favor of the new function gic_init_per_cpu(). gic_cpu_init() is only supposed to be called by secondary CPUs in non-TF-A configurations w
core: deprecate gic_cpu_init()
Deprecates gic_cpu_init() in favor of the new function gic_init_per_cpu(). gic_cpu_init() is only supposed to be called by secondary CPUs in non-TF-A configurations while gic_init_per_cpu() should be called by all secondary CPUs. gic_init_per_cpu() itself takes CFG_WITH_ARM_TRUSTED_FW into account instead of having each platform doing that.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 462028ed | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
qemu_armv8a: add GIC v3 redistributor base address
Adds and configures the GIC v3 redistributor base address.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <e
qemu_armv8a: add GIC v3 redistributor base address
Adds and configures the GIC v3 redistributor base address.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 05089e5f | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: gic: use redistributor CPU interface
GICv3 has a redistributor CPU interface that until now hasn't been used. To prepare for coming patches that need to access the redistributor initialize a l
core: gic: use redistributor CPU interface
GICv3 has a redistributor CPU interface that until now hasn't been used. To prepare for coming patches that need to access the redistributor initialize a list with each CPU specific redistributor address. A new function gic_init_v3() is added with a parameter for the redistributor base address.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 69171bec | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: gic: check gic version
Adds a check to see that the version of the GIC matches the expected version.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <e
core: gic: check gic version
Adds a check to see that the version of the GIC matches the expected version.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bf2b1c94 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: mobj_ffa.c: add reassuring comment in mobj_ffa_unregister_by_cookie()
Adds a reassuring comment in mobj_ffa_unregister_by_cookie() to explain why it may fail if the cookie hasn't been used yet
core: mobj_ffa.c: add reassuring comment in mobj_ffa_unregister_by_cookie()
Adds a reassuring comment in mobj_ffa_unregister_by_cookie() to explain why it may fail if the cookie hasn't been used yet. Updates the error message to include inactive_refs.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| f2b06bc5 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: notif: remove interrupt assumptions
Removes the assumption in notif_register_driver() that OP-TEE is using interrupts to notify the normal world. The coming FF-A based implementation will use
core: notif: remove interrupt assumptions
Removes the assumption in notif_register_driver() that OP-TEE is using interrupts to notify the normal world. The coming FF-A based implementation will use FFA_NOTIFICATION_SET for when notifying using an SPMC at S-EL2 or EL3.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a2a3dfbc | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: separate async notification implementation
Separates the implementation of sending asynchronous notifications from the part managing reception of events. This makes room for an alternative imp
core: separate async notification implementation
Separates the implementation of sending asynchronous notifications from the part managing reception of events. This makes room for an alternative implementation based on FF-A.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e57fbe32 | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
qemu_armv8a: enable testing of notifications using the console
When asynchronous notifications are enabled the console driver in qemu_armv8a is configured as a top half and bottom half driver allowi
qemu_armv8a: enable testing of notifications using the console
When asynchronous notifications are enabled the console driver in qemu_armv8a is configured as a top half and bottom half driver allowing basic testing of the notification framework.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| c4292779 | 21-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: print regulator tree summary
Changes implementation of regulator_print_state() to better show the regulator tree hierarchy and renames the function to regulator_print_tree().
Th
drivers: regulator: print regulator tree summary
Changes implementation of regulator_print_state() to better show the regulator tree hierarchy and renames the function to regulator_print_tree().
The function now depends on CFG_DRIVERS_REGULATOR_PRINT_TREE being enabled.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Co-developed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 08278885 | 16-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
dts: stm32mp15: harden RCC secure configuration on ST boards
Enable STM32MP15 RCC secure hardening configuration on ST boards (DK1, DK2, ED1 and EV1) to assign SoC clocks, reset controllers and PWR
dts: stm32mp15: harden RCC secure configuration on ST boards
Enable STM32MP15 RCC secure hardening configuration on ST boards (DK1, DK2, ED1 and EV1) to assign SoC clocks, reset controllers and PWR regulators to OP-TEE secure world.
This change removes setting of &rcc node status property from stm32mp157a-dk1.dts, stm32mp157c-dk2.dts as the property is set from stm32mp15xx-dkx.dtsi that is included from the 2 former DTS files.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 4e9f4c98 | 28-Nov-2023 |
Chia-Wei Wang <chiawei_wang@aspeedtech.com> |
arm: aspeed: Add cflags for AST2600 SoCs
AST2600 only supports VFPv3-D16, which should be speicifed by cflags to prevent undef-abort due to unsupoorted instructions generated by compilers.
Signed-o
arm: aspeed: Add cflags for AST2600 SoCs
AST2600 only supports VFPv3-D16, which should be speicifed by cflags to prevent undef-abort due to unsupoorted instructions generated by compilers.
Signed-off-by: Chia-Wei Wang <chiawei_wang@aspeedtech.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Neal Liu <neal_liu@aspeedtech.com>
show more ...
|
| 950549e4 | 24-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: fix getting GPIO for level control
Swap the 2 calls to find gpio property in "regulator-gpio" compatible node. The call that expects to get a TEE_ERROR_ITEM_NOT_FOUND return valu
drivers: regulator: fix getting GPIO for level control
Swap the 2 calls to find gpio property in "regulator-gpio" compatible node. The call that expects to get a TEE_ERROR_ITEM_NOT_FOUND return value (as described in the inline comment) for an unsupported 2nd level control GPIO can fail with TEE_ERROR_DEFER_DRIVER_INIT return value when the 1st GPIO phandle listed in the 'gpios' DT node property relates to a GPIO driver that is not yet probed. Fix that by first getting the required GPIO control level and then testing presence of other GPIO phandle in the 'gpios' DT property.
Fixes: f164f0f83420 ("drivers: regulator: GPIO controlled regulator") Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2495ef3b | 24-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: fix warning trace on TZC configuration check
Fix build warning reported by recent toolchains when TZDRAM memory ends at the UINT32_MAX. This happends for example when building for the
plat-stm32mp1: fix warning trace on TZC configuration check
Fix build warning reported by recent toolchains when TZDRAM memory ends at the UINT32_MAX. This happends for example when building for the stm32mp1-157C_EV1 platform. In such case was GCC to emit the following warning trace:
core/arch/arm/plat-stm32mp1/plat_tzc400.c: In function ‘init_stm32mp1_tzc’: core/arch/arm/plat-stm32mp1/plat_tzc400.c:107:61: warning: conversion from ‘uint64_t’ {aka ‘long long unsigned int’} to ‘vaddr_t’ {aka ‘long unsigned int’} changes value from ‘4294967296’ to ‘0’ [-Woverflow] 107 | if (!tzc_region_is_non_secure(region_index, tzdram_end, | ^~~~~~~~~~
Fixes: 59c253f92c6c ("plat-stm32mp1: check TZC400 configuration") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 9b72ef09 | 17-Nov-2023 |
loubaihui <loubaihui1@huawei.com> |
core: drivers: fix random number reading errors in hisi_trng
Fixes arguments passed to IO_READ32_POLL_TIMEOUT() macro and missing local variable definition in hisi_trng driver.
Fixes: fb5592f9cfeb
core: drivers: fix random number reading errors in hisi_trng
Fixes arguments passed to IO_READ32_POLL_TIMEOUT() macro and missing local variable definition in hisi_trng driver.
Fixes: fb5592f9cfeb ("core: drivers: add HiSilicon TRNG implementation") Signed-off-by: loubaihui <loubaihui1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 7d41fd4c | 13-Nov-2023 |
loubaihui <loubaihui1@huawei.com> |
core: drivers: modify debug and error messages in hisi_trng
Modify debug and error messages in hisi_trng.c
Fixes: fb5592f9cfeb ("core: drivers: add HiSilicon TRNG implementation") Signed-off-by: lo
core: drivers: modify debug and error messages in hisi_trng
Modify debug and error messages in hisi_trng.c
Fixes: fb5592f9cfeb ("core: drivers: add HiSilicon TRNG implementation") Signed-off-by: loubaihui <loubaihui1@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| c7f9abce | 21-Nov-2023 |
Xiaoxu Zeng <zengxiaoxu@huawei.com> |
drivers: implement HiSilicon Queue Management (QM) module
The Hisilicon QM is a Queue Management module. In order to unify the interface between accelerator and software, a unified queue management
drivers: implement HiSilicon Queue Management (QM) module
The Hisilicon QM is a Queue Management module. In order to unify the interface between accelerator and software, a unified queue management module QM is used to interact with software. Each accelerator module integrates a QM. Software issues tasks to the SQ (Submmision Queue),and the QM obtains the address of the SQE (Submmision Queue Element). The BD (Buffer Description, same as SQE) information is sent to the accelerator. After the task processing is complete, the accelerator applies for a write-back address from the QM to write back the SQ.
Signed-off-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 26e4d95e | 03-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: scmi_server: expose IOD regulators
Replace stubs with recently introduced IO domain regulators in SCMI server for STM32MP13 variants.
Acked-by: Patrick Delaunay <patrick.delaunay@fos
plat-stm32mp1: scmi_server: expose IOD regulators
Replace stubs with recently introduced IO domain regulators in SCMI server for STM32MP13 variants.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 6767c66b | 07-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: scmi_server: simplify regulators identification
Explicitly use a name ID of PMIC regulators identification and a numerical ID for PWR and stubbed regulators identification while there
plat-stm32mp1: scmi_server: simplify regulators identification
Explicitly use a name ID of PMIC regulators identification and a numerical ID for PWR and stubbed regulators identification while there is only 1 VREFBUF regulator that doesn't need such ID.
Remove string comparison from name to ID conversion for PWR in order to simplify later use of SDMMC IO domain regulators on STM32MP13 variants.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 053956b0 | 02-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
dts: stm32mp13: IO domain regulators
Define STM32MP13 IO domains regulators of the stm32mp13f-dk board based on recently merge stm32mp1_regulator_io driver.
Acked-by: Patrick Delaunay <patrick.dela
dts: stm32mp13: IO domain regulators
Define STM32MP13 IO domains regulators of the stm32mp13f-dk board based on recently merge stm32mp1_regulator_io driver.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 23f9bd99 | 02-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: IO domain regulators for STM32MP13
Add STM32MP13 IO domains regulators allowing a consumer to manage IO domains are voltage regulators.
Acked-by: Patrick Delaunay <patrick.delau
drivers: regulator: IO domain regulators for STM32MP13
Add STM32MP13 IO domains regulators allowing a consumer to manage IO domains are voltage regulators.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Co-developed-by: Pascal Paillet <p.paillet@foss.st.com> Signed-off-by: Pascal Paillet <p.paillet@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 83b3f587 | 07-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: pwr: use IO_READ32_POLL_TIMEOUT()
Update stm32mp1_pwr driver to use IO_READ32_POLL_TIMEOUT() macro.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevall
plat-stm32mp1: pwr: use IO_READ32_POLL_TIMEOUT()
Update stm32mp1_pwr driver to use IO_READ32_POLL_TIMEOUT() macro.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 4a93553c | 07-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: pwr: remove test on CFG_DRIVERS_REGULATOR
Remove tests on CFG_DRIVERS_REGULATOR value has the config switch is always enabled on stm32mp1 platform.
Acked-by: Patrick Delaunay <patric
plat-stm32mp1: pwr: remove test on CFG_DRIVERS_REGULATOR
Remove tests on CFG_DRIVERS_REGULATOR value has the config switch is always enabled on stm32mp1 platform.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e18d5c7a | 02-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: pwr: configure HSLV for fixed VDD supplied domain
Update PWR driver to configure High Speed Low Voltage mode for fixed VDD supplied domain thanks to recently introduced SYSCFG HSLV AP
plat-stm32mp1: pwr: configure HSLV for fixed VDD supplied domain
Update PWR driver to configure High Speed Low Voltage mode for fixed VDD supplied domain thanks to recently introduced SYSCFG HSLV API functions. This configuration must be appleid at boot time and when resuming from a system low power state.
This configuration depends on VDD voltage level. It can protected by a OTP bit (HW2 bit 13) described in the chip reference manual for when VDD is supplied with a voltage below 2.5V. As stated in the chip reference manual, enabling HSLV mode with a VDD voltage level above 2.7V may be destructive hence the driver panics in such case.
Acked-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Co-developed-by: Pascal Paillet <p.paillet@foss.st.com> Signed-off-by: Pascal Paillet <p.paillet@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|