| fe16b87b | 08-Jun-2023 |
Alvin Chang <alvinga@andestech.com> |
core: mm: Rename "mva" to "va" for TLB operations
The terminology "mva" is specific for older ARM architecture which has FCSE extension. To support multiple architecture, it would be good to rename
core: mm: Rename "mva" to "va" for TLB operations
The terminology "mva" is specific for older ARM architecture which has FCSE extension. To support multiple architecture, it would be good to rename "mva" to common terminology, such as "va". This PR renames "mva" to "va" in TLB operations for ARM64 and RISC-V. For ARM32, "mva" is reserved because it is really defined in ARM32's documentations.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Acked-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 ...
|
| 812f8b29 | 08-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: pinctrl: fix line breaks in propotypes
Fixes pin ctrl.h header file prototype declaration as per preferred by toolchains as clang.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Sign
drivers: pinctrl: fix line breaks in propotypes
Fixes pin ctrl.h header file prototype declaration as per preferred by toolchains as clang.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| b357d34f | 06-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
core: dt_driver: swap TEE_result and retrieved device reference
Changes dt_driver callback function to return a TEE_Result value and pass retrieved device reference by a output argument rather than
core: dt_driver: swap TEE_result and retrieved device reference
Changes dt_driver callback function to return a TEE_Result value and pass retrieved device reference by a output argument rather than the opposite.
This change updates dt_driver.c, dt_driver.h and all drivers implementing related dt_driver callback function.
As a consequence, this change removes all type definition related to device specific callback handler function types which are useless as all these now comply with type dt_driver_probe_func defined in dt_driver.h.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a21afdff | 11-Jun-2023 |
Alvin Chang <alvinga@andestech.com> |
core: mm: Introduce next_level field of struct core_mmu_table_info
The address translation rule is architecture specific, e.g., ARM adopts increasing style while the address is translated to finer-g
core: mm: Introduce next_level field of struct core_mmu_table_info
The address translation rule is architecture specific, e.g., ARM adopts increasing style while the address is translated to finer-grained table, while RISC-V adopts decreasing style. Therefore, we add a "next_level" field into the struct core_mmu_table_info, which represents the next finer-grained translation level. By doing this, we can decouple the core address translation rule from architecture specific manner.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 1e608aa1 | 11-Jun-2023 |
Alvin Chang <alvinga@andestech.com> |
core: mm: Introduce core_mmu_level_in_range()
Since the checking of the valid translation level is architecture specific, the core_mmu_level_in_range() is introduced and every architecture could imp
core: mm: Introduce core_mmu_level_in_range()
Since the checking of the valid translation level is architecture specific, the core_mmu_level_in_range() is introduced and every architecture could implement the function with their own translation rules.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 21581f27 | 11-Jun-2023 |
Alvin Chang <alvinga@andestech.com> |
core: mm: Reduce size of struct core_mmu_table_info
The level and shift of struct core_mmu_table_info could be uint8_t to reduce the size of the structure.
Signed-off-by: Alvin Chang <alvinga@andes
core: mm: Reduce size of struct core_mmu_table_info
The level and shift of struct core_mmu_table_info could be uint8_t to reduce the size of the structure.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 88dfa327 | 08-Jun-2023 |
Alvin Chang <alvinga@andestech.com> |
core: riscv: Fix misuse of cppflags
The -mxxx and -Wxxx are not preprocessor flags. Fix it by defining them as C flags.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Jerome Foriss
core: riscv: Fix misuse of cppflags
The -mxxx and -Wxxx are not preprocessor flags. Fix it by defining them as C flags.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 7bb22ad3 | 03-May-2023 |
Balint Dobszay <balint.dobszay@arm.com> |
core: sp: implement FF-A v1.1 boot protocol
Implement passing the boot info to Secure Partitions in the new format defined by FF-A v1.1. The change is backwards compatible by keeping the already exi
core: sp: implement FF-A v1.1 boot protocol
Implement passing the boot info to Secure Partitions in the new format defined by FF-A v1.1. The change is backwards compatible by keeping the already existing FF-A v1.0 format too. Which format to use is decided based on the "ffa-version" field in the SP's manifest. The register to use for passing the boot info blob's address is based on the "gp-register-num" field.
Link: https://trustedfirmware-a.readthedocs.io/en/latest/components/ffa-manifest-binding.html#partition-properties Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
show more ...
|
| d2a2d362 | 06-Jun-2023 |
Balint Dobszay <balint.dobszay@arm.com> |
core: sp: fix session handling in sp_first_run
Currently the error handling after sp_enter() calls vm_unmap() without activating the correct session with ts_push_current_session(), fix this. Also fi
core: sp: fix session handling in sp_first_run
Currently the error handling after sp_enter() calls vm_unmap() without activating the correct session with ts_push_current_session(), fix this. Also fix the returned error code to use TEE_* instead of FFA_*.
Fixes: 6d618ba1d612 ("core: sp: map device regions from SP manifest") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
show more ...
|
| 8e42ac92 | 03-May-2023 |
Balint Dobszay <balint.dobszay@arm.com> |
core: sp: fix unmap in sp_first_run
Fix the usage of vm_unmap() in sp_first_run. The functions expects the memory size as the last argument, but currently the number of pages is passed instead.
Fix
core: sp: fix unmap in sp_first_run
Fix the usage of vm_unmap() in sp_first_run. The functions expects the memory size as the last argument, but currently the number of pages is passed instead.
Fixes: 7e8d05e4c35d ("core: sp: Pass manifest fdt to SP") Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Balint Dobszay <balint.dobszay@arm.com>
show more ...
|
| 1b4c5002 | 01-Jun-2023 |
Izhar Nevo <inevo@amazon.com> |
drivers: gic: prevent accessing unimplemented GIC registers
The GIC method for probing for the highest implemented interrupt ignored is done by writing & reading to GIC registers GICD_ISENABLER<n> &
drivers: gic: prevent accessing unimplemented GIC registers
The GIC method for probing for the highest implemented interrupt ignored is done by writing & reading to GIC registers GICD_ISENABLER<n> & GICD_ICENABLER<n> that are not always implemented. This causes an error indication in GIC register GICT_ERR0_STATUS. To prevent this, Check in GIC register GICD_TYPER how many SPI blocks are implemented and access only implemented registers.
Signed-off-by: Izhar Nevo <inevo@amazon.com> Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 50dd2af0 | 08-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: dt_driver: add helper for old fashion interrupt bindings
Adds a helper function dt_driver_device_from_node_idx_prop_phandle() in device tree driver probing framework for when a DT node propert
core: dt_driver: add helper for old fashion interrupt bindings
Adds a helper function dt_driver_device_from_node_idx_prop_phandle() in device tree driver probing framework for when a DT node property contains a resource references but not the related device phandle as first property cell, as for property "interrupts" which should get the interrupt controller phandle from property "interrupt-parent". This change aims at supporting "interrupts" property DT bindings.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ed33eb2e | 05-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: dt_driver: define interrupt controller drivers identifier
Defines identifier DT_DRIVER_INTERRUPT in dt_driver_type enumerated type for interrupt controller drivers.
Acked-by: Jens Wiklander <
core: dt_driver: define interrupt controller drivers identifier
Defines identifier DT_DRIVER_INTERRUPT in dt_driver_type enumerated type for interrupt controller drivers.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| be53ee7b | 06-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: fix default setting GPIO as non-secure
Fixes STM32MP13 sequence that default configures GPIO as non-secure from set_all_gpios_non_secure() registered at early_init_late initcall level
plat-stm32mp1: fix default setting GPIO as non-secure
Fixes STM32MP13 sequence that default configures GPIO as non-secure from set_all_gpios_non_secure() registered at early_init_late initcall level, that is at same level driver are initially probed by dt_driver framework. This result on set_all_gpios_non_secure() possibly needing a bank resource before it is probed. Fix that by removing initcall function set_all_gpios_non_secure() and default configuring GPIO pins for STM32MP13 variant on their GPIO bank registering.
Fixes: 077d486ef09d ("drivers: stm32_gpio: add helper function stm32_gpio_get_bank()") Acked-by: Lionel Debieve <lionel.debieve@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 2fd102eb | 06-Jun-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_gpio: panic on clock enable error
Changes stm32_gpio.c to panic on bank clock gating error.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carrier
drivers: stm32_gpio: panic on clock enable error
Changes stm32_gpio.c to panic on bank clock gating error.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 1001585e | 26-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_gpio: remove GPIO access specific API functions
Removes stm32_gpio API functions to access GPIOs as the driver has moved to the generic GPIO framework and consumer driver should use t
drivers: stm32_gpio: remove GPIO access specific API functions
Removes stm32_gpio API functions to access GPIOs as the driver has moved to the generic GPIO framework and consumer driver should use the generic API to access GPIOs. The driver now expects CFG_DRIVERS_GPIO is enabled.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| ca1a94a1 | 30-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: enable CFG_DRIVERS_GPIO
Enables CFG_DRIVERS_GPIO for platform stm32mp1.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@
plat-stm32mp1: enable CFG_DRIVERS_GPIO
Enables CFG_DRIVERS_GPIO for platform stm32mp1.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 420a32c5 | 26-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_gpio: support CFG_DRIVERS_GPIO
Changes stm32_gpio driver to register GPIO provider resources for each GPIO bank registered when CFG_DRIVERS_GPIO is enabled.
Acked-by: Gatien Chevalli
drivers: stm32_gpio: support CFG_DRIVERS_GPIO
Changes stm32_gpio driver to register GPIO provider resources for each GPIO bank registered when CFG_DRIVERS_GPIO is enabled.
Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| a009881d | 05-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: interrupt: add inline descriptions
Adds inline description comments in interrupt.h and fix an indentation.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carri
core: interrupt: add inline descriptions
Adds inline description comments in interrupt.h and fix an indentation.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 3475549b | 05-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: interrupt: rename internal itr_chip to itr_main_chip
Renames local variable itr_chip into itr_main_chip to emphasize it is the CPU main interrupt controller.
Reviewed-by: Jens Wiklander <jens
core: interrupt: rename internal itr_chip to itr_main_chip
Renames local variable itr_chip into itr_main_chip to emphasize it is the CPU main interrupt controller.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| e050e0a7 | 31-May-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: interrupt: interrupt_get_main_chip() returns main controller
Adds helper function interrupt_get_main_chip() to get the struct itr_chip reference of the CPU main interrupt controller (e.g. the
core: interrupt: interrupt_get_main_chip() returns main controller
Adds helper function interrupt_get_main_chip() to get the struct itr_chip reference of the CPU main interrupt controller (e.g. the GIC). This function helps adapting a generic interrupt controller framework to consider CPU main interrupt controller specific reference.
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 145953d5 | 25-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: remove unused gpio bank base address helper function
Removes stm32mp1 platform helper function stm32_get_gpio_bank_base().
Acked-by: Lionel Debieve <lionel.debieve@foss.st.com> Acked
plat-stm32mp1: remove unused gpio bank base address helper function
Removes stm32mp1 platform helper function stm32_get_gpio_bank_base().
Acked-by: Lionel Debieve <lionel.debieve@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 7c67e9ca | 25-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
plat-stm32mp1: remove unused gpio bank clock helper functions
Removes stm32mp1 platform helper functions stm32_get_gpio_bank_clock() and stm32_get_gpio_bank_clk().
Acked-by: Lionel Debieve <lionel.
plat-stm32mp1: remove unused gpio bank clock helper functions
Removes stm32mp1 platform helper functions stm32_get_gpio_bank_clock() and stm32_get_gpio_bank_clk().
Acked-by: Lionel Debieve <lionel.debieve@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| 98dfceda | 31-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_gpio: don't mask interrupt during clock gating
Swaps interrupt masking and clock gating instructions to move GPIO bank gating sequence outside of the time window when interrupt are ma
drivers: stm32_gpio: don't mask interrupt during clock gating
Swaps interrupt masking and clock gating instructions to move GPIO bank gating sequence outside of the time window when interrupt are masked when the GPIO spinlock is locked.
Acked-by: Lionel Debieve <lionel.debieve@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|
| bed4582f | 30-May-2023 |
Etienne Carriere <etienne.carriere@foss.st.com> |
drivers: stm32_gpio: use SHIFT_U32() where applicable
Replaces 32bit operand raw left shift with use of SHIFT_U32() macro.
Acked-by: Lionel Debieve <lionel.debieve@foss.st.com> Acked-by: Gatien Che
drivers: stm32_gpio: use SHIFT_U32() where applicable
Replaces 32bit operand raw left shift with use of SHIFT_U32() macro.
Acked-by: Lionel Debieve <lionel.debieve@foss.st.com> Acked-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
show more ...
|