| 4fd40c39 | 22-Mar-2023 |
Clément Léger <clement.leger@bootlin.com> |
core: dt_driver: add DT_DRIVER_NVMEM support
Handle DT_DRIVER_NVMEM the same way that DT_DRIVER_PINCTRL is handled. Indeed, it uses the same kind of DT references (phandle to a subnode of a controll
core: dt_driver: add DT_DRIVER_NVMEM support
Handle DT_DRIVER_NVMEM the same way that DT_DRIVER_PINCTRL is handled. Indeed, it uses the same kind of DT references (phandle to a subnode of a controller) to get a nvmem cell.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 61fdb02f | 15-Dec-2023 |
Raymond Mao <raymond.mao@linaro.org> |
core: fixup of transfer list header size
Add 4 reserved bytes at the tail of the transfer list header. This fixes a non-8-bytes aligned header when "flags" was introduced into the header.
Fixes: 50
core: fixup of transfer list header size
Add 4 reserved bytes at the tail of the transfer list header. This fixes a non-8-bytes aligned header when "flags" was introduced into the header.
Fixes: 508e2476b232 ("core: update transfer list header and signature") Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 508e2476 | 29-Nov-2023 |
Raymond Mao <raymond.mao@linaro.org> |
core: update transfer list header and signature
Add tl->flags and TL_FLAGS_HAS_CHECKSUM to align to the latest FW Handoff spec update. Bypass checksum verifying and updating if TL_FLAGS_HAS_CHECKSUM
core: update transfer list header and signature
Add tl->flags and TL_FLAGS_HAS_CHECKSUM to align to the latest FW Handoff spec update. Bypass checksum verifying and updating if TL_FLAGS_HAS_CHECKSUM bit is not set in tl->flags. Update TL signature to 4a0f_b10b to align to the latest FW Handoff spec update.
Note: It causes Transfer List ABI breakage due to FW Handoff spec stays with same rev number (v0.9) with above changes.
Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 245a552c | 01-Dec-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add interrupt_get_main_chip_may_fail()
Add interrupt_get_main_chip_may_fail() to be able to check if it's possible to use interrupts without causing a panic.
Signed-off-by: Jens Wiklander <je
core: add interrupt_get_main_chip_may_fail()
Add interrupt_get_main_chip_may_fail() to be able to check if it's possible to use interrupts without causing a panic.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
show more ...
|
| e9376d02 | 08-Oct-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: add interrupt_create_handler()
Adds interrupt_create_handler() API function in interrupt framework. The function is to be used with interrupt controls obtained from the DT with int
core: interrupt: add interrupt_create_handler()
Adds interrupt_create_handler() API function in interrupt framework. The function is to be used with interrupt controls obtained from the DT with interrupt_dt_get() interrupt_dt_get_by_index() or interrupt_dt_get_by_name().
The function differs from legacy interrupt_add_handler() in that this latter always reconfigure the interrupt while new interrupt_create_handler() function assumes the interrupt was configured from interrupt_dt_get() or friends.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 33a0c835 | 14-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: registering interrupt providers
Adds interrupt chip framework API functions for an interrupt controller to register as an interrupt provider in the driver probing sequence based on
core: interrupt: registering interrupt providers
Adds interrupt chip framework API functions for an interrupt controller to register as an interrupt provider in the driver probing sequence based on device tree. This allows interrupt consumer to be deferred when a dependent interrupt controller is not yet initialized.
Interrupt controllers register a driver in DT_DRIVER providers list with: interrupt_register_provider().
Interrupt consumer can get their interrupt through DT data with interrupt_dt_get(), interrupt_dt_get_by_index() or interrupt_dt_get_by_name().
This change removes inclusion of interrupt.h from kernel/dt.h as it is not needed and conflicts with inclusion of kernel/dt.h from kernel/interrupt.h.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| b548a657 | 06-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: dt_driver: reference output device reference as void *
Changes dt_driver API function to reference device reference as void * instead of void ** which could be confusing as the reference can b
core: dt_driver: reference output device reference as void *
Changes dt_driver API function to reference device reference as void * instead of void ** which could be confusing as the reference can be a pointer to a device pointer (e.g. in clk_dt.c) or a pointer to a structure (e.g. interrupt.c).
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| dcff802b | 16-Nov-2023 |
Raymond Mao <raymond.mao@linaro.org> |
core: add new argument to init_external_dt()
Add argument to function init_external_dt() to allow callers to specify the maximum size of external DTB to be initialized.
Signed-off-by: Raymond Mao <
core: add new argument to init_external_dt()
Add argument to function init_external_dt() to allow callers to specify the maximum size of external DTB to be initialized.
Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| ec740b9f | 23-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: interrupt_raise_sgi() updates
Adds ITR_CPU_MASK_TO_THIS_CPU and ITR_CPU_MASK_TO_OTHER_CPUS to simplify targeting CPUs in some use cases. The cpu_mask parameter is changed to a uint32_t to make
core: interrupt_raise_sgi() updates
Adds ITR_CPU_MASK_TO_THIS_CPU and ITR_CPU_MASK_TO_OTHER_CPUS to simplify targeting CPUs in some use cases. The cpu_mask parameter is changed to a uint32_t to make room for the two new flags.
The gic driver is updated to support this new flag.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| a1222502 | 20-Sep-2023 |
Raymond Mao <raymond.mao@linaro.org> |
core: add transfer list API
Introduce Transfer List API into kernel to implement Firmware Handoff specification
Link: https://github.com/FirmwareHandoff/firmware_handoff Signed-off-by: Raymond Mao
core: add transfer list API
Introduce Transfer List API into kernel to implement Firmware Handoff specification
Link: https://github.com/FirmwareHandoff/firmware_handoff Signed-off-by: Raymond Mao <raymond.mao@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1238110c | 03-Nov-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: kernel: interrupt: fix inline description
Fixes the inline description comment for type get_of_device_func and API function dt_driver_device_from_parent().
Fixes: b357d34fe91f ("core: dt_driv
core: kernel: interrupt: fix inline description
Fixes the inline description comment for type get_of_device_func and API function dt_driver_device_from_parent().
Fixes: b357d34fe91f ("core: dt_driver: swap TEE_result and retrieved device reference") Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bb053cc1 | 01-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: interrupt: remove old API functions
Remove old itr_xxx() API functions.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com> |
| 9c5eac75 | 03-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove unused arguments from boot_init_primary_early()
Removes the now unused arguments from boot_init_primary_early().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by:
core: remove unused arguments from boot_init_primary_early()
Removes the now unused arguments from boot_init_primary_early().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| 720e8800 | 03-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove fdt argument from get_aslr_seed()
Removes the now ignored fdt argument from get_aslr_seed().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <et
core: remove fdt argument from get_aslr_seed()
Removes the now ignored fdt argument from get_aslr_seed().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| f332e77c | 02-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: arm: refactor boot argument handling
Adds a C function, boot_save_args(), to as early as possible analyze and save the needed parameters depending on the current configuration. The parameters
core: arm: refactor boot argument handling
Adds a C function, boot_save_args(), to as early as possible analyze and save the needed parameters depending on the current configuration. The parameters are stored in global variables, which are then accessed by the subsequently called functions, boot_init_primary_early(), boot_init_primary_late(), and get_aslr_seed().
entry_a32.S now preserves {r0-r3,lr} and pass them to boot_save_args().
entry_a64.S now preserves {x0-x3} and pass them to boot_save_args() with zero in a5.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Acked-by: Raymond Mao <raymond.mao@linaro.org>
show more ...
|
| d50fee03 | 16-Oct-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: prefix header file guard names with __
Improves header files guard names consistency by using a __ prefix where missing.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by:
core: prefix header file guard names with __
Improves header files guard names consistency by using a __ prefix where missing.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| fbe66cf8 | 16-Oct-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: fix header file guard names
Fixes header file guards macro name prefix (mostly missing occurrences) that should reflect the file base directory sub-path where applicable.
Reviewed-by: Jens Wi
core: fix header file guard names
Fixes header file guards macro name prefix (mostly missing occurrences) that should reflect the file base directory sub-path where applicable.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 5d7e3db2 | 16-Oct-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: kernel: add missing guards in time_source.h
Adds missing guards in header file time_source.h.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.
core: kernel: add missing guards in time_source.h
Adds missing guards in header file time_source.h.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 0a75d408 | 13-Oct-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: fix data abort during ftrace
With commit c10e3fa93d24 ("core: fix race in handling TA panic") the resources of a panicked TAs are released as early as possible, including the user space mapped
core: fix data abort during ftrace
With commit c10e3fa93d24 ("core: fix race in handling TA panic") the resources of a panicked TAs are released as early as possible, including the user space mapped ftrace buffer. However, the pointer to the ftrace buffer is stored in the ts_session for quick and easy access. The ftrace buffer is always retrieved with get_fbuf() that already have a few other checks to see if the buffer is currently available. So add a check to see that the TA hasn't panicked also.
Fixes: c10e3fa93d24 ("core: fix race in handling TA panic") Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (vexpress-qemu_armv8a)
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 ...
|
| 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 ...
|
| 200cc96d | 23-Aug-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add non-volatile monotonic counter interface
Adds a stubbed non-volatile monotonic counter interface with a REE FS counter. Platforms or drivers overrides the weak functions nv_counter_get_ree
core: add non-volatile monotonic counter interface
Adds a stubbed non-volatile monotonic counter interface with a REE FS counter. Platforms or drivers overrides the weak functions nv_counter_get_ree_fs() and nv_counter_incr_ree_fs_to() to provide a non-stubbed implementation of the counter.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|