| 8cef63d6 | 07-Jan-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(gicv5): add support for building with gicv5
The Generic Interrupt Controller v5 (GICv5) is the next generation of Arm interrupt controllers. It is a clean slate design and has native support fo
feat(gicv5): add support for building with gicv5
The Generic Interrupt Controller v5 (GICv5) is the next generation of Arm interrupt controllers. It is a clean slate design and has native support for the latest Armv9 features. As such it is entirely backwards incompatible with GICv3/v4.
This patch adds the necessary boilerplate to select a build with GICv5. The GIC has always had two parts. BL31 deals directly with the CPU interface while platform code is responsible for managing the IRI. In v5 this split is formalised and the CPU interface, FEAT_GCIE, may be implemented on its own. So reflect this split in our code with ENABLE_FEAT_GCIE which only affects BL31 and the GICv5 IRI lies in the generic GIC driver.
No actual functionality yet.
Change-Id: I97a0c3ba708877c213e50e7ef148e3412aa2af90 Co-developed-by: Achin Gupta <achin.gupta@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| 4f6c787e | 09-Jun-2025 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes I6422cd05,Idd01179d,I5c557616,I343a46d6,Id48671ae, ... into integration
* changes: feat(st-clock): add STM32MP21 and STM32MP23 RCC variants feat(stm32mp21): add RCC registers file
Merge changes I6422cd05,Idd01179d,I5c557616,I343a46d6,Id48671ae, ... into integration
* changes: feat(st-clock): add STM32MP21 and STM32MP23 RCC variants feat(stm32mp21): add RCC registers file feat(stm32mp21): add clock and reset bindings refactor(stm32mp2): update display of reset reason feat(stm32mp25): add RCC register to display all IWDG flags feat(stm32mp21): add PWR registers file feat(st): introduce SoC family compilation switch docs(changelog): add subsections for STM32MP2 docs(stm32mp2): introduce new STM32MP23 family docs(stm32mp2): introduce new STM32MP21 family
show more ...
|
| 58cf812a | 28-Apr-2023 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(stm32mp21): add RCC registers file
Add stm32mp21_rcc.h file which describes RCC peripheral registers for STM32MP21.
Change-Id: Idd01179da3925aa4d7b4f934ebd3d95fc0780f6d Signed-off-by: Yann Gau
feat(stm32mp21): add RCC registers file
Add stm32mp21_rcc.h file which describes RCC peripheral registers for STM32MP21.
Change-Id: Idd01179da3925aa4d7b4f934ebd3d95fc0780f6d Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@foss.st.com> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
show more ...
|
| e957c337 | 07-May-2025 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
feat(stm32mp25): add RCC register to display all IWDG flags
Add a new define RCC_C1BOOTRSTSCLRR_IWDGXSYSRSTF to check all IWDG flags.
Change-Id: Id48671ae935e3100d4c42bc341d770f702d661de Signed-off
feat(stm32mp25): add RCC register to display all IWDG flags
Add a new define RCC_C1BOOTRSTSCLRR_IWDGXSYSRSTF to check all IWDG flags.
Change-Id: Id48671ae935e3100d4c42bc341d770f702d661de Signed-off-by: Gabriel Fernandez <gabriel.fernandez@foss.st.com>
show more ...
|
| 2ec3cec5 | 24-Jan-2024 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
feat(stm32mp21): add PWR registers file
Use the new file stm32mp21_pwr.h for STM32MP21 PWR peripheral registers definition. Update platform code for backup domain write protection disabling.
Change
feat(stm32mp21): add PWR registers file
Use the new file stm32mp21_pwr.h for STM32MP21 PWR peripheral registers definition. Update platform code for backup domain write protection disabling.
Change-Id: Iedfa764529bcd5119be8e94da7f7b84699e86086 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com>
show more ...
|
| 701178dc | 01-Aug-2024 |
Maxime Méré <maxime.mere@foss.st.com> |
feat(st): introduce SoC family compilation switch
add STM32MP1X and STM3MP2X compilation switch to replace #if STM32MP21 || STM32MP23 || STM32MP25 for MP2 SoCs and #if STM32MP13 || STM32MP15 for MP1
feat(st): introduce SoC family compilation switch
add STM32MP1X and STM3MP2X compilation switch to replace #if STM32MP21 || STM32MP23 || STM32MP25 for MP2 SoCs and #if STM32MP13 || STM32MP15 for MP1 SoCs.
This will avoid to forget to modify all these files when a new SoC is introduced.
Change-Id: Ib984b22a19e08af5bc1b62fe2032f10240ec9122 Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
show more ...
|
| cacde83b | 29-Mar-2025 |
Vincent Jardin <vjardin@free.fr> |
fix(nxp): driver crypto caam
Fix based on code review. Then, it was checked with NXP Flexbuild and their fix has been imported.
Change-Id: Icae1fb08b07bca5d4f6771e92b48d9e2071da0ee Signed-off-by: V
fix(nxp): driver crypto caam
Fix based on code review. Then, it was checked with NXP Flexbuild and their fix has been imported.
Change-Id: Icae1fb08b07bca5d4f6771e92b48d9e2071da0ee Signed-off-by: Vincent Jardin <vjardin@free.fr>
show more ...
|
| 6fede181 | 13-Mar-2024 |
Patrick Delaunay <patrick.delaunay@foss.st.com> |
fix(st-bsec): rename OTPSR field
Update the bit name in BSEC_OTPSR, align with the last ref manual.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Change-Id: I3b270406749f2f80d0d224
fix(st-bsec): rename OTPSR field
Update the bit name in BSEC_OTPSR, align with the last ref manual.
Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Change-Id: I3b270406749f2f80d0d2242bdf368d98d419d798
show more ...
|
| fd5e5e7b | 26-Feb-2025 |
Nicolas Le Bayon <nicolas.le.bayon@foss.st.com> |
fix(st-ddr): remove TODO in STM32MP2 driver
Remove useless ddr_get_io_calibration_val service. Other items are deleted as they're useless on STM32MP2 series.
Signed-off-by: Nicolas Le Bayon <nicola
fix(st-ddr): remove TODO in STM32MP2 driver
Remove useless ddr_get_io_calibration_val service. Other items are deleted as they're useless on STM32MP2 series.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@foss.st.com> Change-Id: I30bb18f156ff6dc06147987654363472a1e0182d
show more ...
|
| 2e9198d0 | 29-Jan-2025 |
Peter Robinson <pbrobinson@gmail.com> |
fix(nxp): imx_trdc.h header guard
The header guard define is IMX_XRDC_H where everything else is IMX_TRDC_H, gcc-15 complains about this so update the define to what it should be.
Fixes: 293529100
fix(nxp): imx_trdc.h header guard
The header guard define is IMX_XRDC_H where everything else is IMX_TRDC_H, gcc-15 complains about this so update the define to what it should be.
Fixes: 293529100 ("feat(imx93): add the trdc driver") Change-Id: I4767dc4d1c26ebe95d417be724f5cb848f54a524 Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
show more ...
|
| f1318bff | 06-May-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "psa_key_id_mgmt" into integration
* changes: feat(auth): extend REGISTER_CRYPTO_LIB calls feat(bl): adding psa crypto - crypto_mod_finish() feat(fvp): increase BL1 RW
Merge changes from topic "psa_key_id_mgmt" into integration
* changes: feat(auth): extend REGISTER_CRYPTO_LIB calls feat(bl): adding psa crypto - crypto_mod_finish() feat(fvp): increase BL1 RW for PSA Crypto feat(auth): mbedtls psa key id mgmt feat(auth): add crypto_mod_finish() function feat(auth): add update of current_pk_oid in auth feat(auth): add util file for current pk_oid feat(auth): increase mbedtls heap for PSA RSA feat(auth): introducing auth.mk
show more ...
|
| 8a7505b0 | 28-Apr-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
feat(auth): mbedtls psa key id mgmt
Currently the psa key is created and destroyed after each usage during signature verification.
This redesign adds a key_cache to store the key ID, psa algorithm,
feat(auth): mbedtls psa key id mgmt
Currently the psa key is created and destroyed after each usage during signature verification.
This redesign adds a key_cache to store the key ID, psa algorithm, and key attributes associated with a particular pk_oid. This allows for the psa key to be reused by each image that has the associated pk_oid.
The pk_oid of the image being authenticated is stored as the global current_pk_oid variable, which is used during the psa crypto verification stage to associate a key_cache entry with a particular pk_oid.
Since the psa key is no longer destroyed after each usage, the psa keys are therefore destroyed after all images have been loaded during each boot phase in the new crypto_mod_finish() function that is registered by the REGISTER_CRYPTO_LIB and enabled through the build option of PSA_CRYTPO.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: Iba330bc659a76493bd958673424efcc621bab1c4
show more ...
|
| 0331bd22 | 28-Apr-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
feat(auth): add crypto_mod_finish() function
Adding crypto_mod_finish() function to be run at the end of crypto usage to cleanup.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Chan
feat(auth): add crypto_mod_finish() function
Adding crypto_mod_finish() function to be run at the end of crypto usage to cleanup.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: Ib6d099ddaa278f293fe14b805070985522a85686
show more ...
|
| 17168053 | 01-May-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
feat(auth): add util file for current pk_oid
Adding new auth util file for the current_pk_oid and get and set functions.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I9
feat(auth): add util file for current pk_oid
Adding new auth util file for the current_pk_oid and get and set functions.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I91220f94d469c86f2e18570e13f1419125447288
show more ...
|
| 2ffc28c8 | 28-Apr-2025 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
feat(auth): increase mbedtls heap for PSA RSA
Increase default mbedtls PSA crypto heap size for key id management redesign where the key information is stored for reuse during verification and needs
feat(auth): increase mbedtls heap for PSA RSA
Increase default mbedtls PSA crypto heap size for key id management redesign where the key information is stored for reuse during verification and needs more heap size for RSA keys.
Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com> Change-Id: I3afe0107a8e22ededd3eb4c0e1f635f18960d341
show more ...
|
| 4301798d | 05-May-2025 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "refactor_eip76_driver" into integration
* changes: feat(marvell): add trng driver revert(rambus-trng): remove ip-76 driver |
| 6d5fad8d | 23-Apr-2025 |
Wilson Ding <dingwei@marvell.com> |
feat(marvell): add trng driver
Armada-7K/8K and CN913x integrated the Rambus EIP-97 IP on CP11x die. It supports to generate up to 4 32-bit random number in one shot.
This trivial driver provisions
feat(marvell): add trng driver
Armada-7K/8K and CN913x integrated the Rambus EIP-97 IP on CP11x die. It supports to generate up to 4 32-bit random number in one shot.
This trivial driver provisions a simple API to read the random numbers from hardware. It allows the bootloader to get one 32-bit or 64-bit random number via SMC call to support KASLR.
Change-Id: I1707a85512ca163b8c7ab1644ff0f7e2fcf57344 Signed-off-by: Wilson Ding <dingwei@marvell.com>
show more ...
|
| 66fb7ee4 | 28-Apr-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "hm/handoff-mb" into integration
* changes: feat(arm): support boot info handoff and event log fix(arm): update tsp_early_platform_setup prototype fix(xilinx): update
Merge changes from topic "hm/handoff-mb" into integration
* changes: feat(arm): support boot info handoff and event log fix(arm): update tsp_early_platform_setup prototype fix(xilinx): update tsp_early_platform_setup prototype fix(socionext): update tsp_early_platform_setup prototype fix(msm8916): update tsp_early_platform_setup prototype feat(tsp): cascade boot arguments to platforms feat(fvp): port event log to firmware handoff feat(arm): port event log to firmware handoff feat(fvp): increase bl2 mmap len for handoff feat(measured-boot): add fw handoff event log utils
show more ...
|
| 29c22e52 | 25-Apr-2025 |
Govindraj Raja <govindraj.raja@arm.com> |
Merge changes from topic "mmc_defines_fixes" into integration
* changes: fix(mmc): fix the length of the response type fix(mmc): fix the length of the ocr defines |
| ca391636 | 13-Dec-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(measured-boot): add fw handoff event log utils
Add utilities for handling an event log from a transfer list. These handle initialisation, and extension of an existing event log.
Change-Id: I42
feat(measured-boot): add fw handoff event log utils
Add utilities for handling an event log from a transfer list. These handle initialisation, and extension of an existing event log.
Change-Id: I42d8b65a7fa82fa866d8ac258d9eeb58af730a96 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 8fd026ab | 23-Apr-2025 |
Wilson Ding <dingwei@marvell.com> |
revert(rambus-trng): remove ip-76 driver
The Rambus TRNG IP-76 driver was ported from Linux kernel (omap-rng.c), which was initially licensed under GPL-2.0. In term of the license violation, remove
revert(rambus-trng): remove ip-76 driver
The Rambus TRNG IP-76 driver was ported from Linux kernel (omap-rng.c), which was initially licensed under GPL-2.0. In term of the license violation, remove this driver and the related SMC call that originally added by the following two commits:
commit 57660d9d7945 ("plat/marvell/armada/a8k: support HW RNG by SMC") commit 6aa9f5d164e8 ("drivers/rambus: add TRNG-IP-76 driver")
Change-Id: Id8c99db2e51b49623b3b034106c989a46f690b60 Signed-off-by: Wilson Ding <dingwei@marvell.com>
show more ...
|
| 139a5d05 | 18-Apr-2025 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes I86959e67,I0b0d1d36,I5b5267f4,I056c8710,I3474aa97 into integration
* changes: chore: fix preprocessor checks refactor: convert arm platforms to use the generic GIC driver refacto
Merge changes I86959e67,I0b0d1d36,I5b5267f4,I056c8710,I3474aa97 into integration
* changes: chore: fix preprocessor checks refactor: convert arm platforms to use the generic GIC driver refactor(gic): promote most of the GIC driver to common code refactor: make arm_gicv2.c and arm_gicv3.c common refactor(fvp): use more arm generic code for gicv3
show more ...
|
| 5d893410 | 07-Jan-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(gic): promote most of the GIC driver to common code
More often than not, Arm based systems include some revision of a GIC. There are two ways of adding support for them in platform code - c
refactor(gic): promote most of the GIC driver to common code
More often than not, Arm based systems include some revision of a GIC. There are two ways of adding support for them in platform code - calling the top-level helpers from plat/arm/common/arm_gicvX.c or by using the driver directly. Both of these methods allow for a high degree of customisation - most functions are defined to be weak and there are no calls to any of them in generic code.
As it turns out, requirements around those GICs are largely the same. Platforms that use arm_gicvX.c use the helpers identically among each other. Platforms that use the driver directly tend to end up with calls that look a lot like the arm_gicvX.c helpers and the weakness of the functions are never exercised.
All of this results in a lot of code duplication to do what is essentially the same thing. Even though it's not a lot of code, when multiplied among many platforms it becomes significant and makes refactoring it quite difficult. It's also bug prone since the steps are a little convoluted and things are likely to work even with subtle errors (see 50009f61177421118f42d6a000611ba0e613d54b).
So promote as much of the GIC to be called from common code. Do the setup in bl31_main() and have every PSCI method do the state management directly instead of delegating it to the platform hooks. We can base this implementation on arm_gicvX.c since they already offer logical names and have worked quite well so far with minimal changes.
The main benefit of doing this is reduced code duplication. If we assume that, outside of some platform setup, GIC management is identical, then a platform can add support by telling the build system, regardless of GIC revision. The other benefit is performance - BL31 and PSCI already know the core_pos and they can pass it as an argument instead of having to call plat_my_core_pos(). Now, the only platform specific GIC actions necessary are the saving and restoring of context on entering and exiting a power domain. The PSCI library does not keep track of this so it is unable perform it itself. The routines themselves are also provided.
For compatibility all of this is hidden behind a build flag. Platforms are encouraged to adopt this driver, but it would not be practical to convert and validate every GIC based platform.
This patch renames the functions in question to follow the gic_<function>() convention. This allows the names to be version agnostic.
Finally, drop the weak definitions - they are unused, likely to remain so, and can be added back if the need arises.
Change-Id: I5b5267f4b72f633fb1096400ec8e4b208694135f Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| ae8598f5 | 08-Mar-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(measured-boot): refine event log lib docs
Add comments for all exported functions and move these descriptions to the header file. Moving the descriptions to the header file allows the docum
refactor(measured-boot): refine event log lib docs
Add comments for all exported functions and move these descriptions to the header file. Moving the descriptions to the header file allows the documentation to be easily accessible to any code that includes the header file, without having to look through the source file where the function implementation is located.
Change-Id: I78ad777cb3de1707f9e9df59c721cd6370317c05 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| cb03020e | 27-Feb-2025 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(measured-boot): make event log lib standalone
Remove dependencies on TF-A so the library can be conveniently exported by other projets. The main changes are to remove explicit error handling, a
feat(measured-boot): make event log lib standalone
Remove dependencies on TF-A so the library can be conveniently exported by other projets. The main changes are to remove explicit error handling, and ensure that functions instead return errno codes that consumers can rely on instead. Some work has also been done to make the function naming a little more consistent.
Change-Id: Ic182dfe7dd6f56a4b73e0da4c9051813938cfe44 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|