Commit graph

14637 commits

Author SHA1 Message Date
Leo Yan
e6ef3ef0f6 refactor(tc): append properties in DT bindings
This patch appends properties in DT bindings to differentiate between
FVP and FPGA. The related macros are no longer used, so they are
removed.

This patch contains minor improvement for adding labels in device nodes.

Change-Id: I8d708bb7a8a9a0ed32b806abcb4e7651daadf5e6
Signed-off-by: Leo Yan <leo.yan@arm.com>
2024-04-30 14:20:18 +01:00
Leo Yan
79c6ede09a refactor(tc): move SCMI clock DT binding into tc-base.dtsi
As SCMI clock DT bindings are common for TC platforms, move them into
'tc-base.dtsi'.

As a result, the file 'tc_vers.dtsi' is empty, so removes it.

Change-Id: Iaa7219bbbde8458dcfe01de7ad6c277a960357c5
Signed-off-by: Leo Yan <leo.yan@arm.com>
2024-04-30 14:20:18 +01:00
Leo Yan
4e772e6ba3 refactor(tc): introduce a new file tc-fpga.dtsi
A Total Compute platform supports FVP and FPGA target. And it's possible
that these two targets have different hardware components. For this
reason, this patch introduces a new file tc-fpga.dtsi for FPGA related
DT binding.

As a result, this patch moves out FVP and FPGA specific macros into
tc-fvp.dtsi and tc-fpga.dtsi respectively.

Change-Id: I48d7d30d0c500cec5500f1a2a680e8b3a276ea99
Signed-off-by: Leo Yan <leo.yan@arm.com>
2024-04-30 14:20:18 +01:00
Leo Yan
f9565b2af1 refactor(tc): move out platform specific DT binding from tc-base.dtsi
The main purpose of 'tc-base.dtsi' is for common DT bindings, however,
it contains bindings for platform specific.

This patch moves out these plaform specific bindings to 'tc2.dts' and
'tc3.dts' respectively.

Change-Id: I9355eeff539a3f2940190aef399b4fb4828cbbac
Signed-off-by: Leo Yan <leo.yan@arm.com>
2024-04-30 14:20:18 +01:00
Leo Yan
defcfb2b63 refactor(tc): move out platform specific code from tc_vers.dtsi
Since now every TC board has its own dts file, this patch moves out the
platform specific code from tc_vers.dtsi to the corresponding platform
dts file.

Change-Id: I62e0872eddb2ae18e666a3f8dc0118a539651a9c
Signed-off-by: Leo Yan <leo.yan@arm.com>
2024-04-30 14:20:18 +01:00
Leo Yan
b3a9737ce0 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>
2024-04-30 14:20:18 +01:00
Leo Yan
35028bd7da refactor(tc): rename 'tc_fvp.dtsi' to 'tc-fvp.dtsi'
To follow up the DT naming convention, this patch renames the file
'tc_fvp.dtsi' to 'tc-fvp.dtsi'.

Change-Id: Ib74cc38eb935d3daac87fbab6de4c004b1ceddcc
Signed-off-by: Leo Yan <leo.yan@arm.com>
2024-04-30 14:20:18 +01:00
Leo Yan
ab0450f34d refactor(tc): introduce a new macro ADDRESSIFY()
Now some macros (e.g., MHU_RX_ADDR(0x), MHU_TX_ADDR(0x), etc) add the
prefix '0x' at the beginning of the addresses for hexadecimal values.

For better readability, this patch introduces a new macro ADDRESSIFY(),
which explictly adds the prefix '0x' for hexadecimal values. With this
new macro, address macros can drop the parameter and be simplified to
hexadecimal address value.

Change-Id: Idd1af0394f6ef8288fbff1fd4d86b1709d1c1d16
Signed-off-by: Leo Yan <leo.yan@arm.com>
2024-04-30 14:20:18 +01:00
Leo Yan
154eb0a22f 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>
2024-04-30 10:54:18 +01:00
Chris Kay
3d6c7e590e build: improve diagnostics for unrecognized toolchain tools
Up until recently the build system accepted an arbitrary value for `AS`
and, unbeknownst to anybody, was simply not making use of it. Recent
feedback has revealed that a number of contributors have `AS` explicitly
configured to use the GNU assembler, which is not a supported assembler,
and this breakage has yielded some cryptic error messages, e.g.:

    aarch64-none-elf-as: unrecognized option '-x'

This change introduces human-readable diagnostics to help developers
with diagnosing unsupported toolchain tools:

    The configured AArch64 assembler could not be identified and may not
    be supported:

        aarch64-none-elf-as

    The default AArch64 assembler is:

        aarch64-none-elf-gcc

    The following tools are supported:

      - Arm® Compiler for Embedded `armclang`
      - LLVM Clang (`clang`)
      - GNU GCC (`gcc`)

    The build system will treat this assembler as GNU GCC (`gcc`).

Change-Id: I316036c83be2d45ee83a88846cf65c6ce7ae3c26
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-04-29 12:47:01 +00:00
Chris Kay
784092ee16 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>
2024-04-29 12:47:01 +00:00
Chris Kay
4d1289bd31 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>
2024-04-29 12:47:01 +00:00
Chris Kay
7b45352669 build: separate preprocessing from DTB compilation
This is a small change to separate preprocessing of device tree sources
into their own build step as opposed to combining them. The impact of
this is more on separation of concerns than anything tangible, but it's
helpful to avoid doing more than necessary in a build rule.

Change-Id: I770291bd9d9f627c93e82556a40f753bf27eef93
Signed-off-by: Chris Kay <chris.kay@arm.com>
2024-04-29 12:47:01 +00:00
Chris Kay
758ccb802d 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>
2024-04-29 12:47:01 +00:00
Manish V Badarkhe
93a7a6d0ea Merge "fix(tc): increase stack size when TRUSTED_BOARD_BOOT=0" into integration 2024-04-29 13:32:54 +02:00
Manish V Badarkhe
db2b34d13d Merge "fix(tc): remove timer interrupt from G1S" into integration 2024-04-29 13:32:09 +02:00
Karl Li
0c77651fb4 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
2024-04-29 16:56:32 +08:00
Jason Chen
beefea8a0c docs(maintainers): remove a maintainer for MediaTek SoCs
Change-Id: I56649f80de0a02919befcb42e15847ceb37b1308
Signed-off-by: Jason Chen <Jason-ch.Chen@mediatek.com>
2024-04-29 16:18:23 +08:00
Alex Dobrescu
44ddee6f0a 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>
2024-04-26 16:32:36 +01:00
Manish V Badarkhe
a1901c7d0d 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'
2024-04-26 16:55:04 +02:00
Manish Pandey
f9d40b5c4b 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
2024-04-26 16:22:38 +02:00
Manish Pandey
97e7cfb83b Merge "refactor(docs): restructure min requirements section" into integration 2024-04-26 15:15:51 +02:00
Harrison Mutai
f019c8013e 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>
2024-04-26 09:00:13 +00:00
Harrison Mutai
9c11ed7e3e 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>
2024-04-26 09:00:12 +00:00
Harrison Mutai
469b1d8412 feat(handoff): add TL source files to BL1
Change-Id: Id9843ba0ccfb448cf17e09e0659b743741ae01ac
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-04-26 09:00:12 +00:00
Harrison Mutai
0646c9b293 feat(handoff): add TE's for BL1 handoff interface
`TL_TAG_RW_MEM_LAYOUT64` encapsulates a structure used to represent the
layout of a region of memory on 64-bit platforms [2]. In TF-A this is
used to represent the `meminfo_t` structure passed between BL1 and BL2,
which provides BL2 with information about the space it has available in
BL2. The `TL_TAG_TB_FW_CONFIG` entry type encapsulates the trusted
bootloader firmware configuration [1].

[1] https://github.com/FirmwareHandoff/firmware_handoff/pull/37
[2] https://github.com/FirmwareHandoff/firmware_handoff/pull/36

Change-Id: I1e0eeec2ec204e469896490d42a9dce9b1b2f209
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-04-26 09:00:12 +00:00
Harrison Mutai
6a4da29058 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>
2024-04-26 09:00:12 +00:00
Harrison Mutai
a5566f65fd feat(arm): support FW handoff b/w BL2 & BL31
Add support for the firmware handoff framework between BL2 and BL31.
Create a transfer list in trusted SRAM, leveraging the larger SRAM sizes
in recent models. Load the HW_CONFIG as a TE along with entry point
parameters for BL31 execution.

Change-Id: I7c4c6e8353ca978a13520fb3e15fb2803f0f1d0e
Signed-off-by: Harrison Mutai <harrison.mutai@arm.com>
2024-04-26 09:00:12 +00:00
Manish Pandey
9a31b68bc8 Merge "fix(tc): missing device regions in spmc manifest" into integration 2024-04-26 10:25:00 +02:00
J-Alves
5e4711208d fix(tc): missing device regions in spmc manifest
Signed-off-by: J-Alves <joao.alves@arm.com>
Change-Id: I847c9ec13c3d40dd9de8cf374a81fc6d23a8864c
2024-04-25 17:25:36 +01:00
Manish V Badarkhe
1fba53326a Merge changes from topic "nrd2_refactor" into integration
* changes:
  feat(docs): update maintainer list for neoverse_rd
  refactor(neoverse-rd): remove soc_css.mk from common makefile
  refactor(neoverse-rd): unify GIC SPI range macros
  refactor(neoverse-rd): clean-up nrd_plat_arm_def2.h file
  feat(neoverse-rd): disable SPMD_SPM_AT_SEL2 for N2/V2 platforms
  feat(rdn2): enable AMU if present on the platform
  feat(rdn2): enable MTE2 if present on the platform
  refactor(neoverse-rd): move defines out of platform_def.h
  refactor(neoverse-rd): add defines for ROM, SRAM and DRAM2
  refactor(neoverse-rd): define naming convention for RoS macros
  refactor(neoverse-rd): define naming convention for CSS macros
  refactor(neoverse-rd): refactor mmap macro for RoS device memory region
  refactor(neoverse-rd): refactor mmap macro for CSS device memory region
  refactor(neoverse-rd): set mmap naming convention
  refactor(neoverse-rd): rename nrd_plat_v2.c to align with convention
  refactor(neoverse-rd): refactor nrd_soc_css_def_v2.h file
  refactor(neoverse-rd): refactor nrd_soc_platform_def_v2.h file
  refactor(neoverse-rd): refactor nrd_base_platform_def.h
  refactor(neoverse-rd): header files for second generation platforms
2024-04-25 14:37:15 +02:00
Rohit Mathew
2d7902d9bf feat(docs): update maintainer list for neoverse_rd
Add Rohit.Mathew@arm.com to the maintainer list for Neoverse Reference
Design platforms.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I1b8a5714e2707162dd973d9a50215d0a6b622eb1
2024-04-25 11:43:39 +01:00
Manish V Badarkhe
1285118411 Merge changes from topic "nrd1_refactor" into integration
* changes:
  feat(rdn1edge): remove RD-N1-Edge from deprecated list
  feat(sgi575): remove SGI-575 from deprecated list
  fix(rdn1edge): update RD-N1-Edge's changelog title
  feat(neoverse-rd): add scope for RD-V1-MC
  feat(neoverse-rd): add scope for RD-V1
  feat(neoverse-rd): add scope for SGI-575
  feat(neoverse-rd): disable SPMD_SPM_AT_SEL2 for A75/V1/N1 platforms
  feat(neoverse-rd): enable AMU if supported by the platform
  refactor(neoverse-rd): clean-up nrd_plat_arm_def1.h file
  refactor(neoverse-rd): remove unused defines from platform_def.h
  refactor(neoverse-rd): move defines out of platform_def.h
  refactor(neoverse-rd): rename definitions in nrd_ros_fw_def1.h file
  refactor(neoverse-rd): rename definitions in nrd_ros_def1.h file
  refactor(neoverse-rd): rename definitions in nrd_css_fw_def1.h file
  refactor(neoverse-rd): rename definitions in nrd_css_def1.h file
  refactor(neoverse-rd): rewrite CSS and RoS device mmap macros
  refactor(neoverse-rd): refactor mmap macro for RoS device memory region
  refactor(neoverse-rd): refactor mmap macro for CSS device memory region
  refactor(neoverse-rd): migrate mmap entry from nrd_plat1.c
  refactor(neoverse-rd): rename nrd_plat.c file
  refactor(neoverse-rd): refactor nrd_soc_css_def.h file
  refactor(neoverse-rd): refactor nrd_soc_platform_def.h file
  refactor(neoverse-rd): move away from nrd_base_platform_def.h
  refactor(neoverse-rd): remove inclusion of nrd_base_platform_def.h
  refactor(neoverse-rd): header files for first generation platforms
  refactor(neoverse-rd): refactor scope for Neoverse RD platforms
2024-04-25 11:23:20 +02:00
Ghennadi Procopciuc
e73c3c3a6c feat(s32g274a): enable BL31 stage
Add BL31 prerequisites for the S32G274ARDB2 board to allow single-core
cold boot without MMU and PSCI services.

Change-Id: I8a10fd62f3cc9430083758043ea82e3803f61060
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com>
Signed-off-by: Bogdan Roman <bogdan-gabriel.roman@nxp.com>
Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-04-25 11:22:53 +03:00
Ghennadi Procopciuc
8b81a39e28 feat(s32g274a): add S32G274ARDB2 board support
S32G274ARDB2 is a development board to showcase the capabilities of the
S32G2 SoC. It includes 4 ARM Cortex-A53 cores running at 1.0GHz, 4GBs
of DDR, accelerators for automotive networking and many other
peripherals.

The added support is minimal and only includes the BL2 stage, with no
MMU enabled. The FIP is preloaded by the BootROM in SRAM, and BL2 copies
BL31 and BL33 from FIP to their designated addresses.

Change-Id: Iedda23302768ab70d63787117c5f6f3c21eb9842
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com>
Signed-off-by: Dan Nica <dan.nica@nxp.com>
Signed-off-by: Andra-Teodora Ilie <andra.ilie@nxp.com>
Signed-off-by: Bogdan Roman <bogdan-gabriel.roman@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-04-25 11:22:53 +03:00
Ghennadi Procopciuc
306946b014 feat(nxp-drivers): add Linflex driver
This is a UART controller found on NXP automotive parts.
For instance: S32V, S32G and S32R.

Change-Id: Iff0dd0c379633ac0651e5db287537c87666b57d2
Signed-off-by: Bogdan Hamciuc <bogdan.hamciuc@nxp.com>
Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
2024-04-25 11:22:25 +03:00
Rohit Mathew
8d6fb77a96 refactor(neoverse-rd): remove soc_css.mk from common makefile
The soc_css.mk file within the plat/arm/soc module currently implements
initialization functions for the PCIe controller and NIC400 within the
SOC specification. However, as none of the Neoverse reference design
platforms necessitate the initialization of PCIe or NIC400, remove the
soc_css.mk from the common makefile.

Additionally, empty initialization functions for PCIe and NIC400 are
added to satisfy the requirements of the plat/arm common code, which
expects these functions to be present.

Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com>
Change-Id: Ia431af62f48fc224962d64902dd3acfbf0b93935
2024-04-25 09:11:23 +01:00
Rohit Mathew
a965d73f02 refactor(neoverse-rd): unify GIC SPI range macros
The existing macros representing GIC SPI minimum and maximum for
multichip platforms lack a consistent naming convention. To address
this, establish the convention "NRD_CHIP<x>_SPI_MIN" and
"NRD_CHIP<x>_SPI_MAX" for use across all Neoverse Reference Design
multichip platforms.

Furthermore, extend this naming convention to RD-N2-Cfg2 and introduce
similar macros.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Idca2a8c66579f05e712e3b6e95204fedc122cf23
2024-04-25 09:11:23 +01:00
Rohit Mathew
a0bd619859 refactor(neoverse-rd): clean-up nrd_plat_arm_def2.h file
Consolidate and organize platform port definitions within the
nrd_plat_arm_def2.h file. Remove direct references to addresses with
corresponding RoS or CSS definitions.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ic43cff90d2cf45760b3f808732754cf7c05a814a
2024-04-25 09:11:23 +01:00
Rohit Mathew
301c01748e feat(neoverse-rd): disable SPMD_SPM_AT_SEL2 for N2/V2 platforms
SPMD_SPM_AT_SEL2 is enabled by default for platforms. As the platforms
based on N2/V2 CPUs don't use SPMD_SPM_AT_SEL2, set its value to 0.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ib503c5552e2b8fee928b2392ba40805664d857d7
2024-04-25 09:11:23 +01:00
Rohit Mathew
2cfedfad9c feat(rdn2): enable AMU if present on the platform
Set build-option ENABLE_FEAT_AMU to 2 so that AMU is enabled if the
feature is implemented on the platform. This would ensure that lower ELs
could access system registers relevant to AMU without causing a trap to
EL3.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ic9aa435af54eddacdaa49e69f25893ddaa977e3e
2024-04-25 09:11:23 +01:00
Rohit Mathew
3a5b375303 feat(rdn2): enable MTE2 if present on the platform
MTE2 is an optional feature that could be part of platforms based on Arm
V8.5 or above. If this feature is implemented on the platform, lower ELs
could potentially access the featre registers leading EL3 traps.
Therefore, set MTE2 build option to '2' to enable the feature only if
its implemented on the platform.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I97c341ac38485937eb18ce9bdcffec26c0e5e76d
2024-04-25 09:11:23 +01:00
Rohit Mathew
78b793956f feat(rdn1edge): remove RD-N1-Edge from deprecated list
As RD-N1-Edge is not planned to be deprecated in the upcoming release
cycles, remove it from the deprecated list.

Change-Id: I6af06e7bd162747aab72384185951d218b388ed3
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
2024-04-25 09:11:22 +01:00
Rohit Mathew
c396c823a3 refactor(neoverse-rd): move defines out of platform_def.h
Presently, the second generation platforms have direct references to CSS
and ROS specific addresses within RD-N2's platform header file
(platform_def.h).  Moreover, there are platform port specific macros
defined within platform_def.h To enhance organization and
appropriateness, relocate these definitions to nrd_css_def2.h,
nrd_ros_def2.h and nrd_arm_platform_def1.h files accordingly.  Reuse
these definitions within the platform_def.h files as needed.

Additionally, remove reference to the unused PLAT_ARM_GICC_BASE macro
from the individual platform_def.h file.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I9a237c3ae28d7e209188e2c37c8494b4a420ee83
2024-04-25 09:11:22 +01:00
Rohit Mathew
f104eecdea feat(sgi575): remove SGI-575 from deprecated list
As SGI-575 is not planned to be deprecated in the upcoming release
cycles, remove it from the deprecated list.

Change-Id: Ic9171a3e1bec198d9305e75ac5cae4b40498537e
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
2024-04-25 09:11:22 +01:00
Rohit Mathew
7f693bd993 refactor(neoverse-rd): add defines for ROM, SRAM and DRAM2
In the current setup, the base and size of the ROM, SRAM, and DRAM2
regions are directly defined in the nrd_fw_def2.h file for N2 CPU based
platforms. To enhance modularity and appropriateness, introduce macros
for these definitions in the respective css file (nrd_css_def2.h). While
the maximum sizes for ROM, SRAM, and DRAM2 are specified in the css
specification, the actual implementation sizes may vary. Consequently,
relocate the size macros to the platform-specific platform_def.h file
for individual platforms.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I30988bf63cf942f68188a70697cc43cb6af96a9c
2024-04-25 09:11:22 +01:00
Rohit Mathew
947e78728e refactor(neoverse-rd): define naming convention for RoS macros
As part of the refactoring for the second generation platforms,
introduce a naming convention for macros within nrd_ros_def2.h and
nrd_ros_fw_def2.h.  All macros, except those related to page table
entries, must adhere to the format NRD_ROS_<name>. Page table entry
macros are handled separately and are not part of this patch.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ifcdc30b1c80b9848b793de2013095fc98d57bec6
2024-04-25 09:11:22 +01:00
Rohit Mathew
069bad718f refactor(neoverse-rd): define naming convention for CSS macros
As part of the refactoring for the second generation of platforms,
introduce a naming convention for macros within nrd_css_def2.h and
nrd_css_fw_def2.h. All macros, except those related to page table
entries, must adhere to the format NRD_CSS_<name>. Page table entry
macros are handled separately and are not part of this patch.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ib168320e12f06cd034342c011909896de463ab27
2024-04-25 09:11:22 +01:00
Rohit Mathew
37f59e4ea4 refactor(neoverse-rd): refactor mmap macro for RoS device memory region
There are two macros that define ROS device memory map range and
attributes - one for local chip and the other for remote chip. Refactor
these two macros into a single macro that uses the chip ID to identify
the local or the remote chip.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: I58eb65c2f046b6074f848f1448cd10a7dcc37f74
2024-04-25 09:11:22 +01:00
Rohit Mathew
9f1ba0af69 refactor(neoverse-rd): refactor mmap macro for CSS device memory region
There are two macros that define CSS device memory map range and
attributes - one for local chip and the other for remote chip. Refactor
these two macros into a single macro that uses the chip ID to identify
the local or the remote chip. While at it, rename the macro that defines
the memory map range and attributes for the remote shared RAM region.

Signed-off-by: Rohit Mathew <rohit.mathew@arm.com>
Change-Id: Ieddd5c81f6261490dbacb97160858903e56d327a
2024-04-25 09:11:22 +01:00