Commit graph

14263 commits

Author SHA1 Message Date
Boyan Karatotev
4fc4e9c969 feat(tc): add arm_ffa node in dts
For u-boot to use the device tree itself it needs to know about the
arm_ffa module. This is not relevant to linux but it doesn't hurt as it
won't use it.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I6e75659e4950c62ce7377dc7941225eb5d7a3d8d
2024-02-26 16:07:41 +00:00
Ben Horgan
bafedcbe4f chore(tc): add dummy entropy to speed up the Linux boot
If the kernel is post 5.19 and is configured with
CONFIG_RANDOM_TRUST_BOOTLOADER=y then entropy can be passed to
Linux via the device tree. This avoids delaying the Linux boot
waiting for entropy. This is particularly noticeable when
booting android but also speeds up the generation of the ssl
certificates.

Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Change-Id: I4c6136c54f0e971802a2a9de9f88cd32b610dce9
2024-02-26 16:07:40 +00:00
Davidson K
8e94163ec0 feat(tc): choose the DPU address and irq based on the target
Currently there are two configurations for DPU
Config 1: Address - 0x2CC0_0000    IRQ - 101
Config 2: Address - 0x40_0000_0000 IRQ - 547

Config 1 is used by all FPGA and TC0, TC1 and TC2 FVPs
Config 2 is used by TC3 FVP currently

Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
Change-Id: If0097441b6ab90f58911df032e45f6bf06fc7909
2024-02-26 16:07:40 +00:00
Kshitij Sisodia
a658b46dc7 feat(tc): add SCMI power domain and IOMMU toggles
Compile-time controls have been added for the following:

* SCMI power domain use for DPU and GPU.
* SMMU-700: planned rework required to use IOMMU correctly
  for DPU and GPU.

These will allow easier experimentation in the future without
ad-hoc changes needed in the dts file for any sort of analysis
that requires testing different paths.

For TC3 however, the DPU is in an always on power domain so SCMI power
domains are not supported.

Co-developed-by: Tintu Thomas <tintu.thomas@arm.com>
Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Change-Id: If6179a3e4784c1b69f0338a8d52b552452c0eac1
2024-02-26 16:07:31 +00:00
Boyan Karatotev
e862f0bf0a refactor(tc): move the FVP RoS to a separate file
In trying to use the same DTS for the FVP and FPGA subvariants we need
to keep track of what is different. Move the FVP RoS, which is different
to the FPGA's, to reduce the number of ifdefs and make FVP-only changes
easier.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Ib7999d3e39de55ab4a30e68dd81f95120be15a8c
2024-02-26 13:41:26 +00:00
Boyan Karatotev
1b8ed0993f 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
2024-02-26 13:41:25 +00:00
Boyan Karatotev
a02bb36caa 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
2024-02-26 13:41:25 +00:00
Boyan Karatotev
62320dc4fd 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
2024-02-26 13:41:25 +00:00
Boyan Karatotev
0427414956 refactor(tc): sanitise the device tree
We have lots of errors in our device tree when running dt-validate.
Remove the majority so that dt-validate-ing is useful now.

Do this by renaming nodes to conform to spec, making addresses lowercase
with no 0x at the front, and removing nodes that shouldn't be there.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I1840f0f5de34a56ee240c07eff08d73c856b338e
2024-02-26 13:41:25 +00:00
Boyan Karatotev
553b06b5d4 feat(tc): add PMU entry
TC has PMUs with interrupts in all cores and Linux needs to be told
about them.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Ice0e6dab396b90c05f4b9668623ba7b3556a53ac
2024-02-26 13:41:25 +00:00
Boyan Karatotev
18f754a275 feat(tc): allow booting from DRAM
In some occasions it is useful to boot with the rest of system (RoS)
disabled. With no RoS there's no flash so we need to put images
somewhere and that's in the DRAM1 bank. If we want to access it it needs
to be mapped to memory.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I45e0fbb016e8f615d41b6ad9da0d1e7b466ece72
2024-02-26 13:40:21 +00:00
Sandrine Bailleux
2afa143a4f docs(auth): align TBBR CoT names to match the code
Update the section describing the TBBR chain of trust to use the same
terminology as in the code and the specification.

Also refresh the description of some of the certificates to include the
pieces of data they contain today. When this document was originally
written, TF-A did not support configuration files, which is why none of
the certificates included any configuration file hash at that time.

Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
Change-Id: Ia85f88c933abd8d8d6727252a7d41fb9f0ce4287
2024-02-26 12:39:06 +00:00
Manish Pandey
13caddef46 Merge "refactor(st-i2c): use fdt_read_uint32_default()" into integration 2024-02-26 12:09:27 +01:00
Manish Pandey
df6404b2d3 Merge "build(corstone1000): add CORSTONE1000_WITH_BL32 preprocessor flag" into integration 2024-02-26 10:53:09 +01:00
Andrey Skvortsov
acf0076ae2 build(fpga): correctly handle gcc as linker for LTO
When LTO is enabled and gcc is used as a linker, then option for a
linker have to be provided with a -Wl prefix to gcc.

To build PLAT=arm_fpga with LTO enabled extra '-nostdlib' has to be
supplied to the linker at least, otherwise build fails with an error
about many undefined references in libc.
Since this option is defined as part of common TF_LDFLAGS already,
just use that variable with couple extra options.

Change-Id: Iaab72d894317c91af5b7d770652e4353b32aae88
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
2024-02-24 00:59:06 +03:00
Andrey Skvortsov
31f80efeef fix(build): enforce single partition for LTO build
For example, build for PLAT=fvp SPD=spmd fails with a following error
when LTO is enabled using GCC 13.2.1:

  aarch64-none-elf/bin/ld: /tmp/ccrG0Z8D.ltrans0.ltrans.o: in function `spmd_smc_forward':
  arm-trusted-firmware/services/std_svc/spmd/spmd_main.c:749:(.text+0xbe50): undefined reference to `rdist_ctx'
  aarch64-none-elf/bin/ld: arm-trusted-firmware/services/std_svc/spmd/spmd_main.c:749:(.text+0xbe58): undefined reference to `dist_ctx'
  collect2: error: ld returned 1 exit status

Access to rdist_ctx and dist_ctx is defined using inline assembler
like
 __asm__ volatile ("ldr %0, =rdist_ctx" : "=r" (v) : "X" (rdist_ctx));

Access assembler function definitions moved to a different ltrans then
actual variables. Partitioner doesn't take into account defined and
used symbols in inline assembler. Depending on compiler partitioner
decision the same code builds for some platforms successfully.

This is a known gcc problem
1. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57703
2. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46820

TF-A source code isn't that big and enforcing single partitioning will
not affect build performance, but will fix problems with 'undefined
references' related to inline assembler.

Change-Id: I72955ab0318f72b588d3a246824f99a48a92d8ef
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
2024-02-24 00:42:50 +03:00
Andrey Skvortsov
e5e9ccdb0c fix(rockchip): add support for building with LTO enabled
Using the asm .incbin statement in C sources breaks gcc wrapper.
Build fails with a following errors:
  /tmp/ccRXHTU4.s: Assembler messages:
  /tmp/ccRXHTU4.s:34: Warning: dwarf line number information for .pmusram.incbin ignored
  ...
  /tmp/ccRXHTU4.s:2119: Warning: dwarf line number information for .pmusram.incbin ignored
  /tmp/ccRXHTU4.s:112497: Error: leb128 operand is an undefined symbol: .LVU5
  /tmp/ccRXHTU4.s:112498: Error: leb128 operand is an undefined symbol: .LVU6
  /tmp/ccRXHTU4.s:112507: Error: leb128 operand is an undefined symbol: .LVU9
  ...
  /tmp/ccRXHTU4.s:115407: Error: leb128 operand is an undefined symbol: .LVU668
  /tmp/ccRXHTU4.s:115408: Error: leb128 operand is an undefined symbol: .LVU710
  /tmp/ccRXHTU4.s:115409: Error: leb128 operand is an undefined symbol: .LVU713
  lto-wrapper: fatal error: aarch64-none-elf-gcc returned 1 exit status
  compilation terminated.
  aarch64-none-elf/bin/ld: error: lto-wrapper failed
  collect2: error: ld returned 1 exit status

Fix it in a similar way to what the Linux kernel does, see commit
919aa45e43a84d40c27c83f6117cfa6542cee14e (MODSIGN: Avoid using .incbin
in C source). [1]

1. https://lkml.org/lkml/2012/12/4/136

Change-Id: Iecc19729ce59e8c3b3c30fa37b1fddef95e83c96
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
2024-02-24 00:42:50 +03:00
Boyan Karatotev
29d24bb799 chore(tc): remove unused hdlcd
The hdlcd device tree node is not in use for any TC incarnation. The DPU
replaces it. So drop it.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I5393435e36d8307bef909a6519cb40305b77f0cf
2024-02-23 16:11:47 +00:00
Tudor Cretu
d0628728a6 feat(tc): add firmware update secure partition
Firmware update is a trusted service secure partition that implements
the PSA firmware update specification. It executes in the secure world
in total compute platform. To make it fit with Op-tee we need to reduce
its available memory.

Also, reserve 4 MB for stmm communication used for firmware update.
The firmware update secure partition and u-boot communicates using the
stmm communication layer and it needs a dedicated memory region.

Co-developed-by: Sergio Alves <sergio.dasilvalves@arm.com>
Co-developed-by: Davidson K <davidson.kumaresan@arm.com>
Signed-off-by: Tudor Cretu <tudor.cretu@arm.com>
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I0427549845f6c7650b8ef4e450d387fe9702a847
2024-02-23 16:11:47 +00:00
Arunachalam Ganapathy
ba197f5f70 feat(tc): add spmc manifest with trusty sp
Add SPMC manifest with Trusty SP. Define Trusty's load address,
vcpu count, memory size.

Co-developed-by: Rupinderjit Singh <rupinderjit.singh@arm.com>
Co-developed-by: Ben Horgan <ben.horgan@arm.com>
Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I1f7d7c1c6a5ef67541097ab04670343282458aeb
2024-02-23 16:11:47 +00:00
Boyan Karatotev
3ac3b6b0a3 refactor(tc): unify all the spmc manifests
The manifests describe the same hardware layout with only the secure
partitions being different. Factor it out so it can be shared and only
add the VM information separately.

This has some deliberate side effects: the test configuration gets the
full secure memory address space and drops the 0x7000000 region as that
was accidentally copied over from the FVP platform and doesn't apply to
TC.

Also optee unconditionally gets the smaller mem_size as it's been
working fine and simplifies the manifest.

Small touch up is that mem_size-s are now in hex but otherwise the same
number.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: Iea23f9769235eea32afa374952b9a0e4f6d3e9a1
2024-02-23 16:11:47 +00:00
Arunachalam Ganapathy
0686a01b0c 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
2024-02-23 16:11:47 +00:00
Davidson K
fc42f84560 fix(tc): do not enable MPMM and Aux AMU counters always
There are requirements in which the MPMM and Auxiliary AMU counters have
to be disabled. Hence removing the "override" here which helps in
disabling them during the build.

Change-Id: I2c0a808d5d9968082a508a9206e34f7a57f2e33a
Signed-off-by: Davidson K <davidson.kumaresan@arm.com>
2024-02-23 16:11:46 +00:00
Boyan Karatotev
d2e44e7d71 fix(tc): correct interrupts
The gic and trbe0 are listed as active high, but the spec says they are
triggered on active low. Correct according to the spec.

While we're at it, convert all interrupts to use the macros so hopefully
no such confusion happens again.

Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
Change-Id: I2fc01cf0a34b031b95219b9656b613a19a2e9b2a
2024-02-23 16:11:46 +00:00
Kshitij Sisodia
2c406ddaf7 feat(tc): interrupt numbers for smmu_700
Interrupt numbers definitions and names added to `smmu_700`
node.

Signed-off-by: Kshitij Sisodia <kshitij.sisodia@arm.com>
Change-Id: Iee0b5e854e5516fce13315c1e6ad5bb2a55246ec
2024-02-23 16:11:46 +00:00
Ben Horgan
127eabeddf feat(tc): enable gpu/dpu scmi power domain and also gpu perf domain
The scmi-perf-domain property is a custom property while we
wait for proper support in the kernel for using the scmi_pm_domain
driver and scmi_perf_domain driver at the same time.

GPU operating points are now in the SCP firmware.

Change-Id: Ib6d8f52c8bf69194b1d2da4e065a34c4a341c221
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
2024-02-23 16:11:46 +00:00
Olivier Deprez
29872eb330 fix(spm): reduce verbosity on passing tf-a-tests
Reduce info messages verbosity for RME test cases:

INFO:    Sip Call - Protect memory
INFO:    Sip Call - Unprotect memory
INFO:    Sip Call - Protect memory
INFO:    Sip Call - Unprotect memory

Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: I0bdb545bc6576110dd740ecda8130618f51ed710
2024-02-23 10:41:56 +01:00
Olivier Deprez
885e93f907 Merge "fix(cm): update gic el2 sysregs save/restore mechanism" into integration 2024-02-22 11:58:43 +01:00
Olivier Deprez
81f0f8c3a9 Merge changes from topic "jc/el1_ctx_optimization" into integration
* changes:
  refactor(context-mgmt): remove el1_context routines from RMM
  refactor(context-mgmt): move EL1 save/restore routines into C
2024-02-22 11:57:57 +01:00
Jayanth Dodderi Chidanand
e58daa663b refactor(context-mgmt): remove el1_context routines from RMM
This is an effort to optimise the unused members in the cpu_context_t
structure. TF-A statically allocates memory for context entry for
each wolrd per PE. Some of the members in this struct are not used
for all the build combinations.

RMM in particular, is not using this context member and henceforth
removing them.

Change-Id: Ia5bf9c8dfef6e856ba6d88fa678876c704d42858
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
2024-02-22 10:34:52 +00:00
Jayanth Dodderi Chidanand
59f8882b44 refactor(context-mgmt): move EL1 save/restore routines into C
Similar to the refactoring process followed for EL2 system registers,
moving the save and restore routines of EL1 system registers into C
file, thereby reducing assembly code.

Change-Id: Ib59fbbe2eef2aa815effe854cf962fc4ac62a2ae
Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
2024-02-22 10:34:40 +00:00
Rohit Mathew
75414f715e refactor(sgi): replace references to "SGI"/"sgi" for neoverse_rd
Currently, there are several reference to "SGI" or "sgi" in comments or
as macro prefix within the neoverse_rd directory. As part of the
migration to neoverse_rd, rename all occurences of "SGI/sgi" to
"Neoverse-RD" or the "NRD" prefix accordingly. All references in
comments are rephrased as "Neoverse RD platforms". References in code
are renamed as "NRD"/"nrd" accordingly.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: Iec195427ff2bee565cb4a325a1a22892be95ae16
2024-02-22 15:08:04 +05:30
Rohit Mathew
2cd66a44f2 refactor(sgi): rename "CSS_SGI"" macro prefixes to "NRD"
As of now, several internal macros utilize "CSS_SGI" as their prefix.
Given the change to neoverse_rd, and the subsequent migration out of the
css directory, the prefix "CSS_SGI" is no longer appropriate.
Therefore, update the macro prefixes to "NRD" for consistency and
clarity.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: I3d1a9dba3e83f6e107379fc5bcf8256cc93d8c3d
2024-02-22 15:08:04 +05:30
Rohit Mathew
40ea4208bc refactor(sgi): move apis and types to "nrd" prefix
Currently, functions and types internal to "neoverse_rd" platforms are
named with "sgi" as the prefix. Since common code and platforms are no
longer under the "sgi" umbrella, move the prefix to "nrd". This change
would amend the prefixes for functions, types and objects.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: I706a82bddf55c3be7cf9cef9aaa5df6d420098ca
2024-02-22 15:08:04 +05:30
Rohit Mathew
a1e6467b0e refactor(sgi): replace build-option prefix to "NRD"
As of now, CSS_SGI_PLATFORM_VARIANT and CSS_SGI_CHIP_COUNT are the
external build option that "sgi" platforms support. As "sgi" has been
renamed to "neoverse_rd" and the source files have been migrated out of
the css directory, replace the prefix "CSS_SGI" with "NRD".

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: I27989ff42404d823dd2a8cd22ff485497ccb62d4
2024-02-22 15:08:03 +05:30
Rohit Mathew
4ced59568e refactor(sgi): move neoverse_rd out of css
Currently, neoverse_rd is hosted under the "css" directory. However,
"css" directory is more relevant for hosting css definitions and
corresponding sources. Since neoverse_rd hosts source and header for css
and soc, move neoverse_rd from css to board folder. Consolidate common
sources and headers under neoverse_rd/common. Additionally, group RD-V1,
RD-V1-MC, RD-N2, RD-N1-Edgex2 and SGI-575 within neoverse_rd/platform.
With the changes in this commit, the tree view would look as follows:

plat/arm/board/neoverse_rd/
├── common
│   ├── arch
│   ├── include
│   └── ras
└── platform
    ├── rdn1edge
    ├── rdn2
    ├── rdv1
    ├── rdv1mc
    └── sgi575

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: Iaccc86bc9d415f5c045c834902241fcf3c00277b
2024-02-22 15:08:03 +05:30
Rohit Mathew
c669f65359 refactor(sgi): move from "sgi" to "neoverse_rd"
Currently, reference design platforms such as RD-N2, RD-N1-Edge,
RD-V1-MC, RD-V1 and SGI-575 utilize "css/sgi" as the common source
directory. The "sgi" prefix originated from the System Guidance for
Infrastructure (SGI) and was initially associated with the SGI-575
platform. However, subsequent platforms released were under the Neoverse
Reference Design product name.

To align with the Neoverse Reference Design nomenclature, rename the
common source directory from "css/sgi" to "css/neoverse_rd" and update
all file prefixes from "sgi" to "nrd."

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: I3dcbb31b9ab202e82caf25218ba33c520dcea4e4
2024-02-22 15:08:03 +05:30
Rohit Mathew
2d32517ce6 feat(sgi): remove unused SGI_PLAT build-option
Currently, the common makefile has reference to "SGI_PLAT" build-option.
This however is not set by any of the platforms that makes use of the
common makefile. Therefore, remove the unused SGI_PLAT build-option.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: I6cc0b8d87222c7b3aef998774cee964a920cceb6
2024-02-22 15:08:03 +05:30
Rohit Mathew
cacee06056 fix(sgi): align to misra rule for braces
Misra rule states that braces have to be used with every 'if', 'else',
'for', 'do', and 'while' statement. In order to align with the said
rule, add braces for the statements within plat_css_get_scmi_info.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: I826685e92926d90734b11d870dd624b11c9d1c30
2024-02-22 15:08:03 +05:30
Rohit Mathew
c69253cc3a feat(rde1edge): remove support for RD-E1-Edge
As RD-E1_Edge is no longer actively supported and has been in the
deprecated list for a while, remove its support.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: Iff66ad498dd99e44e2e6b79251ba2cbefbd5f3eb
2024-02-22 15:08:03 +05:30
Rohit Mathew
10dcffedb3 fix(rdn2): populate TOS_CONFIG only when SPMC_AT_EL3 is enabled
As of now, TOS_FW_CONFIG (trusted OS config) gets populated by default
for RD-N2. However, TOS_FW_CONFIG is required only when SPMC_AT_EL3 is
enabled. As the platform should support SPMC_AT_EL3 disabled mode as
well, populate TOS_CONFIG only when SPMC_AT_EL3 is enabled.
Additionally, building of rdn2_stmm_sel0_manifest.dtb is made
conditional to align with this configuration.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: I9077d44b21d32ba7bf6b3b1c539662c14785ca6b
2024-02-22 15:08:03 +05:30
Rohit Mathew
89d857780c fix(board): update spi_id max for sgi multichip platforms
According to GIC-600 TRM, 960 SPIs could be supported on a platform.
However, with the current configuration, platforms such as RD-V1-MC and
RD-N1-Edge Dual-Chip utilize a much smaller range. With commit
'a02a45dfe' gic600 driver is updated to get the max SPI id from the
GIC-600 and probe for the corresponding GIC instance for each SPI id.
Since RD-V1-MC and RD-N1-Edge Dual-Chip supports wider range, increase
SPI range for the chip 0 to max SPI range supported.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: Ia8c02c6d999033af33d8e7a0bedc7b73c6552ab4
2024-02-22 14:59:06 +05:30
Mark Dykes
805de116e0 Merge "build: correct minor toolchain documentation error" into integration 2024-02-21 17:10:09 +01:00
Madhukar Pappireddy
c9f097ec68 Merge "chore(ufs): refactor ufs_get_device_info" into integration 2024-02-21 16:37:37 +01:00
Harsimran Singh Tungal
87799772e5 build(corstone1000): add CORSTONE1000_WITH_BL32 preprocessor flag
This change includes adding new CORSTONE1000_WITH_BL32 preprocessor
flag on the basis of NEED_BL32 flag. This flag allows us to run the
TF-A with or without loading BL32 image. This feature is required to
add the support of Corstone-1000 FVP in TF-A open CI.
After this, we can run the TF-A tftf tests with or without
executing BL32 image, which is optee in case of Corstone-1000.

Signed-off-by: Harsimran Singh Tungal <harsimransingh.tungal@arm.com>
Change-Id: Idacbd3883473473841481a2032314db8c9715b1f
2024-02-21 14:37:14 +00:00
Chris Kay
1c0d025249 build: correct minor toolchain documentation error
Default values for toolchain tools are instead provided by the main
toolchain makefile, rather than a parent makefile. This was an oversight
from a previous version of the original toolchain refactor patch.

Change-Id: I75752ed7874b36e1c679d94292a2664e234c484b
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-02-21 14:06:03 +00:00
Lauren Wehrmeister
64e3efe72b Merge "docs(threat_model): mark power analysis threats out-of-scope" into integration 2024-02-20 17:04:03 +01:00
Mark Dykes
ef68521971 Merge "build: use toolchain identifiers in conditions" into integration 2024-02-20 16:06:52 +01:00
Mark Dykes
60dd8069bf Merge "build: use new toolchain variables for tools" into integration 2024-02-20 16:06:35 +01:00
Mark Dykes
084c9d3c0d Merge "build: refactor toolchain detection" into integration 2024-02-20 16:04:53 +01:00