| ade92a64 | 25-Apr-2023 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
feat(xilinx): add handler for power down req sgi irq
On receiving CPU power down callback, TF-A raises SGI interrupt to all active cores to power down each active cores. Add handler for this SGI IRQ
feat(xilinx): add handler for power down req sgi irq
On receiving CPU power down callback, TF-A raises SGI interrupt to all active cores to power down each active cores. Add handler for this SGI IRQ.
By default TF-A uses SGI 6 for CPU power down request. This can be configurable through CPU_PWRDWN_SGI build flag.
e.g., If user wants to use SGI 7 instead of SGI 6 then provide build flag CPU_PWRDWN_SGI=7
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id: Id0df32187d1de3f0af4486eb4d4930cb3ab01dbd
show more ...
|
| 3dd118cf | 25-Apr-2023 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
feat(xilinx): add wrapper to handle cpu power down req
Firmware sends CPU power down request to TF-A through NOTIFY_CB callback. It indicates CPU needs to power down.
Add wrapper to handle CPU powe
feat(xilinx): add wrapper to handle cpu power down req
Firmware sends CPU power down request to TF-A through NOTIFY_CB callback. It indicates CPU needs to power down.
Add wrapper to handle CPU power down request from firmware through IPI callback.
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id: Ic4aff874dd29da057c5ffde1899c7f0e5cdf6733
show more ...
|
| b2259261 | 06-Oct-2023 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
fix(versal-net): use arm common GIC handlers
Currently SGI interrupts are not received in secondary cores because of issue in GIC configuration. In current Versal NET specific GIC functions, redist
fix(versal-net): use arm common GIC handlers
Currently SGI interrupts are not received in secondary cores because of issue in GIC configuration. In current Versal NET specific GIC functions, redistributor configuration is not happening properly. Because of that SGI interrupt from one processor to another processor is not transferring. So, use common GIC handlers which will iterate over all GIC redistributor frames and discovers per cpu redistributor frame. Also, it initializes corresponding interface in GICv3.
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id: I1433260b8520d6a315fdf5df86bd0688f92d211a
show more ...
|
| 79953190 | 05-Oct-2023 |
Jay Buddhabhatti <jay.buddhabhatti@amd.com> |
fix(xilinx): rename macros to align with ARM
Use generic macro name as per common ARM GIC macro name for Versal and Versal NET.
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id:
fix(xilinx): rename macros to align with ARM
Use generic macro name as per common ARM GIC macro name for Versal and Versal NET.
Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti@amd.com> Change-Id: I2987ff2f612993fc80979f0179c04d316259ed1d
show more ...
|
| ebe82a39 | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): support TRP for RME
When an external RMM is not provided during make invocation, include the Test Realm Payload (TRP) to the FIP.
Change-Id: I15d396cf268a08d79da63075aadb4172238eb225 Si
feat(qemu): support TRP for RME
When an external RMM is not provided during make invocation, include the Test Realm Payload (TRP) to the FIP.
Change-Id: I15d396cf268a08d79da63075aadb4172238eb225 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| 8ffe0b2e | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): load and run RMM image
When RME is enabled, jump to the RMM image before BL33. When using semihosting rather than FIP, the image called "rmm.bin" is loaded from the runtime directory.
C
feat(qemu): load and run RMM image
When RME is enabled, jump to the RMM image before BL33. When using semihosting rather than FIP, the image called "rmm.bin" is loaded from the runtime directory.
Change-Id: I15863410b1e505aa502276b339b22a2ddcb0b745 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| 6cd113fe | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): setup Granule Protection Table
When RME is enabled, call the GPT library to setup the granule protection tables and partition the physical address space.
Change-Id: Ib466c4579ff55fcff93
feat(qemu): setup Granule Protection Table
When RME is enabled, call the GPT library to setup the granule protection tables and partition the physical address space.
Change-Id: Ib466c4579ff55fcff9307550e6d26d432674779a Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| cd75693f | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): setup memory map for RME
Reserve some space in DRAM for RMM, and some space in SRAM for the GPT tables. Create the page table mappings.
Change-Id: I3822e7e505e86eb0fa15b1b5b6298e4122b17
feat(qemu): setup memory map for RME
Reserve some space in DRAM for RMM, and some space in SRAM for the GPT tables. Create the page table mappings.
Change-Id: I3822e7e505e86eb0fa15b1b5b6298e4122b17181 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| a5ab1ef7 | 07-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): update mapping types for RME
With RME, mappings for EL3 use MT_ROOT rather than MT_SECURE. Update the mapping types to select the right memory type: EL3_PAS is MT_ROOT when RME is enable
feat(qemu): update mapping types for RME
With RME, mappings for EL3 use MT_ROOT rather than MT_SECURE. Update the mapping types to select the right memory type: EL3_PAS is MT_ROOT when RME is enabled, MT_SECURE otherwise.
Change-Id: I93e287009515b64e833a6f69545766be4c87e473 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| c69e95ee | 06-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
feat(qemu): use mock attestation functions for RME
Since QEMU doesn't yet emulate hardware attestation, provide hardcoded key and token to demonstrate attestation for RME. They are copied from the m
feat(qemu): use mock attestation functions for RME
Since QEMU doesn't yet emulate hardware attestation, provide hardcoded key and token to demonstrate attestation for RME. They are copied from the mock values for the FVP platform.
Change-Id: I9ce686955345854e9409af5c3aad2a648adea226 Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| f465ac22 | 15-Sep-2023 |
Jean-Philippe Brucker <jean-philippe@linaro.org> |
fix(qemu): increase max FIP size
The max FIP size for the QEMU virt platform is currently 4MB, which isn't enough when including a RMM in the FIP. Since the secure flash size is actually 64MB, we ca
fix(qemu): increase max FIP size
The max FIP size for the QEMU virt platform is currently 4MB, which isn't enough when including a RMM in the FIP. Since the secure flash size is actually 64MB, we can significantly increase the max FIP size.
Change-Id: Id2b5df355f8d4c90a41fec66f180e46eb7bab9f8 Fixes: a886bbeceb0d ("qemu: Update flash address map to keep FIP in secure FLASH0") Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
show more ...
|
| 0f0fd499 | 26-Dec-2023 |
Rohit Mathew <Rohit.Mathew@arm.com> |
fix(rotpk): move rotpk definitions out of arm_def.h
The file arm_def.h currently contains common definitions used by ARM platforms. However, some platforms may have their own definitions, allowing t
fix(rotpk): move rotpk definitions out of arm_def.h
The file arm_def.h currently contains common definitions used by ARM platforms. However, some platforms may have their own definitions, allowing them to avoid a direct dependency on arm_def.h. For a clean platform port of arm_def.h, none of the source files should directly include arm_def.h; instead, they should include the platform header which would indirectly include the required definitions.
Presently, the rotpk module has a source file that directly includes arm_def.h. This could lead to compilation issues if the platform incorporating the rotpk module has a separate implementation of some or all of the definitions in arm_def.h file. To address this, move the relevant definitions out of arm_def.h and into rotpk_def.h.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Change-Id: I9e8b0d319391f9a167af5c69a7b2d42ac488e7b4
show more ...
|
| cc3374ac | 20-Dec-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
refactor(xilinx): move plat_get_syscnt_freq2 to common file
The code in the AMD-Xilinx platform for Versal and Versal NET is being refactored to move the plat_get_syscnt_freq2() function to a common
refactor(xilinx): move plat_get_syscnt_freq2 to common file
The code in the AMD-Xilinx platform for Versal and Versal NET is being refactored to move the plat_get_syscnt_freq2() function to a common file. This common function is utilized for obtaining the CPU clock frequency from the platform.
Change-Id: I7a4c3fa43a2941d51cacd259c57b24e545aea848 Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| 1f02024b | 20-Dec-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
refactor(versal-net): rename VERSAL_NET_IOU_SCNTRS register to generic
Refactor, the macro named VERSAL_NET_IOU_SCNTRS is being renamed to a more generic macro name, which will be used in common cod
refactor(versal-net): rename VERSAL_NET_IOU_SCNTRS register to generic
Refactor, the macro named VERSAL_NET_IOU_SCNTRS is being renamed to a more generic macro name, which will be used in common code to enable reuse across various platforms.
Change-Id: I548437e0fe2d73b196468bc92029f8099ea1f8d1 Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| 07625d9d | 20-Dec-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
fix(versal-net): setup counter frequency
Refactor the system counter configuration into the syscnt_freq_config_setup() function as it involves timestamp and system counter configuration, which requi
fix(versal-net): setup counter frequency
Refactor the system counter configuration into the syscnt_freq_config_setup() function as it involves timestamp and system counter configuration, which requires early configuration for clock setup and read the value of the IOU_SCNTRS_BASE_FREQ register using mmio_read_32() to determine the counter frequency.
If the counter frequency is zero, the system will set the default CPU clocks constants in TF-A and displays message. However, if the counter frequency is non-zero, the program will return the value stored in the IOU_SCNTRS_BASE_FREQ register.
The issue lies in dcc_status_timeout(),function verifying timeout status, particularly within timeout_cnt_us2cnt(), converting microseconds to counter ticks using read_cntfrq_el0(), which returns zero. timeout_elapsed() then checks if the current counter from read_cntpct_el0() exceeds the expiration count, reached to timeout.
After the function set_cnt_freq() writes into the counter frequency register, the function timeout_cnt_us2cnt() is used to obtain the appropriate counter ticks. Subsequently, the function timeout_elapsed() checks whether the current counter value read_cntpct_el0() has exceeded the specified expiration count. If it has, this indicates that the timeout has lapsed.
Change-Id: Ib9ed3493d22f23c832f8bb7d11c4f727fe1ebe3c Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| f000744e | 14-Dec-2023 |
Prasad Kummari <prasad.kummari@amd.com> |
fix(versal): initialize cntfrq_el0 register
The set_cnt_freq() function is introduced to configure the counter frequency register.If the counter frequency register is zero, it writes the output of p
fix(versal): initialize cntfrq_el0 register
The set_cnt_freq() function is introduced to configure the counter frequency register.If the counter frequency register is zero, it writes the output of plat_get_syscnt_freq2() the cpu_clocks to the counter frequency register.
According to the design specifications provided for Versal, the lpd_data.cdo file contains a mask_write operation for register 0xFF140020 (base_frequency_ID_register) to set it to 0x5f5e100, configuring it for a 100MHz clock frequency.
Reading the value of the IOU_SCNTRS_BASE_FREQ register using mmio_read_32() to determine the counter frequency. If the counter frequency is zero, the system will set the default CPU clocks constants in TF-A and displays message. However, if the counter frequency is non-zero, the program will return the value stored in the IOU_SCNTRS_BASE_FREQ register.
The issue lies in dcc_status_timeout(),function verifying timeout status, particularly within timeout_cnt_us2cnt(), converting microseconds to counter ticks using read_cntfrq_el0(), which returns zero. timeout_elapsed() then checks if the current counter from read_cntpct_el0()exceeds the expiration count, denoting timeout.
After the function set_cnt_freq() writes into the counter frequency register, the function timeout_cnt_us2cnt() is used to obtain the appropriate counter ticks. Subsequently, the function timeout_elapsed() checks whether the current counter value read_cntpct_el0() has exceeded the specified expiration count. If it has, this indicates that the timeout has lapsed.
Change-Id: I8f2f4d804b5aefa6f92083d831a5ebfade384294 Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
show more ...
|
| 55512649 | 27-Dec-2023 |
Sandrine Bailleux (on vacation) <sandrine.bailleux@arm.com> |
Merge changes I548e3034,I65c7fd1b,I1cdacc0f,If9ac35af into integration
* changes: feat(intel): support QSPI ECC Linux for Agilex feat(intel): support QSPI ECC Linux for N5X feat(intel): suppor
Merge changes I548e3034,I65c7fd1b,I1cdacc0f,If9ac35af into integration
* changes: feat(intel): support QSPI ECC Linux for Agilex feat(intel): support QSPI ECC Linux for N5X feat(intel): support QSPI ECC Linux for Stratix10 feat(intel): add in QSPI ECC for Linux
show more ...
|
| 503cf992 | 10-Dec-2023 |
Andrey Skvortsov <andrej.skvortzov@gmail.com> |
refactor(juno): move plat_def_uuid_config to fiptool
The same was done for other platforms: stm32mp1, tc before in commit 034a2e3ef8a9e8e58f7cb7fab6db4ee60b2f9c29 ('refactor(fiptool): move plat_fipt
refactor(juno): move plat_def_uuid_config to fiptool
The same was done for other platforms: stm32mp1, tc before in commit 034a2e3ef8a9e8e58f7cb7fab6db4ee60b2f9c29 ('refactor(fiptool): move plat_fiptool.mk to tools')
Additionally this will make ignore generated files:
Untracked files: plat/arm/board/juno/fip/plat_def_uuid_config.d plat/arm/board/juno/fip/plat_def_uuid_config.o
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com> Change-Id: Ia5f1082fcd6d9dfc0be012759493e61ddb869956
show more ...
|
| 56c8d022 | 17-Nov-2023 |
Sieu Mun Tang <sieu.mun.tang@intel.com> |
fix(intel): update from INFO to VERBOSE when print debug message
Update from INFO to VERBOSE when print out debug message.
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com> Change-Id: Iefdbd44
fix(intel): update from INFO to VERBOSE when print debug message
Update from INFO to VERBOSE when print out debug message.
Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com> Change-Id: Iefdbd44e711c0fd589bef454b42754cf9e3cd391
show more ...
|
| 68bb3e83 | 14-Aug-2023 |
Jit Loon Lim <jit.loon.lim@intel.com> |
feat(intel): support wipe DDR after calibration
After a calibration we cannot trust the DDR content. Let's explicitly clear the DDR content using the built-in scrubber in this case.
Signed-off-by:
feat(intel): support wipe DDR after calibration
After a calibration we cannot trust the DDR content. Let's explicitly clear the DDR content using the built-in scrubber in this case.
Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com> Change-Id: I6f429623f76a21f61f85efbb660cf65d99c04f56
show more ...
|
| a72f86ac | 22-Dec-2023 |
Sieu Mun Tang <sieu.mun.tang@intel.com> |
fix(intel): update system counter back to 400MHz
Due to design issue, updated system counter back to hardcoded 400MHz
Change-Id: Id85b2541880fac88b2a9a0a46b27b0a0da0eed6d Signed-off-by: Jit Loon Li
fix(intel): update system counter back to 400MHz
Due to design issue, updated system counter back to hardcoded 400MHz
Change-Id: Id85b2541880fac88b2a9a0a46b27b0a0da0eed6d Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
show more ...
|
| d0e400b3 | 22-Dec-2023 |
Sieu Mun Tang <sieu.mun.tang@intel.com> |
fix(intel): revert back to use L4 clock
Using mpu_peri as the clock source will caused the system timer vary. System timer shall get from a static clock source.
L4 and L3 clock are both the same at
fix(intel): revert back to use L4 clock
Using mpu_peri as the clock source will caused the system timer vary. System timer shall get from a static clock source.
L4 and L3 clock are both the same at the moment. There shall be a hardware update to differentiate the clock pll. To keep this as dormant function for now.
Change-Id: I4d253e2f24a74cbec59bfcbf0e8547abbe3643a8 Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
show more ...
|
| d6ae69c8 | 21-Dec-2023 |
Sieu Mun Tang <sieu.mun.tang@intel.com> |
feat(intel): support QSPI ECC Linux for Agilex
Add QSPI ECC new opcodes for Linux to access to SDM register
Change-Id: I548e30340320ae2c2c9d60d20b218ee844516d64 Signed-off-by: Jit Loon Lim <jit.loo
feat(intel): support QSPI ECC Linux for Agilex
Add QSPI ECC new opcodes for Linux to access to SDM register
Change-Id: I548e30340320ae2c2c9d60d20b218ee844516d64 Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com> Signed-off-by: Sieu Mun Tang <sieu.mun.tang@intel.com>
show more ...
|
| 6cf16b36 | 18-Oct-2023 |
Jit Loon Lim <jit.loon.lim@intel.com> |
feat(intel): support QSPI ECC Linux for N5X
Add QSPI ECC new opcodes for Linux to access to SDM register
Change-Id: I65c7fd1bfc21baa6c45d9f8a0ee9618e6061e8d7 Signed-off-by: Jit Loon Lim <jit.loon.l
feat(intel): support QSPI ECC Linux for N5X
Add QSPI ECC new opcodes for Linux to access to SDM register
Change-Id: I65c7fd1bfc21baa6c45d9f8a0ee9618e6061e8d7 Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
show more ...
|
| 8be16e44 | 18-Oct-2023 |
Jit Loon Lim <jit.loon.lim@intel.com> |
feat(intel): support QSPI ECC Linux for Stratix10
Add QSPI ECC new opcodes for Linux to access to SDM register
Change-Id: I1cdacc0f10dfa2a969f0bc5086277fd9081d02e2 Signed-off-by: Jit Loon Lim <jit.
feat(intel): support QSPI ECC Linux for Stratix10
Add QSPI ECC new opcodes for Linux to access to SDM register
Change-Id: I1cdacc0f10dfa2a969f0bc5086277fd9081d02e2 Signed-off-by: Jit Loon Lim <jit.loon.lim@intel.com>
show more ...
|