| 034cc808 | 06-Jun-2024 |
sandeep chiluvuru <sandeep.chiluvuru@arm.com> |
fix(tc): correct NS timer frame ID for TC
The non-secure (NS) timer in TC is AP_GTCLK_NS_CNTBase1. This commit corrects the NS frame ID from its original value of 0 to U(1), ensuring that the correc
fix(tc): correct NS timer frame ID for TC
The non-secure (NS) timer in TC is AP_GTCLK_NS_CNTBase1. This commit corrects the NS frame ID from its original value of 0 to U(1), ensuring that the correct CNTACR register bits are written. This change enables access to the counter registers.
Change-Id: I287ab9c373a60741f78d44a67f546326916473ea Signed-off-by: Sandeep Chiluvuru <sandeep.chiluvuru@arm.com> Signed-off-by: Icen Zeyada <Icen.Zeyada2@arm.com>
show more ...
|
| d6b6a8b7 | 22-Apr-2024 |
Jackson Cooper-Driver <jackson.cooper-driver@arm.com> |
feat(tc): add system generic timer register definition for TC4
Add new include (specific to TC4) to the TC platform file which specifies the system generic timer base address and is used by the TF-a
feat(tc): add system generic timer register definition for TC4
Add new include (specific to TC4) to the TC platform file which specifies the system generic timer base address and is used by the TF-a for use as system counters.
Note that this include must come before arm_def.h. This is required as it checks if ARM_SYS_CNTCTL macros are defined before defining its own macros.
Change-Id: I56861e5737271b29f09c75d962533be620766b52 Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| e8e1b608 | 14-Dec-2023 |
Jackson Cooper-Driver <jackson.cooper-driver@arm.com> |
feat(tc): allow TARGET_VERSION=4
Add basic support for TARGET_VERSION=4. It extends the existing 'if' statements in the Makefile and the header to allow them to take the value of 4 and also specifie
feat(tc): allow TARGET_VERSION=4
Add basic support for TARGET_VERSION=4. It extends the existing 'if' statements in the Makefile and the header to allow them to take the value of 4 and also specifies the SCMI platform info to use for TC4.
Change-Id: I8d8257671314277a133e88ef65fae8fada93d00e Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 36ffe3e1 | 10-May-2024 |
Leo Yan <leo.yan@arm.com> |
feat(tc): add MHUv3 register addresses for TC4
Change-Id: I06351fc048d792943f338291f8f64827339e8e1c Signed-off-by: Leo Yan <leo.yan@arm.com> |
| e1b76cb0 | 23-Jul-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): enable Last-level cache (LLC)
The EXTLLC bit in CPUECTLR_EL1 register indicates that an external Last-level cache is present in the system.
This bit is not set for CPUs on TC3 platform de
feat(tc): enable Last-level cache (LLC)
The EXTLLC bit in CPUECTLR_EL1 register indicates that an external Last-level cache is present in the system.
This bit is not set for CPUs on TC3 platform despite there is presence of LLC in MCN, so set them.
Change-Id: I5f889e67dce2b1d00e4ee66a8c255cf7911825b0 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| de8b9ced | 17-Jul-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): enable el1 access to DSU PMU registers
DSU PMU registers are write accessible in EL1 if the ACTLR_EL3[12] bit and the ACTLR_EL2[12] bit are set to 1, and these registers are need to be set
feat(tc): enable el1 access to DSU PMU registers
DSU PMU registers are write accessible in EL1 if the ACTLR_EL3[12] bit and the ACTLR_EL2[12] bit are set to 1, and these registers are need to be set for all cores, so set these bits in platform reset handler.
Change-Id: I1db6915939727f0909c05c8b103e37984aadb443 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 3960bcda | 22-Apr-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
style(tc): remove comment for plat_reset_handler
The comment for plat_reset_handler doesn't make sense. It is likely a copy-and-paste error while adding the code, so remove it.
Change-Id: Iab8c8c79
style(tc): remove comment for plat_reset_handler
The comment for plat_reset_handler doesn't make sense. It is likely a copy-and-paste error while adding the code, so remove it.
Change-Id: Iab8c8c799c184fa99966770d47ecb11bbc640515 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com>
show more ...
|
| 8ce29a74 | 02-Jul-2024 |
Tintu Thomas <tintu.thomas@arm.com> |
fix(tc): don't enable TZC on TC3
TZC is being replaced by MSF module on TC3. For fixing boot failure on TC3, don't enable TZC module on the TC3 platform.
Change-Id: I4434cb28bf523be8dd882f5f8799223
fix(tc): don't enable TZC on TC3
TZC is being replaced by MSF module on TC3. For fixing boot failure on TC3, don't enable TZC module on the TC3 platform.
Change-Id: I4434cb28bf523be8dd882f5f8799223642822ee2 Signed-off-by: Tintu Thomas <tintu.thomas@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| bb04d023 | 11-Jan-2024 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): configure MCN rdalloc and wralloc mode
SLC WRALLOCMODE and RDALLOCMODE are configured by default to 0b01 (always alloc), configure both to mode 0b10 (use bus signal attribute from interfac
feat(tc): configure MCN rdalloc and wralloc mode
SLC WRALLOCMODE and RDALLOCMODE are configured by default to 0b01 (always alloc), configure both to mode 0b10 (use bus signal attribute from interface).
Change-Id: Ic8cd3ee988dd0772cfb9b639dea0cc335ab70539 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 1401a42c | 18-Dec-2023 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): add dts entries for MCN PMU nodes
TC3 has 4 MCN instances, each of them have PMU registers to count different MCN cache access events, add entries for MCN PMU so that Linux MCN PMU perf dr
feat(tc): add dts entries for MCN PMU nodes
TC3 has 4 MCN instances, each of them have PMU registers to count different MCN cache access events, add entries for MCN PMU so that Linux MCN PMU perf driver can be used with perf.
Change-Id: I7e0ac5025231c3f19d5291292d4cae186accc544 Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| adc91a34 | 18-Dec-2023 |
Jagdish Gediya <jagdish.gediya@arm.com> |
feat(tc): enable MCN non-secure access to pmu counters on TC3
MCN PMU counters are by default non-accesible from non-secure world, so enable the non-secure access to those PMU counters so that linux
feat(tc): enable MCN non-secure access to pmu counters on TC3
MCN PMU counters are by default non-accesible from non-secure world, so enable the non-secure access to those PMU counters so that linux perf driver can read them. FVP has a different address space size.
Change-Id: I2a3758faca5f7cab6d3146a1beb7b289eec0294d Signed-off-by: Jagdish Gediya <jagdish.gediya@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 5ab7a2f2 | 23-Apr-2024 |
Jackson Cooper-Driver <jackson.cooper-driver@arm.com> |
feat(tc): add MHUv3 addresses between RSS and AP
TC3 is upgraded to MHUv3. This patch adds the address of the MHU channel to be used by TF-A for communications with the RSS.
Change-Id: I1bf5d72dc92
feat(tc): add MHUv3 addresses between RSS and AP
TC3 is upgraded to MHUv3. This patch adds the address of the MHU channel to be used by TF-A for communications with the RSS.
Change-Id: I1bf5d72dc92bcd9d0509ba806095b24293875e85 Signed-off-by: Jackson Cooper-Driver <jackson.cooper-driver@arm.com> Signed-off-by: Leo Yan <leo.yan@arm.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 ...
|
| 7f8589cd | 22-Feb-2024 |
Tamas Ban <tamas.ban@arm.com> |
refactor(tc): change all occurrences of RSS to RSE
Changes all occurrences of "RSS" and "rss" in the code and build files to "RSE" and "rse".
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id:
refactor(tc): change all occurrences of RSS to RSE
Changes all occurrences of "RSS" and "rss" in the code and build files to "RSE" and "rse".
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: Idec0bf7a90ae381f5bc968e1bb167daace24a11f
show more ...
|
| df960bcc | 11-Apr-2024 |
Harrison Mutai <harrison.mutai@arm.com> |
refactor(arm): replace hard-coded HW_CONFIG DT size
Ensure consistency across all Arm platforms, even those that may already have an existing macro for this purpose.
Change-Id: I07cd4cfcacf2c991717
refactor(arm): replace hard-coded HW_CONFIG DT size
Ensure consistency across all Arm platforms, even those that may already have an existing macro for this purpose.
Change-Id: I07cd4cfcacf2c991717f4c115cb0babd2c614d6f Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
show more ...
|
| 67ff4f56 | 28-Mar-2024 |
Leo Yan <leo.yan@arm.com> |
refactor(arm): remove unused SP_MIN UART macros
Currently, tf-a has been refactored to support the multi UARTs (boot and runtime UARTs). As a result, the SP_MIN UART related code has been removed, a
refactor(arm): remove unused SP_MIN UART macros
Currently, tf-a has been refactored to support the multi UARTs (boot and runtime UARTs). As a result, the SP_MIN UART related code has been removed, and the macros are no longer used.
Therefore, this patch removes these unused UART macros.
Change-Id: I496349f876ba918fcafa7ed6c65d149914762290 Signed-off-by: Leo Yan <leo.yan@arm.com>
show more ...
|
| 1f47a713 | 12-Jun-2023 |
Tamas Ban <tamas.ban@arm.com> |
feat(tc): add DPE context handle node to device tree
Child software components are inheriting their first valid DPE context handle from their parent components (who loaded and measured them). The co
feat(tc): add DPE context handle node to device tree
Child software components are inheriting their first valid DPE context handle from their parent components (who loaded and measured them). The context handle is shared through the device tree object the following way: - BL1 -> BL2 via TB_FW_CONFIG - BL2 -> BL33 via NT_FW_CONFIG
Signed-off-by: Tamas Ban <tamas.ban@arm.com> Change-Id: I9bf7808fb13a310ad7ca1895674a0c7e6725e08b
show more ...
|
| d585aa16 | 28-Sep-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(tc): move DTB to start of DRAM
Now that tf-a passes the DTB address to BL33, its location doesn't matter. Since we declare a fixed size for it (32K) put it at the start of ram to not fragme
refactor(tc): move DTB to start of DRAM
Now that tf-a passes the DTB address to BL33, its location doesn't matter. Since we declare a fixed size for it (32K) put it at the start of ram to not fragment memory. This has the added benefit of "supporting" larger kernel sizes which are breaking with the current location.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ib0e4e5cf780bd58a49a34d72085b0a0914c340ed
show more ...
|
| 6dacc272 | 04-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
refactor(tc): correlate secure world addresses with platform_def
Similarly to the memory node in the NS device tree, platform_def already defines all the necessary values to populate the spmc manife
refactor(tc): correlate secure world addresses with platform_def
Similarly to the memory node in the NS device tree, platform_def already defines all the necessary values to populate the spmc manifest and NS related entries automatically. Use the macros directly so any changes can propagate automatically.
The result of this is that TC3 and above get correct secure world manifests automatically. They were previously broken.
One "breaking" change is that the FWU region moves. This should have happened previously but it was missed when the secure portion of DRAM was increased, leaving it in secure memory. This was caught when going over the definitions and correlating them should prevent this in the future.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I1415e402be8c70f5e22f28eabddcb53298c57a11
show more ...
|
| 5ee4deb8 | 04-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): add memory node in the device tree
With new TC revisions, memory banks move around which requires an update in platform_def. It also requires an update in the device tree which doesn't com
feat(tc): add memory node in the device tree
With new TC revisions, memory banks move around which requires an update in platform_def. It also requires an update in the device tree which doesn't come naturally. To avoid this, add the memory node such that it uses the macros defined in platform_def.
By doing this we can put u-boot out of its misery in trying to come up with the correct memory node and tf-a's device tree becomes complete.
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ia92cc6931abb12be2856ac3fb1455e4f3005b326
show more ...
|
| 1b8ed099 | 15-Nov-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): factor in FVP/FPGA differences
Even though the FVP and FPGA are meant to be identical their RoS's (rest of system) are different. Factor these in so the device tree works for both. The dif
feat(tc): factor in FVP/FPGA differences
Even though the FVP and FPGA are meant to be identical their RoS's (rest of system) are different. Factor these in so the device tree works for both. The differences are: * addresses of GIC and UART * displays (FPGA uses 4k) * ethernet devices and SD card (it's non removable on the FPGA)
Their frequencies are also different. The FVP simulates certain frequencies but isn't very sensitive when we disregard them. To keep code similar, update them with the FPGA values. This keeps working on FVP even if slightly incorrect.
Also add an option for the DPU to either use fixed clocks or SCMI set clocks, hidden behind a flag. This is useful during bringup and because SCMI may not necessarily work on FPGA.
Co-developed-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Co-developed-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Co-developed-by: Usama Arif <usama.arif@arm.com> Co-developed-by: Angel Rodriguez Garcia <angel.rodriguezgarcia@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ic7a4bfc302673a3a6571757e23a9e6184fba2a13
show more ...
|
| a02bb36c | 12-Dec-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): introduce an FPGA subvariant and TC3 CPUs
TC is getting an FPGA port alongside the FVP. It is meant to be identical, but the core configurations on TC2 differ (there are 14 in an odd arran
feat(tc): introduce an FPGA subvariant and TC3 CPUs
TC is getting an FPGA port alongside the FVP. It is meant to be identical, but the core configurations on TC2 differ (there are 14 in an odd arrangement).
Introduce these differences and gate them behind a new TARGET_FLAVOUR flag which defaults to FVP for compatibility.
While updating CPUs, it's a good time to do TC3 too. It has different cores in a different configuration again, so it needs different capacity values. Those have been derived using GeekBench 6.0 ST on the FPGA.
Finally GPU and DPU power domains are 1 above the CPUs so make that relative.
In the end, the big/mid/little configurations are: * TC2 FVP: 1/3/4 * TC2 FPGA: 2/3/5/4 (the 3 is a big "min" core) * TC3 both: 2/4/2 (with new capacities)
Co-developed-by: Tintu Thomas <tintu.thomas@arm.com> Co-developed-by: Kshitij Sisodia <kshitij.sisodia@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I3c3a10d6727f5010fd9026a404df27e9262dff6b
show more ...
|
| 62320dc4 | 07-Jul-2023 |
Boyan Karatotev <boyan.karatotev@arm.com> |
feat(tc): add TC3 platform definitions
TC3 is a little different from TC2:
* new address for its second DRAM bank * new CPUs * a few interrupts have changed * new SCP MHU base address. * utili
feat(tc): add TC3 platform definitions
TC3 is a little different from TC2:
* new address for its second DRAM bank * new CPUs * a few interrupts have changed * new SCP MHU base address. * utility space address (needed for MPAM) is different * no CMN (and therefore cmn-pmu) * the uart clock is different
This requires the dts to be different between revisions for the first time. Introduce a tc_vers.dtsi that includes only definitions for things that are different.
Signed-off-by: Tintu Thomas <tintu.thomas@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: I2940d87a69ea93502b7f5a22a539e4b70a63e827
show more ...
|
| 0686a01b | 11-Apr-2022 |
Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> |
feat(arm): add trusty_sp_fw_config build option
Also increase add PLAT_ARM_SP_MAX_SIZE to override the default ARM_SP_MAX_SIZE to support Trusty image and move OPTEE_SP_FW_CONFIG documentation to bu
feat(arm): add trusty_sp_fw_config build option
Also increase add PLAT_ARM_SP_MAX_SIZE to override the default ARM_SP_MAX_SIZE to support Trusty image and move OPTEE_SP_FW_CONFIG documentation to build-internals.rst as it's not externally set-able.
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com> Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Change-Id: Ief90ae9113d32265ee2200f35f3e517b7b9a4bea
show more ...
|
| 02088b64 | 15-Feb-2024 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topic "mb/tc-model-update" into integration
* changes: docs: update FVP TC2 model version and build (11.23/17) fix(tc): increase BL2 maximum size limit refactor(tc): update
Merge changes from topic "mb/tc-model-update" into integration
* changes: docs: update FVP TC2 model version and build (11.23/17) fix(tc): increase BL2 maximum size limit refactor(tc): update platform tests feat(rss): add defines for 'type' range and use them in psa_call() feat(rss): adjust parameter packing to match TF-M changes refactor(tc): remap console logs
show more ...
|