| 86ea47da | 26-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: add regulator_dt_get_supply()
Implements regulator_dt_get_supply() API function for consumer drivers to get a regulator supply using the driver device DT node data. The function
drivers: regulator: add regulator_dt_get_supply()
Implements regulator_dt_get_supply() API function for consumer drivers to get a regulator supply using the driver device DT node data. The function returns TEE_ERROR_DEFER_DRIVER_INIT when the target supply exists but is yet not initialized.
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 ...
|
| 652d2ce7 | 12-Sep-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
drivers: regulator: fixed regulator
Implements fixed voltage level regulator driver to register DT compatible "regulator-fixed" devices into the regulator framework. These regulators may be enabled/
drivers: regulator: fixed regulator
Implements fixed voltage level regulator driver to register DT compatible "regulator-fixed" devices into the regulator framework. These regulators may be enabled/disabled using a GPIO pin in which cases CFG_DRIVERS_GPIO shall be enabled.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Thomas Bourgoin <thomas.bourgoin@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@linaro.org>
show more ...
|
| b2d6db21 | 16-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: helper function for raise_pi, raise_sgi, set_affinity
Defines helper API functions to call .raise_pi, .raise_sgi and .set_affinity handlers of a chip controller. Defines API functio
core: interrupt: helper function for raise_pi, raise_sgi, set_affinity
Defines helper API functions to call .raise_pi, .raise_sgi and .set_affinity handlers of a chip controller. Defines API function to query support of these handlers in the interrupt controller.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1b5c7ca4 | 22-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: helper function interrupt_alloc_add_conf_handler()
Adds interrupt API function interrupt_alloc_add_conf_handler() to allocate, configure and register an interrupt handler, providing
core: interrupt: helper function interrupt_alloc_add_conf_handler()
Adds interrupt API function interrupt_alloc_add_conf_handler() to allocate, configure and register an interrupt handler, providing interrupt type and priority.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 99e2612c | 16-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: move to interrupt_call_handlers()
Removes itr_handle() in favor to interrupt_call_handlers(). This changes updates all implemented main interrupt controller drivers that are the GIC driver,
drivers: move to interrupt_call_handlers()
Removes itr_handle() in favor to interrupt_call_handlers(). This changes updates all implemented main interrupt controller drivers that are the GIC driver, the HFIC driver and Atmel SAIC driver.
Reviewed-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| e313f476 | 13-Sep-2023 |
Kamlesh Gurudasani <kamlesh@ti.com> |
plat-k3: drivers: Open TRNG firewall for TIFS
On devices with PLATFORM=k3-am62x, there is only one SA2UL instance, which is being shared between TIFS and OP-TEE.
Blocking access to TRNG from all ot
plat-k3: drivers: Open TRNG firewall for TIFS
On devices with PLATFORM=k3-am62x, there is only one SA2UL instance, which is being shared between TIFS and OP-TEE.
Blocking access to TRNG from all other entities other than OP-TEE is causing firewall exception when being accessed by TIFS.
While there are other platforms with only one sa2ul instance, on AM62x we support low power mode, in which TIFS access TRNG while waking up from deep sleep. On other devices, use of TRNG by TIFS is limited to the time till OP-TEE initializes and firewalls it for other entities.
Allow access to TIFS to use SA2UL TRNG along with OP-TEE.
Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com> Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
show more ...
|
| 4621ea8b | 14-Sep-2023 |
Kamlesh Gurudasani <kamlesh@ti.com> |
plat-k3: drivers: Fix values for FW_SECURE_ONLY and FW_NON_SECURE
Fix values for permission bits for secure user, secure supervisor, non-secure user and non-secure supervisor.
0th-7th bits are for
plat-k3: drivers: Fix values for FW_SECURE_ONLY and FW_NON_SECURE
Fix values for permission bits for secure user, secure supervisor, non-secure user and non-secure supervisor.
0th-7th bits are for secure user/supervisor permissions and 8th-15th bits are for non-secure user/supervisor permission.
Signed-off-by: Kamlesh Gurudasani <kamlesh@ti.com> Reviewed-by: Manorit Chawdhry <m-chawdhry@ti.com>
show more ...
|
| 44a7a422 | 09-Oct-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: include tee extensions
Adds missing header file for TEE extension macro TEE_ERROR_DEFER_DRIVER_INIT.
Fixes: 6558b5657faf ("drivers: regulator: register to dt_driver") Acked-by:
drivers: regulator: include tee extensions
Adds missing header file for TEE extension macro TEE_ERROR_DEFER_DRIVER_INIT.
Fixes: 6558b5657faf ("drivers: regulator: register to dt_driver") Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 66d7ea0e | 06-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: DT property regulator-pull-down
Handle pull down mode for regulators which DT node sets property regulator-pull-down.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed
drivers: regulator: DT property regulator-pull-down
Handle pull down mode for regulators which DT node sets property regulator-pull-down.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 71cfb5fa | 29-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: DT property regulator-always-on
Handle regulator DT bindings property regulator-always-on.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <
drivers: regulator: DT property regulator-always-on
Handle regulator DT bindings property regulator-always-on.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 43c155ba | 06-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: list supported levels
Adds regulator API function regulator_supported_voltages() to get the list of the voltage levels supported by the regulator.
Voltage level array is either
drivers: regulator: list supported levels
Adds regulator API function regulator_supported_voltages() to get the list of the voltage levels supported by the regulator.
Voltage level array is either an array of increasing ordered levels, in microvolt, or is a triplet [min, max, step] for linear step incremental levels.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 503ea157 | 06-Oct-2023 |
Alvin Chang <alvinga@andestech.com> |
drivers: ns16550: Implement RX related features
Implement ns16550_getchar() and ns16550_have_rx_data() for RX related serial operations into ns16550 UART driver.
Signed-off-by: Alvin Chang <alvinga
drivers: ns16550: Implement RX related features
Implement ns16550_getchar() and ns16550_have_rx_data() for RX related serial operations into ns16550 UART driver.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 199cc636 | 06-Oct-2023 |
Alvin Chang <alvinga@andestech.com> |
drivers: ns16550: Implement helper function to get driver info
Implement chip_to_base_and_data() for ns16550 UART driver to get effective address and private structure.
Signed-off-by: Alvin Chang <
drivers: ns16550: Implement helper function to get driver info
Implement chip_to_base_and_data() for ns16550 UART driver to get effective address and private structure.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 06056296 | 05-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: fix style issues in asm-defines.c
Fixing a few cases of alignment that doesn't match open parenthesis.
Fixes: c02f9fb09df2 ("arm: add auto generated asm-defines.h") Signed-off-by: Jens W
core: arm: fix style issues in asm-defines.c
Fixing a few cases of alignment that doesn't match open parenthesis.
Fixes: c02f9fb09df2 ("arm: add auto generated asm-defines.h") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1d184480 | 05-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: preserve 64bit smccc when possible
Prior to this patch when a FFA_MSG_SEND_DIRECT_REQ_64 was received the response was sent as FFA_MSG_SEND_DIRECT_RESP_32. While not breaking with the FF-
core: ffa: preserve 64bit smccc when possible
Prior to this patch when a FFA_MSG_SEND_DIRECT_REQ_64 was received the response was sent as FFA_MSG_SEND_DIRECT_RESP_32. While not breaking with the FF-A specification, it's still a bit unexpected and will cause an error in the FF-A framework driver. So fix this by keeping track of the SMCCC (SMC Calling Convention) used during the current FFA_MSG_SEND_DIRECT_REQ and respond with matching SMCCC.
This has no impact on AArch32 mode since only the 32-bit SMCCC is valid in that case. The greatest impact on AArch64 is that we must be able to find out the current SMCCC during RPC, this means storing it in struct thread_core_local to be able to access it in assembly low level routines.
Support for FFA_MSG_SEND_DIRECT_REQ_64 is also advertised in FFA_FEATURES.
Fixes: 15da69cff2ca ("core: ffa: Enable handling 64-bit direct messages") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 3afba469 | 06-Oct-2023 |
Clement Faure <clement.faure@nxp.com> |
core: pta: imx: fix typo DEK blob command
The PTA command had the manufacturing protection prefix instead of the DEK blob prefix.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jero
core: pta: imx: fix typo DEK blob command
The PTA command had the manufacturing protection prefix instead of the DEK blob prefix.
Signed-off-by: Clement Faure <clement.faure@nxp.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 69a443d0 | 04-Oct-2023 |
Alvin Chang <alvinga@andestech.com> |
core: riscv: Fix condition of is_from_user()
RISC-V defines that xPP(previous privilege mode) field of CSR status indicates the previous privilege level prior to the trap. Since the encoding of user
core: riscv: Fix condition of is_from_user()
RISC-V defines that xPP(previous privilege mode) field of CSR status indicates the previous privilege level prior to the trap. Since the encoding of user mode is 0, we should compare the xPP field with 0 here to know that the trap is from user mode.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>
show more ...
|
| 9478318b | 26-Sep-2023 |
Alvin Chang <alvinga@andestech.com> |
riscv: plat-virt: Align PLIC configurations with QEMU v8.1.1
Align the PLIC configurations with RISC-V QEMU virtual platform based on official QEMU v8.1.1 tag. The maximum size of PLIC should be 0x6
riscv: plat-virt: Align PLIC configurations with QEMU v8.1.1
Align the PLIC configurations with RISC-V QEMU virtual platform based on official QEMU v8.1.1 tag. The maximum size of PLIC should be 0x600000, and the number of interrupt sources should be 95.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a1ee298a | 26-Sep-2023 |
Alvin Chang <alvinga@andestech.com> |
drivers: plic: Implement mask/unmask operations
Implement mask/unmask operations for PLIC, otherwise OP-TEE panics during boot process due to failure of itr_chip_is_valid().
Signed-off-by: Alvin Ch
drivers: plic: Implement mask/unmask operations
Implement mask/unmask operations for PLIC, otherwise OP-TEE panics during boot process due to failure of itr_chip_is_valid().
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>
show more ...
|
| f33bc3ef | 26-Sep-2023 |
Alvin Chang <alvinga@andestech.com> |
drivers: plic: Maintain controller data in driver source file
To align the design from other architecture, we move the interrupt controller data instance from platform source file to driver source f
drivers: plic: Maintain controller data in driver source file
To align the design from other architecture, we move the interrupt controller data instance from platform source file to driver source file. With this change, the PLIC initialization functions no more get the controller data as input argument. Platforms do not need to care about the interrupt controller data instance.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Marouene Boubakri <marouene.boubakri@nxp.com>
show more ...
|
| 97ea199a | 15-Sep-2023 |
Xiaoxu Zeng <zengxiaoxu@huawei.com> |
core: io: IO_READ32_POLL_TIMEOUT()
Implement Polling Read Register Interface inspired by linux kernel.
Signed-off-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Reviewed-by: Etienne Carriere <etienne.carr
core: io: IO_READ32_POLL_TIMEOUT()
Implement Polling Read Register Interface inspired by linux kernel.
Signed-off-by: Xiaoxu Zeng <zengxiaoxu@huawei.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 6558b565 | 14-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: register to dt_driver
Adds regulator_dt_register() for regulator drivers to register regulator instances based on the DT description of the platform.
Regulator instances may not
drivers: regulator: register to dt_driver
Adds regulator_dt_register() for regulator drivers to register regulator instances based on the DT description of the platform.
Regulator instances may not be created and initialized when regulator_dt_register() returns. When a regulator depends on a supply this latter may not yet be registered and initialized. The framework will resolve the regulator dependencies later.
At OP-TEE core last initcall stage, a debug message informs in case of remaining unresolved regulator dependency. Used resources are released and no error status is returns to the system.
regulator_dt_register() uses a dedicated struct regu_dt_desc ABI to get the description of the regulator to be registered.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> 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 ...
|
| c9c53de1 | 14-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: dt_driver: add dt_driver_provider_priv_data()
Implements dt_driver_provider_priv_data() to get the private data registered with a provider. Regulator framework will use this function to return
core: dt_driver: add dt_driver_provider_priv_data()
Implements dt_driver_provider_priv_data() to get the private data registered with a provider. Regulator framework will use this function to return the regulator handle associated to a regulator provider driver.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 193944aa | 14-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: dt_driver: define DT_DRIVER_REGULATOR
Adds DT_DRIVER_REGULATOR for a regulator consumer to retrieve its regulator device(s) from device tree information.
Acked-by: Gatien Chevallier <gatien.c
core: dt_driver: define DT_DRIVER_REGULATOR
Adds DT_DRIVER_REGULATOR for a regulator consumer to retrieve its regulator device(s) from device tree information.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 5457b0f2 | 29-Sep-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: enable support for regulators
Enables regulator framework on platform stm32mp1.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Gatien Chevallier <gatien.chevallie
plat-stm32mp1: enable support for regulators
Enables regulator framework on platform stm32mp1.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|