| 527fc465 | 07-Feb-2024 |
Vivek Gautam <vivek.gautam@arm.com> |
feat(neoverse-rd): enable RESET_TO_BL31 for RD-V3
Update addresses for BL31, BL33 and NT_FW_CONFIG. Also add the PAS entries to setup GPT tables in BL31.
Signed-off-by: Vivek Gautam <vivek.gautam@a
feat(neoverse-rd): enable RESET_TO_BL31 for RD-V3
Update addresses for BL31, BL33 and NT_FW_CONFIG. Also add the PAS entries to setup GPT tables in BL31.
Signed-off-by: Vivek Gautam <vivek.gautam@arm.com> Signed-off-by: Rakshit Goyal <rakshit.goyal@arm.com> Change-Id: I8947660bb96fdf2f178e560b387e4bc93bf68abf
show more ...
|
| a0674ab0 | 07-May-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(cm): remove el1 context when SPMD_SPM_AT_SEL2=1
* Currently, EL1 context is included in cpu_context_t by default for all the build configurations. As part of the cpu context structure,
refactor(cm): remove el1 context when SPMD_SPM_AT_SEL2=1
* Currently, EL1 context is included in cpu_context_t by default for all the build configurations. As part of the cpu context structure, we hold a copy of EL1, EL2 system registers, per world per PE. This context structure is enormous and will continue to grow bigger with the addition of new features incorporating new registers.
* Ideally, EL3 should save and restore the system registers at its next lower exception level, which is EL2 in majority of the configurations.
* This patch aims at optimising the memory allocation in cases, when the members from the context structure are unused. So el1 system register context must be omitted when lower EL is always x-EL2.
* "CTX_INCLUDE_EL2_REGS" is the internal build flag which gets set, when SPD=spmd and SPMD_SPM_AT_SEL2=1 or ENABLE_RME=1. It indicates, the system registers at EL2 are context switched for the respective build configuration. Here, there is no need to save and restore EL1 system registers, while x-EL2 is enabled.
Henceforth, this patch addresses this issue, by taking out the EL1 context at all possible places, while EL2 (CTX_INCLUDE_EL2_REGS) is enabled, there by saving memory.
Change-Id: Ifddc497d3c810e22a15b1c227a731bcc133c2f4a Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 42e35d2f | 11-Apr-2024 |
Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com> |
refactor(cm): convert el1-ctx assembly offset entries to c structure
Currently the EL1 part of the context structure (el1_sysregs_t), is coupled with feature flags reducing the context memory alloca
refactor(cm): convert el1-ctx assembly offset entries to c structure
Currently the EL1 part of the context structure (el1_sysregs_t), is coupled with feature flags reducing the context memory allocation for platforms, that don't enable/support all the architectural features at once.
Similar to the el2 context optimization commit-"d6af234" this patch further improves this section by converting the assembly context-offset entries into a c structure. It relies on garbage collection of the linker removing unreferenced structures from memory, as well as aiding in readability and future maintenance. Additionally, it eliminates the #ifs usage in 'context_mgmt.c' source file.
Change-Id: If6075931cec994bc89231241337eccc7042c5ede Signed-off-by: Jayanth Dodderi Chidanand <jayanthdodderi.chidanand@arm.com>
show more ...
|
| 47348b1c | 28-Nov-2023 |
Rohit Mathew <Rohit.Mathew@arm.com> |
feat(neoverse-rd): add MHUv3 channels on third gen multichip platforms
Add MHUv3 doorbell channel information to scmi_channel_plat_info_t for third generation of multichip Neoverse reference design
feat(neoverse-rd): add MHUv3 channels on third gen multichip platforms
Add MHUv3 doorbell channel information to scmi_channel_plat_info_t for third generation of multichip Neoverse reference design platforms.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Signed-off-by: Vivek Gautam <vivek.gautam@arm.com> Change-Id: Ie4ebf47a10f2f6e33c7ecfc8008e30bacc62bf3d
show more ...
|
| 46d474fc | 25-Oct-2022 |
Shriram K <shriram.k@arm.com> |
feat(neoverse-rd): add MHUv3 doorbell channels on third gen platforms
Define and use a new scmi_channel_plat_info_t structure specific to third generation Neoverse platforms in order to use MHUv3 do
feat(neoverse-rd): add MHUv3 doorbell channels on third gen platforms
Define and use a new scmi_channel_plat_info_t structure specific to third generation Neoverse platforms in order to use MHUv3 doorbell channels. The structure uses the existing mhu_ring_doorbell method for ring_doorbell implementation.
Signed-off-by: Shriram K <shriram.k@arm.com> Signed-off-by: Vivek Gautam <vivek.gautam@arm.com> Change-Id: Icf3be5305df94ba944038a4d4fdf0ccf32168650
show more ...
|
| 6a0cb487 | 10-Mar-2023 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(rdfremont): add support for RD-Fremont-Cfg1
Add the required source and header files to support RD-Fremont-Cfg1, which is a variant of RD-Fremont. RD-Fremont-Cfg1 hosts a smaller mesh and lower
feat(rdfremont): add support for RD-Fremont-Cfg1
Add the required source and header files to support RD-Fremont-Cfg1, which is a variant of RD-Fremont. RD-Fremont-Cfg1 hosts a smaller mesh and lower number of cores when compared with RD-Fremont.
Signed-off-by: Shriram K <shriram.k@arm.com> Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I720b0e76174123c8aab64b39e9468b28614607b9
show more ...
|
| c72e9dcd | 05-Feb-2024 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse-rd): add multichip pas entries
RD-Fremont-Cfg2, the quad-chip variant of RD-Fremont supports 8 DRAM banks compared to RD-Fremont and RD-Fremont-Cfg1, which only support 2. Therefore, d
feat(neoverse-rd): add multichip pas entries
RD-Fremont-Cfg2, the quad-chip variant of RD-Fremont supports 8 DRAM banks compared to RD-Fremont and RD-Fremont-Cfg1, which only support 2. Therefore, define PAS entry mappings for all the DRAM banks, so that they could be utilized on the multichip variant.
Signed-off-by: Rohit Mathew <Rohit.Mathew@arm.com> Change-Id: Ief235581c0066a95528235b9821646f864e14d3a
show more ...
|
| 896e9aa9 | 26-Dec-2023 |
Rohit Mathew <Rohit.Mathew@arm.com> |
feat(neoverse-rd): add pas definitions for third gen platforms
Since the GPT setup is now delegated to the platform, each platform needs to include PAS definitions according to its specifications. T
feat(neoverse-rd): add pas definitions for third gen platforms
Since the GPT setup is now delegated to the platform, each platform needs to include PAS definitions according to its specifications. This commit adds PAS definitions specifically tailored for RD-Fremont variants.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I1a23029a74401fb1faa70bb6c2e66093ed08c45a
show more ...
|
| 10eb4c4b | 29-Dec-2023 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse-rd): add DRAM layout for third gen platforms
Given the differences in memory map of the third generation reference design platforms, it is necessary to move away from the common DRAM l
feat(neoverse-rd): add DRAM layout for third gen platforms
Given the differences in memory map of the third generation reference design platforms, it is necessary to move away from the common DRAM layout present as part of arm_def.h. Therefore, introduce definitions and necessary carveouts within DRAM to define a new DRAM layout for these platforms.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I79af066f41259f147febdc3c00447db5be995799
show more ...
|
| 5a37d68c | 26-Dec-2023 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse-rd): add SRAM layout for third gen platforms
Given the differences in memory map and additional RME requirements for the V3 CPU based platforms, it is necessary to move away from the c
feat(neoverse-rd): add SRAM layout for third gen platforms
Given the differences in memory map and additional RME requirements for the V3 CPU based platforms, it is necessary to move away from the common SRAM layout present as part of arm_def.h. Therefore, introduce definitions and necessary carveouts within SRAM to define a new SRAM layout for these platforms.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I2d0ef65abde66da7523dd9e09036c7803978570c
show more ...
|
| e517ccf5 | 26-Mar-2024 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse-rd): add firmware definitions for third gen platforms
Add firmware definitions for the third generation of platforms. The following files are added -
- nrd_css_fw_def3.h: for CSS firm
feat(neoverse-rd): add firmware definitions for third gen platforms
Add firmware definitions for the third generation of platforms. The following files are added -
- nrd_css_fw_def3.h: for CSS firmware definitions - nrd_ros_fw_def3.h : for RoS firmware definitions - nrd_plat_arm_def3.h: for platform port macros
All the common files for these platforms are housed under nrd3 directory.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I085d609cfe1686d28d1c467fb34d45af47e00eb6
show more ...
|
| fad5a209 | 26-Mar-2024 |
Rohit Mathew <rohit.mathew@arm.com> |
feat(neoverse-rd): add RoS definitions for third gen platforms
Add RoS definitions for third generation of platforms. Common definitions for such platforms would be housed in the nrd3 directory unde
feat(neoverse-rd): add RoS definitions for third gen platforms
Add RoS definitions for third generation of platforms. Common definitions for such platforms would be housed in the nrd3 directory under includes.
Signed-off-by: Rohit Mathew <rohit.mathew@arm.com> Change-Id: I2062c71676f27b4d17a3069b955565670f62a76c
show more ...
|
| 8d6fb77a | 31-Dec-2023 |
Rohit Mathew <Rohit.Mathew@arm.com> |
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 with
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
show more ...
|