| aaaf2cc3 | 13-Mar-2024 |
Sona Mathew <sonarebecca.mathew@arm.com> |
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all th
refactor(cpufeat): add macro to simplify is_feat_xx_present
In this patch, we are trying to introduce the wrapper macro CREATE_FEATURE_PRESENT to get the following capability and align it for all the features:
-> is_feat_xx_present(): Does Hardware implement the feature. -> uniformity in naming the function across multiple features. -> improved readability
The is_feat_xx_present() is implemented to check if the hardware implements the feature and does not take into account the ENABLE_FEAT_XXX flag enabled/disabled in software.
- CREATE_FEATURE_PRESENT(name, idreg, shift, mask, idval) The wrapper macro reduces the function to a single line and creates the is_feat_xx_present function that checks the id register based on the shift and mask values and compares this against a determined idvalue.
Change-Id: I7b91d2c9c6fbe55f94c693aa1b2c50be54fb9ecc Signed-off-by: Sona Mathew <sonarebecca.mathew@arm.com>
show more ...
|
| 48f1bc9f | 02-May-2024 |
Joanna Farley <joanna.farley@arm.com> |
Merge "feat(zynqmp): remove unused pm_get_proc_by_node()" into integration |
| b109b006 | 02-May-2024 |
Joanna Farley <joanna.farley@arm.com> |
Merge "fix(xilinx): check proc variable before use" into integration |
| b03ba480 | 16-Apr-2024 |
Ronak Jain <ronak.jain@amd.com> |
feat(zynqmp): remove unused pm_get_proc_by_node()
The pm_get_proc_by_node() is not used anywhere. Hence remove the same.
Change-Id: Ifd68dd524cae0a9f1684d943019563027859ccea Signed-off-by: Ronak Ja
feat(zynqmp): remove unused pm_get_proc_by_node()
The pm_get_proc_by_node() is not used anywhere. Hence remove the same.
Change-Id: Ifd68dd524cae0a9f1684d943019563027859ccea Signed-off-by: Ronak Jain <ronak.jain@amd.com>
show more ...
|
| 5993af45 | 11-Apr-2024 |
Marek Behún <marek.behun@nic.cz> |
fix(plat/marvell/a3k): reset GIC before resetting via CM3 secure coprocessor
Add code that acknowledges all SoC interrupts and resets the Generic Interrupt Controller before resetting the SoC via th
fix(plat/marvell/a3k): reset GIC before resetting via CM3 secure coprocessor
Add code that acknowledges all SoC interrupts and resets the Generic Interrupt Controller before resetting the SoC via the Cortex-M3 secure coprocessor.
Recall that Turris MOX has a HW bug wherein a SoC reset initiated by writing the magic value to the North Bridge Warm Reset register may randomly freeze the board.
Back in 2021 we introduced the CM3_SYSTEM_RESET build option for the Armada 3700 platform, which, when enabled, adds code to the PSCI reset handler so that the SoC reset is done by requesting the firmware in the Cortex-M3 secure coprocessor to do it, instead of writing the Warm Reset register.
The secure coprocessor firmware tried various things to put the board into a state where the SoC reset circuit would work correctly. This managed to fix the issue for some boards, but not for all of them.
Another considered method to overcome this issue was to reset all the SoC peripheral controllers one by one by writing to specific registers, instead of triggering the SoC reset circuit via the Warm Reset register. This method was not used because until now, there was one peripheral that I could not find a way how to reset properly: the Generic Interrupt Controller (GIC).
After 3 years I have finally found a way how to reset the GIC, and it needs to be done by the main processor, before the secure coprocessor resets the main processor.
Change-Id: Icc23251ef97738b6b48af514d5118440ec21cdd7 Signed-off-by: Marek Behún <marek.behun@nic.cz>
show more ...
|
| 753c49d5 | 01-May-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "feat(mt8188): remove apusys kernel handler usage constraints" into integration |
| 0bd2075e | 24-Apr-2024 |
Govindraj Raja <govindraj.raja@arm.com> |
build(fvp): make all builds unconditional
commit@138221c2457b9d04101b84084c07d576b0eb5a51 reduced items that should be build due to SRAM size limitations.
But newer models from 11.19 onwards suppor
build(fvp): make all builds unconditional
commit@138221c2457b9d04101b84084c07d576b0eb5a51 reduced items that should be build due to SRAM size limitations.
But newer models from 11.19 onwards support to set SRAM size greater than 256KB. So remove all dependency and conditional builds for FVP.
Change-Id: I38684e100450b74fdda0d685775e2cbce92170b6 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| b3a9737c | 14-Apr-2024 |
Leo Yan <leo.yan@arm.com> |
refactor(tc): add platform specific DT files
Currently, the DT binding uses the file 'tc.dts' as a central place for all TC platforms. And the variables (for different platforms, or FVP vs FPGA, etc
refactor(tc): add platform specific DT files
Currently, the DT binding uses the file 'tc.dts' as a central place for all TC platforms. And the variables (for different platforms, or FVP vs FPGA, etc.) are maintained in 'tc_vers.dtsi'.
This patch renames 'tc.dts' to 'tc-base.dtsi' and creates an individual .dts file for every platform. The purpose is to use 'tc-base.dtsi' for maintaining common DT binding and every platform's specific definitions will be moved into its own .dts file. This is a preparation for sequential refactoring.
It changes to include the header files in platform DTS files but not in the 'tc-base.dtsi'. This can allow 'tc-base.dtsi' is general enough and platform DTS files covers platform specific defintions.
Change-Id: I034fb3f8836bcea36e8ad8ae01de41127693b0c6 Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 154eb0a2 | 29-Apr-2024 |
Leo Yan <leo.yan@arm.com> |
fix(tc): enable FEAT_MTE2
Commit c282384db ("refactor(mte): remove mte, mte_perm") removes the option FEAT_MTE and introduces FEAT_MTE2 option. Afterwards, the FEAT_MTE2 option is missed on the TC p
fix(tc): enable FEAT_MTE2
Commit c282384db ("refactor(mte): remove mte, mte_perm") removes the option FEAT_MTE and introduces FEAT_MTE2 option. Afterwards, the FEAT_MTE2 option is missed on the TC platform and the feature is disabled. As a result, it causes the panic in secure world.
This patch enables the FEAT_MTE2 option for TC platform to allow the secure world can access the MTE registers properly.
Change-Id: If697236aa59bf4fb374e0ff43b53455ac2154e9c Fixes: c282384db ("refactor(mte): remove mte, mte_perm") Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 784092ee | 11-Mar-2024 |
Chris Kay <chris.kay@arm.com> |
build(rzg): separate BL2 and BL31 SREC generation
This small change creates individual Make non-phony targets for the Bl2 and BL31 SREC binaries to avoid rebuilding them unnecessarily.
Change-Id: I
build(rzg): separate BL2 and BL31 SREC generation
This small change creates individual Make non-phony targets for the Bl2 and BL31 SREC binaries to avoid rebuilding them unnecessarily.
Change-Id: Ia8e5db0e4a968d4b379fdb66123b6a8f20933bf5 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 4d1289bd | 11-Mar-2024 |
Chris Kay <chris.kay@arm.com> |
build(rcar): separate BL2 and BL31 SREC generation
This small change creates individual Make non-phony targets for the Bl2 and BL31 SREC binaries to avoid rebuilding them unnecessarily.
Change-Id:
build(rcar): separate BL2 and BL31 SREC generation
This small change creates individual Make non-phony targets for the Bl2 and BL31 SREC binaries to avoid rebuilding them unnecessarily.
Change-Id: Ibb8880bb5c00a0956fc78d252fcc56391fbfe439 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 758ccb80 | 08-Mar-2024 |
Chris Kay <chris.kay@arm.com> |
build: remove `MAKE_BUILD_STRINGS` function
This function causes the build message to be generated and compiled in two different ways, with one way done inside `build_macros.mk` and the other done i
build: remove `MAKE_BUILD_STRINGS` function
This function causes the build message to be generated and compiled in two different ways, with one way done inside `build_macros.mk` and the other done inside `windows.mk`, mostly because it's done by generating the C file on the command line.
We can instead replace this whole build message generation sequence with a simple standard C compilation command and a normal C file.
Change-Id: I8bc136380c9585ddeec9a11154ee39ef70526f81 Signed-off-by: Chris Kay <chris.kay@arm.com>
show more ...
|
| 0c77651f | 26-Apr-2024 |
Karl Li <karl.li@mediatek.corp-partner.google.com> |
feat(mt8188): remove apusys kernel handler usage constraints
It is expected that kernel can control the flow of the TF-A operations. This patch remove the apusys kernel handler usage constraints, ma
feat(mt8188): remove apusys kernel handler usage constraints
It is expected that kernel can control the flow of the TF-A operations. This patch remove the apusys kernel handler usage constraints, making the operations all controlled on kernel side.
Signed-off-by: Karl Li <karl.li@mediatek.com> Change-Id: Idc205a2cf23e1ff5f1920658a3b089c823f0288a
show more ...
|
| 6704cba2 | 26-Mar-2024 |
Sieu Mun Tang <sieu.mun.tang@intel.com> |
fix(intel): add in watchdog for QSPI driver
ATF->Linux boot with QSPI boot source need to enable watchdog so that it will not hang.
Change-Id: Id2a9ceebb1c89f711992a424f4394265efc6b388 Signed-off-b
fix(intel): add in watchdog for QSPI driver
ATF->Linux boot with QSPI boot source need to enable watchdog so that it will not hang.
Change-Id: Id2a9ceebb1c89f711992a424f4394265efc6b388 Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com> Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
show more ...
|
| 44ddee6f | 20-Dec-2023 |
Alex Dobrescu <alex.dobrescu@arm.com> |
fix(tc): increase stack size when TRUSTED_BOARD_BOOT=0
The stack is too small for VERBOSE logging when secure world is disabled as there is a recursive call when printing the translation table state
fix(tc): increase stack size when TRUSTED_BOARD_BOOT=0
The stack is too small for VERBOSE logging when secure world is disabled as there is a recursive call when printing the translation table state which causes a crash.
Changing the stack to the same value regardless of trusted boot.
Change-Id: I12298b33e47ae5206f74370262edce06b8a75d99 Signed-off-by: Alex Dobrescu <alex.dobrescu@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| a1901c7d | 26-Apr-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "rss_rse_rename" into integration
* changes: refactor(changelog): change all occurrences of RSS to RSE refactor(qemu): change all occurrences of RSS to RSE refactor(fv
Merge changes from topic "rss_rse_rename" into integration
* changes: refactor(changelog): change all occurrences of RSS to RSE refactor(qemu): change all occurrences of RSS to RSE refactor(fvp): change all occurrences of RSS to RSE refactor(fiptool): change all occurrences of RSS to RSE refactor(psa): change all occurrences of RSS to RSE refactor(fvp): remove leftovers from rss measured boot support refactor(tc): change all occurrences of RSS to RSE docs: change all occurrences of RSS to RSE refactor(measured-boot): change all occurrences of RSS to RSE refactor(rse): change all occurrences of RSS to RSE refactor(psa): rename all 'rss' files to 'rse' refactor(tc): rename all 'rss' files to 'rse' docs: rename all 'rss' files to 'rse' refactor(measured-boot): rename all 'rss' files to 'rse' refactor(rss): rename all 'rss' files to 'rse'
show more ...
|
| f9d40b5c | 26-Apr-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "hm/handoff" into integration
* changes: feat(handoff): add support for RESET_TO_BL2 feat(arm): support FW handoff b/w BL1 & BL2 feat(handoff): add TL source files to
Merge changes from topic "hm/handoff" into integration
* changes: feat(handoff): add support for RESET_TO_BL2 feat(arm): support FW handoff b/w BL1 & BL2 feat(handoff): add TL source files to BL1 feat(handoff): add TE's for BL1 handoff interface refactor(bl1): clean up bl2 layout calculation feat(arm): support FW handoff b/w BL2 & BL31
show more ...
|
| 3d9fea94 | 18-Jan-2024 |
Sascha Hauer <s.hauer@pengutronix.de> |
feat(imx8mp): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if
feat(imx8mp): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if arg0 can safely be accessed as a pointer and actually contains a bl_params_t structure. If not, the hardcoded parameter values are used as before.
Change-Id: I44537ba2baa7543e459e5691b69df14b0bd6e942 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
show more ...
|
| c37a877e | 18-Jan-2024 |
Sascha Hauer <s.hauer@pengutronix.de> |
feat(imx8mn): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if
feat(imx8mn): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if arg0 can safely be accessed as a pointer and actually contains a bl_params_t structure. If not, the hardcoded parameter values are used as before.
Change-Id: Ia12d35778f4d550860e517f2a1f5c5d062f3283a Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
show more ...
|
| 11d32b33 | 18-Jan-2024 |
Sascha Hauer <s.hauer@pengutronix.de> |
feat(imx8mm): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if
feat(imx8mm): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if arg0 can safely be accessed as a pointer and actually contains a bl_params_t structure. If not, the hardcoded parameter values are used as before.
Change-Id: I06b3012c67e43ea1e42946d863226bd93ccd4638 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
show more ...
|
| 02d1813e | 18-Jan-2024 |
Sascha Hauer <s.hauer@pengutronix.de> |
feat(imx93): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if
feat(imx93): optionally take params from BL2
Optionally take params from BL2 to offer more flexibility to BL2 on where and if a BL32 image is expected. This uses imx_bl31_params_parse() to check if arg0 can safely be accessed as a pointer and actually contains a bl_params_t structure. If not, the hardcoded parameter values are used as before.
Change-Id: Iec885405efd31a6bf6c0e6c532f8d2f31c023333 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
show more ...
|
| 7eae1db0 | 18-Jan-2024 |
Sascha Hauer <s.hauer@pengutronix.de> |
feat(imx): add helper to take params from BL2
So far the i.MX BL31 doesn't take any parameters. This means the BL32 image base address and whether or not a BL32 image is used at all has to be hardco
feat(imx): add helper to take params from BL2
So far the i.MX BL31 doesn't take any parameters. This means the BL32 image base address and whether or not a BL32 image is used at all has to be hardcoded in BL31.
This adds a helper function that allows to take params from BL2 safely. On i.MX BL2 is usually U-Boot SPL which passes random values in arg0, so make sure arg0 is within the internal SRAM range before accessing it as a pointer. Also make sure arg0 is sufficiently aligned and the header type and version is correct.
Change-Id: Idab8013a1d6dabf50a83c75f3e6f831de4a537e9 Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
show more ...
|
| f019c801 | 23-Apr-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(handoff): add support for RESET_TO_BL2
When BL2 is enabled as the entrypoint in the reset vector, none of the TL initialisation ordinarily performed in BL1 will have been done. This change ensu
feat(handoff): add support for RESET_TO_BL2
When BL2 is enabled as the entrypoint in the reset vector, none of the TL initialisation ordinarily performed in BL1 will have been done. This change ensures that BL2 has a secure TL to pass information onto BL31 through.
Change-Id: I553b0b7aac9390cd6a2d63471b81ddc72cc40a60 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 9c11ed7e | 22-Dec-2023 |
Harrison Mutai <harrison.mutai@arm.com> |
feat(arm): support FW handoff b/w BL1 & BL2
Leverage the framework between BL1 and BL2. Migrate all handoff structures to the TL.
Change-Id: I79ff3a319596b5656184cde10b5204b10a4d03bb Signed-off-by:
feat(arm): support FW handoff b/w BL1 & BL2
Leverage the framework between BL1 and BL2. Migrate all handoff structures to the TL.
Change-Id: I79ff3a319596b5656184cde10b5204b10a4d03bb Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 6a4da290 | 04-Jan-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(bl1): clean up bl2 layout calculation
Layout calculation is spread out between core BL1 logic and common platform code. Relocate these into common platform code so they are organised logica
refactor(bl1): clean up bl2 layout calculation
Layout calculation is spread out between core BL1 logic and common platform code. Relocate these into common platform code so they are organised logically.
Change-Id: I8b05403e41b800957a0367316cecd373d10bb1a4 Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|