| 2157edb3 | 01-Apr-2025 |
Sahil Malhotra <sahil.malhotra@nxp.com> |
drivers: imx_mu: add support for i.MX943
Enable MU driver support for i.MX943
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Rouven Czerwinski <rouven.czerwinski@linaro.org> Acked
drivers: imx_mu: add support for i.MX943
Enable MU driver support for i.MX943
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Rouven Czerwinski <rouven.czerwinski@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1e3057c6 | 26-Feb-2025 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_i2c: fallback to interrupt access when no bottom half
Change stm32_i2c driver to allow I2C transfers in interrupt context before bottom half thread is initialized and after it's relea
drivers: stm32_i2c: fallback to interrupt access when no bottom half
Change stm32_i2c driver to allow I2C transfers in interrupt context before bottom half thread is initialized and after it's released.
This can be needed by PMIC driver to handle PMCI interrupt events when bottom half thread is not supported by normal wold. In that case, PMIC driver would need to register its interrupt to stm32_i2c driver.
Thread accesses to the bus still start by locking the I2C bus mutex. Before using the bus, the sequence now masks the PMIC interrupt and polls (with timeout) on I2C bus access atomic lock. This lock may be held by an I2C transfer currently executing in an interrupt context. A 100ms timeout is short enough to also allow debug console traces in the interrupt sequence. Masking the interrupt before polling the lock ensures no new pending interrupt will interrupt us (and execute a I2C transfer) while the thread context accesses the I2C bus.
Interrupt accesses to the bus atomically set/clear the I2C bus access lock while executing the interrupt sequence.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| a25cf4cf | 10-Nov-2025 |
Alistair Higgins <Alistair_Higgins@trimble.com> |
core: make boot_arg_nsec_entry globally accessible
Required on TI platforms that need access to access the boot arguments in an `early_init()` call. Need the boot args to memory-map and initialise t
core: make boot_arg_nsec_entry globally accessible
Required on TI platforms that need access to access the boot arguments in an `early_init()` call. Need the boot args to memory-map and initialise the HUK before it is used in the `tee_fs_init_key_manager` service init.
Signed-off-by: Alistair Higgins <Alistair_Higgins@trimble.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 00338334 | 31-Oct-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: support dynamic protected memory lending
With CFG_CORE_DYN_PROTMEM=y support dynamic protected memory lending.
A new internal struct mobj_ffa_rsm is added to handle dynamic protected memory f
core: support dynamic protected memory lending
With CFG_CORE_DYN_PROTMEM=y support dynamic protected memory lending.
A new internal struct mobj_ffa_rsm is added to handle dynamic protected memory for FF-A.
A new internal struct mobj_protmem is add to handle dynamic protected memory without FF-A.
Lending non-secure memory to OP-TEE to use it as protected memory means that it should to become inaccessible by the normal world as part of the process. This part is currently not supported, since it must be done in a platform specific way for platforms that support that. QEMU don't support that.
Adding two platform specific functions, plat_get_protmem_config() and plat_set_protmem_range() for dynamic protected memory. The functions has __weak implementation to allow easier testing. However, plat_set_protmem_range() requires CFG_INSECURE=y since it doesn't change memory protection.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 3c2e09b3 | 31-Oct-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ABI description for dynamic protected memory
Extend the SMC and FF-A ABI to handle dynamic protected memory lending. The capability bits OPTEE_SMC_SEC_CAP_DYNAMIC_PROTMEM and OPTEE_FFA_SEC_CAP
core: ABI description for dynamic protected memory
Extend the SMC and FF-A ABI to handle dynamic protected memory lending. The capability bits OPTEE_SMC_SEC_CAP_DYNAMIC_PROTMEM and OPTEE_FFA_SEC_CAP_PROTMEM respectively tells its availability.
OPTEE_MSG_CMD_GET_PROTMEM_CONFIG tells the minimal size and required alignment of protected memory to lend.
For the SMC ABI, OPTEE_MSG_CMD_LEND_PROTMEM lends protected memory and OPTEE_MSG_CMD_RECLAIM_PROTMEM returns the memory to normal world use.
For the FF-A ABI, FFA_LEND framework request followed by OPTEE_MSG_CMD_ASSIGN_PROTMEM lends protected memory and OPTEE_FFA_RELEASE_PROTMEM followed by the FFA_RECLAIM framework request returns the memory to normal world use.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 0cbde272 | 26-Nov-2024 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: sync ABI description files
Syncs the ABI description files optee_ffa.h and optee_msg.h with their counterpart in the Linux kernel driver. Small changes in comments and introduction of uint8_t
core: sync ABI description files
Syncs the ABI description files optee_ffa.h and optee_msg.h with their counterpart in the Linux kernel driver. Small changes in comments and introduction of uint8_t octets[24] as an alternative to struct optee_msg_param_value value.
No ABI changes or extensions.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 16e0d122 | 04-Jul-2024 |
Sahil Malhotra <sahil.malhotra@nxp.com> |
drivers: imx: mu: add support for imx95
Add MU driver support for imx95
Signed-off-by: Sahil Malhotra <sahil.malhotra@nxp.com> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> |
| cdd2fe13 | 13-Mar-2025 |
Rouven Czerwinski <rouven.czerwinski@linaro.org> |
core: drivers: introduce Qualcomm GENI UART driver
Introduce a driver for the GENI UART found on modern Qualcomm platforms.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens W
core: drivers: introduce Qualcomm GENI UART driver
Introduce a driver for the GENI UART found on modern Qualcomm platforms.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Casey Connolly <casey.connolly@linaro.org> Signed-off-by: Rouven Czerwinski <rouven.czerwinski@linaro.org> [SG: cleaned up the driver] Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
show more ...
|
| 4e51bea9 | 12-Jan-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: DT property regulator-enable-ramp-delay
Implement regulator DT property regulator-enable-ramp-delay.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Signed-off-by
drivers: regulator: DT property regulator-enable-ramp-delay
Implement regulator DT property regulator-enable-ramp-delay.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 8c48c11b | 12-Jan-2024 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: regulator: DT property regulator-ramp-delay
Implement regulator DT property regulator-ramp-delay.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Signed-off-by: Thomas Bourg
drivers: regulator: DT property regulator-ramp-delay
Implement regulator DT property regulator-ramp-delay.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| 1dc11585 | 02-Oct-2025 |
Thomas Bourgoin <thomas.bourgoin@foss.st.com> |
drivers: regulator: DT properties over-current-protection
Define regulator property flags for the regulator DT binding properties regulator-over-current-protection and regulator-active-discharge.
S
drivers: regulator: DT properties over-current-protection
Define regulator property flags for the regulator DT binding properties regulator-over-current-protection and regulator-active-discharge.
Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| d2c909e8 | 07-Aug-2025 |
Michael Tretter <m.tretter@pengutronix.de> |
drivers: rockchip: extract OTP driver from rk3588 platform
The OTP handling is useful outside the rk3588 platform implementation. For example, the fuses for secure boot are accessible via the OTP.
drivers: rockchip: extract OTP driver from rk3588 platform
The OTP handling is useful outside the rk3588 platform implementation. For example, the fuses for secure boot are accessible via the OTP.
Extract the OTP write and read support to a separate driver to make it available for other modules.
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de> Reviewed-by: Etienne Carriere <etienne.carriere@st.com>
show more ...
|
| 04c582c7 | 16-Feb-2024 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
dt-bindings: shared bindings between STM32MP25x and STM32MP23x boards
As the STM32MP23 SoC family is a derivative of the STM32MP25 SoC family, the device tree bindings can be shared as they are comp
dt-bindings: shared bindings between STM32MP25x and STM32MP23x boards
As the STM32MP23 SoC family is a derivative of the STM32MP25 SoC family, the device tree bindings can be shared as they are compatible.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 396e1f07 | 18-Jun-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: gpio: add new ops configure to initialize gpio
Add the new ops configure to initialize the GPIO resource based on dt_flags. This new ops is require to support the modification of dt_flag do
drivers: gpio: add new ops configure to initialize gpio
Add the new ops configure to initialize the GPIO resource based on dt_flags. This new ops is require to support the modification of dt_flag done by caller after gpio_dt_init_by_index() and before call of gpio_configure().
It is done by example in driver of regulator fixed and gpio.
The new ops is called only in gpio_dt_cfg_by_index() or in gpio_configure() so usage of one of this API is manadatory after this patch.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 39d1e320 | 06-May-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: gpio: add configure functions
Align the OP-TEE GPIO driver with GPIO lib (devm_gpiod_get_index with enum gpiod_flags) and add a way to select the GPIO configuration directly during request
drivers: gpio: add configure functions
Align the OP-TEE GPIO driver with GPIO lib (devm_gpiod_get_index with enum gpiod_flags) and add a way to select the GPIO configuration directly during request with the new function, gpio_dt_cfg_by_index().
This patch remove assumption on GPIO direction (gpio input was assumed in GPIO driver) or output level when the GPIO is requested by consumer. with this patch it must be requested explicitly with: - GPIO_IN: configure the input GPIO - GPIO_ASIS: direction is managed by caller later with gpio_set_value() call. - GPIO_OUT_LOW / GPIO_OUT_HIGH: output GPIO at expected level, the sequence for GPIO have the correct order to avoid glitch by using the gpio function at the correct order.
This patch is a preliminary step for the introduction of ops configure. The API gpio_dt_get_by_index() is keep for backward compatibility but should be used with gpio_configure() or replaced by gpio_dt_cfg_by_index().
Now gpio_configure() is only used in the 2 drivers, regulator_fixed and regulator_gpio, because in these drivers the flags gpio->dt_flags are modified after call of gpio_dt_get_by_index().
For get_voltage_level_gpio(), GPIO_OUT_HIGH is used by default as it is done in Linux function of_get_gpio_regulator_config().
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a37f67ed | 06-May-2025 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
drivers: gpio: support gpio suffix in device tree
Align the OP-TEE GPIO driver on the Linux GPIO lib behavior for the gpio properties in device tree: search "gpios" or "gpio" when gpio_name is omit
drivers: gpio: support gpio suffix in device tree
Align the OP-TEE GPIO driver on the Linux GPIO lib behavior for the gpio properties in device tree: search "gpios" or "gpio" when gpio_name is omitted and "foo-gpios" or "foo-gpio" when and if the gpio_name="foo".
This patch allows use of the function gpio_dt_get_by_index() by GPIO consumers for all supported bindings.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Thomas Bourgoin <thomas.bourgoin@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 143e9dce | 01-Feb-2024 |
Clément Le Goffic <clement.legoffic@foss.st.com> |
drivers: rtc: add support of alarm in RTC API
Add set_alarm and read_alarm to the RTC API to set and read an alarm.
In parallel three others functions are added: - `enable_alarm()`: Enable or not t
drivers: rtc: add support of alarm in RTC API
Add set_alarm and read_alarm to the RTC API to set and read an alarm.
In parallel three others functions are added: - `enable_alarm()`: Enable or not the alarm - `wait_alarm()`: This function is called by the non-secure world and waits until an alarm happens. The wait alarm caller is blocked until an asynchronous notification arrives. - `set_alarm_wakeup_status()`: Allow to disable or not the wakeup capability of the alarm in low power mode
Signed-off-by: Clément Le Goffic <clement.legoffic@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| c9c847d5 | 11-Jun-2025 |
Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> |
core: asan: add support for custom panic callback
Add asan_set_panic_cb() to register a custom panic callback.
The ability to set a panic callback will be used in ASan tests to capture and validate
core: asan: add support for custom panic callback
Add asan_set_panic_cb() to register a custom panic callback.
The ability to set a panic callback will be used in ASan tests to capture and validate expected violations without triggering a full system panic, which is important for automated testing.
Introduce asan_report() to provide more detailed reporting of access violations, including nearby shadow memory dump.
Signed-off-by: Aleksandr Iashchenko <aleksandr.iashchenko@linutronix.de> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1e45c633 | 13-May-2025 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
clk: stm32mp21: introduce STM32MP21 clock driver
As the STM32MP25 clock driver, this driver is based on the clk-stm32-core API to manage STM32 gates, dividers, and multiplexer.
Signed-off-by: Yann
clk: stm32mp21: introduce STM32MP21 clock driver
As the STM32MP25 clock driver, this driver is based on the clk-stm32-core API to manage STM32 gates, dividers, and multiplexer.
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| b2ceba5a | 01-Oct-2023 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
dt-bindings: add STM32MP21 clocks and resets bindings
Add stm32mp21-clks.h, stm32mp21-clksrc.h & stm32mp21-resets.h DT bindings files for STM32MP21.
Signed-off-by: Yann Gautier <yann.gautier@foss.s
dt-bindings: add STM32MP21 clocks and resets bindings
Add stm32mp21-clks.h, stm32mp21-clksrc.h & stm32mp21-resets.h DT bindings files for STM32MP21.
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| d7272dd5 | 27-May-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
dt-bindings: add stm32 TAMP support
Add device tree bindings for the TAMP hardware block stm32mpxx platforms. These bindings permit the description of the configuration of tamper events.
Signed-off
dt-bindings: add stm32 TAMP support
Add device tree bindings for the TAMP hardware block stm32mpxx platforms. These bindings permit the description of the configuration of tamper events.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| d60c61e1 | 28-May-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_rtc: add time stamping feature support
Support the time stamping features of the RTC. It is useful to generate a timestamp whenever a particular event occurs.
Signed-off-by: Gatien C
drivers: stm32_rtc: add time stamping feature support
Support the time stamping features of the RTC. It is useful to generate a timestamp whenever a particular event occurs.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 61bf256a | 28-May-2025 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
drivers: stm32_gpio: add stm32_gpio_get_bank_id() helper
Add stm32_gpio_get_bank_id() helper function to get the STM32 GPIO bank ID related to its GPIO chip
Signed-off-by: Gatien Chevallier <gatien
drivers: stm32_gpio: add stm32_gpio_get_bank_id() helper
Add stm32_gpio_get_bank_id() helper function to get the STM32 GPIO bank ID related to its GPIO chip
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 990c4711 | 28-Jan-2025 |
Antonio Borneo <antonio.borneo@foss.st.com> |
core: interrupt: add set_wake for power-management wake-on on interrupt
For interrupt controllers that can handle power-management wake-up when receiving an interrupt, add the operation set_wake().
core: interrupt: add set_wake for power-management wake-on on interrupt
For interrupt controllers that can handle power-management wake-up when receiving an interrupt, add the operation set_wake().
Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 6f9a4373 | 03-Jun-2025 |
Antonio Borneo <antonio.borneo@foss.st.com> |
core: kernel: dt_driver: fix copy/paste comment
While adding DT_DRIVER_PINCTRL, an incorrect word was reported by copy/paste from the existing comment for DT_DRIVER_RSTCTRL.
Drop the word 'reset' f
core: kernel: dt_driver: fix copy/paste comment
While adding DT_DRIVER_PINCTRL, an incorrect word was reported by copy/paste from the existing comment for DT_DRIVER_RSTCTRL.
Drop the word 'reset' from the comment for DT_DRIVER_PINCTRL.
Fixes: b5aff6de7052 ("core: dt_driver: add support for DT_DRIVER_PINCTRL") Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|