| 9aec039e | 22-Feb-2022 |
Clément Léger <clement.leger@bootlin.com> |
drivers: pinctrl: add pinctrl support
Add support for pinctrl support using device-tree. The device-tree "pinctrl-<x>" and "pinctrl-names" properties are supported and allows to apply a pinctrl conf
drivers: pinctrl: add pinctrl support
Add support for pinctrl support using device-tree. The device-tree "pinctrl-<x>" and "pinctrl-names" properties are supported and allows to apply a pinctrl configuration based on this. This support also includes a way to register pin muxing controllers that can apply these states. A few properties of the pinctrl nodes are supported such as "bias-disable", "bias-pull-up" and "bias-pull-down".
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@linaro.org>
show more ...
|
| b5aff6de | 02-Mar-2023 |
Clément Léger <clement.leger@bootlin.com> |
core: dt_driver: add support for DT_DRIVER_PINCTRL
In order to handle pinctrl the same way that other driver are handled by DT driver support, modify node parsing to refer to the parent node in case
core: dt_driver: add support for DT_DRIVER_PINCTRL
In order to handle pinctrl the same way that other driver are handled by DT driver support, modify node parsing to refer to the parent node in case we are handling a pinctrl request.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
show more ...
|
| d679f4dd | 10-May-2023 |
Thomas Perrot <thomas.perrot@bootlin.com> |
core: dt_driver: fix a typo
Replace "controlle" with "controller".
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> |
| 4fc179b6 | 11-May-2023 |
Thomas Perrot <thomas.perrot@bootlin.com> |
drivers: gpio: add device-tree based gpio controller framework
Build a small gpio framework based on the device-tree infrastructure and on top of the existing gpio.h content. This framework allows t
drivers: gpio: add device-tree based gpio controller framework
Build a small gpio framework based on the device-tree infrastructure and on top of the existing gpio.h content. This framework allows to register gpio controllers and to retrieve gpio struct based on a "<name>-gpios" properties.
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@linaro.org>
show more ...
|
| 6dcd18c8 | 05-Jan-2023 |
Clément Léger <clement.leger@bootlin.com> |
drivers: move gpio.h include to drivers/
GPIOs are typically handled by drivers and this will be modified to add device-tree support.
Also rename "ena_dis" with "enable_disable" because more explic
drivers: move gpio.h include to drivers/
GPIOs are typically handled by drivers and this will be modified to add device-tree support.
Also rename "ena_dis" with "enable_disable" because more explicit.
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@linaro.org>
show more ...
|
| 1e91da09 | 08-Jun-2021 |
Clément Léger <clement.leger@bootlin.com> |
dt-bindings: at91: add SCMI identifiers for clocks
Add defines for clocks that are available via SCMI for this platform.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Acked-by: Jerome Fo
dt-bindings: at91: add SCMI identifiers for clocks
Add defines for clocks that are available via SCMI for this platform.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
show more ...
|
| e80130f6 | 18-Jun-2021 |
Clément Léger <clement.leger@bootlin.com> |
drivers: scmi-msg: add support for clock using generic clock framework
Integrating the clock framework with SCMI allows to avoid boilerplate code to do so in platform specific files. This patch adds
drivers: scmi-msg: add support for clock using generic clock framework
Integrating the clock framework with SCMI allows to avoid boilerplate code to do so in platform specific files. This patch adds a generic layer that uses the generic clock framework to access and expose clocks. SCMI clocks can be added from platform code using scmi_clk_add(). A new CFG_SCMI_MSG_USE_CLK configuration option is added to enable this generic clock support.
Signed-off-by: Clément Léger <clement.leger@bootlin.com> Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 69e63e33 | 15-May-2023 |
Alvin Chang <alvinga@andestech.com> |
Add missing conditional compilation for RISC-V
RV64 also uses kern_sp. The elf.h is also used by RV32 and RV64.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jerome Forissier <jerome
Add missing conditional compilation for RISC-V
RV64 also uses kern_sp. The elf.h is also used by RV32 and RV64.
Signed-off-by: Alvin Chang <alvinga@andestech.com> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| e1602654 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: ffa: parse boot info
With CFG_CORE_SEL2_SPMC=y OP-TEE is executed as an SP at S-EL1. The manifest describing the OP-TEE SP is passed as a boot argument.
The manifest contains among other thin
core: ffa: parse boot info
With CFG_CORE_SEL2_SPMC=y OP-TEE is executed as an SP at S-EL1. The manifest describing the OP-TEE SP is passed as a boot argument.
The manifest contains among other things the two properties "load-address" and "mem-size". These cover the secure memory allocated for OP-TEE to cover core and TA memory. The retrieved memory range is saved with a call to core_mmu_set_secure_memory() to be used when initializing MMU and other memory configuration.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 75d90854 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add core_mmu_set_secure_memory()
Adds core_mmu_set_secure_memory() for use with CFG_CORE_PHYS_RELOCATABLE where the secure physical memory range is determined at boot.
Reviewed-by: Etienne Ca
core: add core_mmu_set_secure_memory()
Adds core_mmu_set_secure_memory() for use with CFG_CORE_PHYS_RELOCATABLE where the secure physical memory range is determined at boot.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 4e45454a | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add dt_getprop_as_number()
Adds dt_getprop_as_number() to read a property and parse it as a number returned as a uint64_t. The size of the property determines if it's read as an unsigned 32-bi
core: add dt_getprop_as_number()
Adds dt_getprop_as_number() to read a property and parse it as a number returned as a uint64_t. The size of the property determines if it's read as an unsigned 32-bit or 64-bit integer.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 46417fc3 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add core_mmu_get_ta_range()
Adds core_mmu_get_ta_range() to return the range of physical memory reserved for TAs.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Je
core: add core_mmu_get_ta_range()
Adds core_mmu_get_ta_range() to return the range of physical memory reserved for TAs.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 0b751ce4 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add core_mmu_tee_load_pa address
Adds core_mmu_tee_load_pa for a dynamic record of where OP-TEE is loaded into memory.
With CFG_CORE_PHYS_RELOCATABLE=y core_mmu_tee_base_pa may need to be upd
core: add core_mmu_tee_load_pa address
Adds core_mmu_tee_load_pa for a dynamic record of where OP-TEE is loaded into memory.
With CFG_CORE_PHYS_RELOCATABLE=y core_mmu_tee_base_pa may need to be updated during early boot since the physical address to use isn't determined until then.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 946f37ee | 04-Apr-2022 |
Etienne Carriere <etienne.carriere@linaro.org> |
driver: tpm2: remove TPM2 driver
Remove TPM2 driver from OP-TEE core. OP-TEE will instead rely on a remote REE TPM2 driver allowing REE OS to embed TPM2 software stack and leverage TPM2 features.
A
driver: tpm2: remove TPM2 driver
Remove TPM2 driver from OP-TEE core. OP-TEE will instead rely on a remote REE TPM2 driver allowing REE OS to embed TPM2 software stack and leverage TPM2 features.
Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| c11218eb | 28-Apr-2023 |
Clement Faure <clement.faure@nxp.com> |
pta: stats: fix compilation incompatible pointer warning
To reproduce the issue: $ make PLATFORM=imx-mx8mmevk CFG_WITH_STATS=y CFG_TA_STATS=y
core/pta/stats.c: In function ‘get_user_ta_stats’: core
pta: stats: fix compilation incompatible pointer warning
To reproduce the issue: $ make PLATFORM=imx-mx8mmevk CFG_WITH_STATS=y CFG_TA_STATS=y
core/pta/stats.c: In function ‘get_user_ta_stats’: core/pta/stats.c:169:37: warning: passing argument 2 of ‘tee_ta_instance_stats’ from incompatible pointer type [-Wincompatible-pointer-types] 169 | &p[0].memref.size); | ^~~~~~~~~~~~~~~~~ | | | size_t * {aka long unsigned int *} In file included from core/include/kernel/pseudo_ta.h:10, from core/pta/stats.c:8: core/include/kernel/tee_ta_manager.h:171:56: note: expected ‘uint32_t *’ {aka ‘unsigned int *’} but argument is of type ‘size_t *’ {aka ‘long unsigned int *’} 171 | TEE_Result tee_ta_instance_stats(void *buff, uint32_t *buff_size); | ~~~~~~~~~~^~~~~~~~~ core/pta/stats.c: At top level: cc1: note: unrecognized command-line option ‘-Wno-c2x-extensions’ may have been intended to silence earlier diagnostics
Fixes: 7509620b8b95 ("GP131: Update TEE_Param") Signed-off-by: Clement Faure <clement.faure@nxp.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 426790bd | 13-Feb-2023 |
Jeffrey Kardatzke <jkardatzke@google.com> |
drivers: add cbmem console driver
This adds a CBMEM console driver which gets the cbmem address from a device tree with the coreboot table information.
Signed-off-by: Jeffrey Kardatzke <jkardatzke@
drivers: add cbmem console driver
This adds a CBMEM console driver which gets the cbmem address from a device tree with the coreboot table information.
Signed-off-by: Jeffrey Kardatzke <jkardatzke@google.com> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
show more ...
|
| 9e3c57c8 | 28-Feb-2023 |
Etienne Carriere <etienne.carriere@linaro.org> |
core: dt_driver: move related content from dt.h to dt_driver.h
Moves so-called dt_driver related declarations and definitions from dt.h to dt_drivers.h. Incidentally adds an inline description to en
core: dt_driver: move related content from dt.h to dt_driver.h
Moves so-called dt_driver related declarations and definitions from dt.h to dt_drivers.h. Incidentally adds an inline description to enum dt_driver_type. This change clarifies when a source file shall include dt.h and/or dt_driver.h.
This change updates driver source files to include none, one or both of these header files where applicable.
Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Jens Wiklander <jens.wiklander@linaro.org> Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 86ce921f | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: add core_mmu_get_secure_memory()
Adds core_mmu_get_secure_memory() with the primary purpose of being used to find out the memory range to pass to memtag_set_tags().
Signed-off-by: Jens Wiklan
core: add core_mmu_get_secure_memory()
Adds core_mmu_get_secure_memory() with the primary purpose of being used to find out the memory range to pass to memtag_set_tags().
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| 439d2a89 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: pass secure memory parameter to virt_init_memory()
Pass the physical secure memory range as a parameter from secure_only[]. This avoids using hard coded defines in virt_init_memory().
CFG_NS_
core: pass secure memory parameter to virt_init_memory()
Pass the physical secure memory range as a parameter from secure_only[]. This avoids using hard coded defines in virt_init_memory().
CFG_NS_VIRTUALIZATION=y depends on secure_only[] to have all memory as consecutive memory ranges, but that's unchanged behaviour from before since it was expected that the entire range from TEE_RAM_START to TA_RAM_START + TA_RAM_SIZE is usable memory.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|
| ee34e7ea | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: remove TEE_RAM_VA_START and TEE_TEXT_VA_START
TEE_RAM_VA_START and TEE_TEXT_VA_START are defined to exactly the same thing as TEE_RAM_START and TEE_LOAD_ADDR respectively. They don't deal with
core: remove TEE_RAM_VA_START and TEE_TEXT_VA_START
TEE_RAM_VA_START and TEE_TEXT_VA_START are defined to exactly the same thing as TEE_RAM_START and TEE_LOAD_ADDR respectively. They don't deal with virtual addresses as the names suggests, they too represent physical addresses. So remove TEE_RAM_VA_START and TEE_TEXT_VA_START to get rid of some redundancy.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Acked-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| c24c1950 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: linker.h: remove *_SZ_UNSAFE defines
Removes the now unused *_SZ_UNSAFE defines.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.
core: linker.h: remove *_SZ_UNSAFE defines
Removes the now unused *_SZ_UNSAFE defines.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| a45f7eea | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: improve register_phys_mem_pgdir() debug print
Improves the debug prints emitted by register_phys_mem_pgdir() to use the define of the base address instead. For example: ROUNDDOWN(0x09040000, C
core: improve register_phys_mem_pgdir() debug print
Improves the debug prints emitted by register_phys_mem_pgdir() to use the define of the base address instead. For example: ROUNDDOWN(0x09040000, CORE_MMU_PGDIR_SIZE) type IO_SEC 0x09000000 size 0x00200000 becomes: CONSOLE_UART_BASE type IO_SEC 0x09000000 size 0x00200000
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| ff843c89 | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: linker.h: fix ASAN_MAP_PA and ASAN_SHADOW_PA
Fixes ASAN_MAP_PA and ASAN_SHADOW_PA to cast via vaddr_t to paddr_t to avoid compile errors when paddr_t is larger than a pointer, that is, with CF
core: linker.h: fix ASAN_MAP_PA and ASAN_SHADOW_PA
Fixes ASAN_MAP_PA and ASAN_SHADOW_PA to cast via vaddr_t to paddr_t to avoid compile errors when paddr_t is larger than a pointer, that is, with CFG_CORE_LARGE_PHYS_ADDR on 32-bit platforms.
core/include/kernel/linker.h:113:26: error: cast from pointer to integer of diff erent size [-Werror=pointer-to-int-cast] 113 | #define ASAN_MAP_PA ((paddr_t)__asan_map_start) | ^
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 0f2735cd | 11-Apr-2023 |
Jens Wiklander <jens.wiklander@linaro.org> |
core: linker.h: fix VCORE_NEX_RW_SZ
Fixes the VCORE_NEX_RW_SZ define by adding a missing pair of ( ).
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.c
core: linker.h: fix VCORE_NEX_RW_SZ
Fixes the VCORE_NEX_RW_SZ define by adding a missing pair of ( ).
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org> Acked-by: Etienne Carriere <etienne.carriere@linaro.org> Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
show more ...
|
| 3734abd2 | 22-Mar-2023 |
Gatien Chevallier <gatien.chevallier@foss.st.com> |
core: dt: remove fdt_check_node()
The function is never implemented, remove the ghost prototype.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etie
core: dt: remove fdt_check_node()
The function is never implemented, remove the ghost prototype.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com> Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
show more ...
|