summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-07-22AmdPlatformPkg: Removes AcpiCommon driverCodeCleanupAbdul Lateef Attar7-2256/+0
Removes AcpiCommon driver. Driver is split into multiple libraries and moved under AmdPlatformPkg/DynamicTables folder. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-22AmdMinBoardPkg: Removes ACPI table patching codeAbdul Lateef Attar3-249/+0
Remove the ACPI table patching code. All required AMD ACPI tables will be installed by AmdPlatformPkg. Hence no need to patch the ACPI tables. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-19ManageabilityPkg: add support for the phosphor ipmi blob transfer protocolNickle Wang9-0/+2821
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4773 This change implements the blob transfer protocol used in OpenBmc documented here: https://github.com/openbmc/phosphor-ipmi-blobs Signed-off-by: Nick Ramirez <nramirez@nvidia.com> Co-authored-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com> Cc: Tinh Nguyen <tinhnguyen@amperemail.onmicrosoft.com> Cc: Nhi Pham <nhi@os.amperecomputing.com> Cc: Thang Nguyen OS <thang@amperemail.onmicrosoft.com> Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
2024-07-18AmdPlatformPkg/DynamicTables: Creates ACPI FADT tableAbdul Lateef Attar3-0/+319
Creates ACPI FADT table during boot time. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-18AmdPlatformPkg/DynamicTables: Creates ACPI MCFG tableAbdul Lateef Attar3-0/+193
Creates ACPI MCFG table during boot time. Adds a library to generate and install MCFG table. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-18AmdPlatformPkg/DynamicTables: Create ACPI MADT/APIC tableAbdul Lateef Attar3-0/+872
Creates MADT/APIC table during boot time. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-18AmdPlatformPkg: Creates ACPI SSDT PCI toplogyAbdul Lateef Attar3-0/+1705
Generates ACPI SSDT PCI topology. Append the PCI SSDT tolology to the DSDT table. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-18AmdPlatformPkg/DynamicTables: Creates ACPI SSDT CPU topologyAbdul Lateef Attar3-0/+662
Create ACPI SSDT CPU toplogy. Append the CPU SSDT topology to the DSDT table. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-07Platform/Intel: Set PcdAcpiBaseAddress for PEI MM CommunicationJiaxin Wu1-0/+2
Set PcdAcpiBaseAddress to 0x400 for PEI MM communication. Signed-off-by: Wei6 Xu <wei6.xu@intel.com> Co-authored-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-07-07Platform/Intel: Install an SMM Control PPIJiaxin Wu2-0/+5
Install an instance of EFI_PEI_MM_CONTROL_PPI. This PPI provides a standard way for other modules to trigger software SMIs. Signed-off-by: Ray Ni <ray.ni@intel.com> Co-authored-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-07-07Platform/Intel: Add SmmControlLib libJiaxin Wu1-0/+1
This patch is to add SmmControlLib. Signed-off-by: Ray Ni <ray.ni@intel.com> Co-authored-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-07-05Platform/Intel: Consume SmmRelocationInit interfaceJiaxin Wu4-2/+94
Do the smm relocation during platform init. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-07-05Platform/Intel: Add SmmRelocationLib libJiaxin Wu1-0/+2
This patch is to add SmmRelocationLib for SMM CPU driver usage. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-07-04SbsaQemu: use FEAT_RNG for EFI_RNG_PROTOCOLMarcin Juszkiewicz2-0/+7
By default we have Neoverse-N2 cpu which supports FEAT_RNG feature. This allows us to add RngDxe to have EFI_RNG_PROTOCOL available on Neoverse-N2 and 'max' cpu cores. Commit 5de5e230a80bed083360da95ba16a2c4a001620d (in EDK2) enabled that for ArmVirt platform. RNDR is implemented by both Neoverse-N2 and 'max' cpu implemented by QEMU. Other cpu models lack it which prevents the RngDxe driver from running, resulting in the same situation as before. TRNG is not implemented in TCG mode but is required by RngDxe to run. On older cpu cores nothing changes. Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
2024-07-04Silicon/RiscVOpensbiLib: fix submodule versionLeif Lindholm1-0/+0
Commit 4f32c34865de, ("Platform/AMD: Initial commit of cross platform/board interfaces") presumably by accident reverts the opensbi submodule update done in commmit 2d8289634ec9 ("ProcessorPkg/opensbi: Update opensbi library"). Correct this and restore the submodule version. Cc: Daniel Schaefer <git@danielschaefer.me> Cc: Sunil V L <sunilvl@ventanamicro.com> Cc: Abner Chang <abner.chang@amd.com> Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
2024-07-04Platform/SiFive: add RiscVMmuLib mapping for U540Leif Lindholm1-0/+1
The freedom unleashed platform currently fails to build due to a missing mapping for RiscVMmuLib, so add one. Cc: Daniel Schaefer <git@danielschaefer.me> Cc: Sunil V L <sunilvl@ventanamicro.com> Cc: Abner Chang <abner.chang@amd.com> Reported-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
2024-07-04Platform/SiFive: CRLF fixup in U540.dscLeif Lindholm1-1/+1
Cc: Daniel Schaefer <git@danielschaefer.me> Cc: Sunil V L <sunilvl@ventanamicro.com> Cc: Abner Chang <abner.chang@amd.com> Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
2024-07-04Maintainers.txt: fix entry for SiFive U5SeriesPkgLeif Lindholm1-2/+2
There was an error in the wildcard path described for U5SeriesPkg, so it failed to match. Fix the mistake. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Daniel Schaefer <git@danielschaefer.me> Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2024-07-03AmdPlatformPkg/DynamicTables: Adds FACS Table generatorAbdul Lateef Attar3-0/+258
Adds a library to generate and install FACS table. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-03AmdPlatformPkg/DynamicTables: Adds SPMI Table generatorAbdul Lateef Attar3-0/+196
Adds a library to generate and install SPMI table. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-03AmdPlatformPkg/DynamicTables: Adds WSMT Table generatorAbdul Lateef Attar3-0/+146
Adds a library to generate and install WSMT table. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-07-03AmdPlatformPkg/DynamicTables: Adds HPET Table generatorAbdul Lateef Attar3-0/+187
Adds a library to generate and install HPET table. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-06-28Silicon/Intel: Support MM_STANDALONE for the PCH SPI InterfaceJiaxin Wu4-10/+76
This patch Add a new PchSpiStandaloneMm.inf driver for the PCH SPI Interface support. Signed-off-by: Ray Ni <ray.ni@intel.com> Co-authored-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-06-28Silicon/Intel: Support MM_STANDALONE for SmmSpiFlashCommonLibJiaxin Wu2-10/+11
Signed-off-by: Ray Ni <ray.ni@intel.com> Co-authored-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-06-28Platform/Intel: Enable the PcdSmrrEnableJiaxin Wu1-1/+1
This patch is to enable the PcdSmrrEnable since the simics report it has the capability to enable the smrr. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
2024-06-25SbsaQemu: bump OemRevision to todayMarcin Juszkiewicz1-1/+1
Lot of time passed since 10th of August 2020 when this platform was added to EDK2-platforms repository. So let bump PcdAcpiDefaultOemRevision value to today. So everyone will see during OS boot that things are changing. Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
2024-06-24Platform/ARM: drop use of PcdArmArchTimerFreqInHzLeif Lindholm4-12/+0
Some Arm ltd. platforms explicitly set PcdArmArchTimerFreqInHz, however the intended effect of that is not possible from AArch64 EL2/1, and has never been performed unless built for ARM. The Pcd is now being deleted, so drop the setting. This has however affected timer timout calculations, so could lead to a change in platform behaviour. Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Thomas Abraham <thomas.abraham@arm.com> Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-06-23SbsaQemu: reformat all sources using uncrustifyMarcin Juszkiewicz15-560/+606
uncrustify is required in EDK2 repository. SbsaQemu (and other platforms in edk2-platforms) code was free from using it IIRC. Reformat all files to make new contributions easier. We can recommend formatting sources without generating extra work for developers. Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
2024-06-22IpmiFeaturePkg/GenericIpmi: add EFIAPI for driver entrypointsMike Maslenkin3-0/+3
Fix gcc build failure: IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.c:414:1: error: conflicting types for 'InitializeSmmGenericIpmi' 414 | InitializeSmmGenericIpmi ( | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from <command-line>: IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi/DEBUG/AutoGen.h:138:1: note: previous declaration of 'InitializeSmmGenericIpmi' was here 138 | InitializeSmmGenericIpmi ( | ^~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn>
2024-06-22IpmiFeaturePkg/GenericIpmi: add IpmiFeaturePkg.dec to packages listMike Maslenkin1-0/+1
GCC is unable to find a header file located into IpmiFeaturePkg: fatal error: Library/ServerMgmtRtLib.h: No such file or directory 11 | #include <Library/ServerMgmtRtLib.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn>
2024-06-21Platform,Silicon: drop redundant uses of PcdArmArchTimerFreqInHzLeif Lindholm11-40/+0
PcdArmArchTimerFreqInHz is about to be removed, as it is now obsolete. Some platforms already explicitly set it to 0, which is the default. And some modules reference it in their .inf without actually ever using it. Drop these redundant uses first. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Chuong Tran <chuong@os.amperecomputing.com> Cc: Graeme Gregory <graeme@xora.org.uk> Cc: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com> Cc: Nhi Pham <nhi@os.amperecomputing.com> Cc: Rebecca Cran <rebecca@os.amperecomputing.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Thomas Abraham <thomas.abraham@arm.com> Cc: Wenyi Xie <xiewenyi2@huawei.com> Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Nhi Pham <nhi@os.amperecomputing.com>
2024-06-21Platform/SbsaQemu: fix .dsc line endingsLeif Lindholm5-5/+5
A patch adding a mapping for ImagePropertiesRecordLib introduced a bunch of LF line endings in otherwise CRLF files, so clean that up. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Chuong Tran <chuong@os.amperecomputing.com> Cc: Graeme Gregory <graeme@xora.org.uk> Cc: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Cc: Marcin Wojtas <marcin.s.wojtas@gmail.com> Cc: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com> Cc: Narinder Dhillon <ndhillon@marvell.com> Cc: Nhi Pham <nhi@os.amperecomputing.com> Cc: Rebecca Cran <rebecca@os.amperecomputing.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Thomas Abraham <thomas.abraham@arm.com> Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2024-06-19QemuSbsa: enable WriteCombine for the FrameBufferMarcin Juszkiewicz1-0/+3
QEMU no longer permits misaligned access to device memory, which breaks QemuVideoDxe on SbsaQemu. c1d1910be6e04a8b1a73090cf2881fb698947a6e commit in EDK2 fixed it by enabling WriteCombine for Framebuffer memory. This change enables that fix. Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
2024-06-19IntelSiliconPkg: Update Header File to Align FIT Specification 1.5Jason1 Lin1-9/+52
(1) Add the below definition for FIT entry type - FIT_TYPE_03_DIAGNOSTIC_ACM - FIT_TYPE_05_MMC_FIRMWARE_IMAGE - FIT_TYPE_06_FIT_RESET_STATE - FIT_TYPE_1A_VAB_PROVISIONING_TABLE - FIT_TYPE_1B_VAB_KEY_MANIFEST - FIT_TYPE_1C_VAB_IMAGE_MANIFEST - FIT_TYPE_1D_VAB_IMAGE_HASH_DESC - FIT_TYPE_2C_SACM_DEBUG - FIT_TYPE_2E_GRANULAR_SCRTM_ERROR (2) Add the below definition to support FIT table range - FIT_TABLE_LOWER_ADDRESS - FIT_TABLE_UPPER_ADDRESS (3) Add the below definition and structure for Type02 (Ver. 0x200) entry - FIT_TYPE_02_VERSION_200 - FIT_TYPE_02_VERSION_200_ENTRY Cc: Ashraf Ali S <ashraf.ali.s@intel.com> Cc: Rangasai V Chaganty <rangasai.v.chaganty@intel.com> Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Jason1 Lin <jason1.lin@intel.com>
2024-06-12Platform/Loongson: Remove minimium memory size limitationBibo Mao4-11/+37
Temparory stack memory on PEI is hardcoded now, also minimium memory size 256M is hardcoded now. Here memory map table from fw cfg can be parsed. If there is memory map entry contains pei stack, it can be published as usable memory at PEI stage. Cc: Bibo Mao <maobibo@loongson.cn> Cc: Chao Li <lichao@loongson.cn> Signed-off-by: Bibo Mao <maobibo@loongson.cn> Signed-off-by: Xianglai Li <lixianglai@loongson.cn> Reviewed-by: Chao Li <lichao@loongson.cn>
2024-06-10AmdPlatform/SpiHcPlatformLib: Implements SpiHcPlatformLib libraryAbdul Lateef Attar11-0/+1519
Implements SpiHcPlatformLib library for AMD platform. Its AMD platform specific SPI host controller library. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-06-06Platform/Sgi: Extend SMBIOS support for RD-FremontPrabin CA5-2/+20
Extend the SMBIOS support for RD-Fremont platform. RD-Fremont is a 16 core platform with Poseidon CPU. Each of the CPUs include 64KB L1 Data cache, 64KB L1 Instruction cache and 2MB L2 cache. The platform also includes system level cache of 32MB and 8GB of RAM. Signed-off-by: Prabin CA <prabin.ca@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-06-06Platform/Sgi: Extend SMBIOS support for RD-V2 platformPranav Madhu3-6/+30
The Neoverse RD-V2 FVP platform includes 16 CPUs and each CPU has 64KB of L1 instruction/data cache, 2MB of L2 cache and 32MB of system level cache. Extend the SMBIOS support for RD-V2 platform with this configuration and reuse rest of the RD-N2 SMBIOS configuration for the RD-V2 platform. Signed-off-by: Prabin CA <prabin.ca@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-06-06Platform/Sgi: Define RD-V2 platform id valuesPranav Madhu2-2/+13
Add RD-V2 platform identification values including the part number and configuration number. This information will be used in populating the SMBIOS tables. Signed-off-by: Prabin CA <prabin.ca@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-06-06Platform/Sgi: Use PCD value for L2 cache size in PPTT tablePrabin CA3-1/+3
The PcdL2CacheSize PCD specifies the size of L2 cache of the CPU. Use the size specified by this PCD in the PPTT table of the RD-N2 platform. The size of the CPU's L2 cache can be configured at build time using the --pcd command line option of the build command. e.g. To set the L2CacheSize to 2MB specify the pcd option as: $ build ... -p <DSC file> --pcd PcdL2CacheSize=0x200000 This allows changing the value of the L2 cache size depending the variant of the RD-N2 platform being build. RD-V2 platform is an example of such a variant. Signed-off-by: Prabin CA <prabin.ca@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-06-06Platform/Sgi: Add a new PCD for L2 cache sizePrabin CA1-0/+3
A new PCD named PcdL2CacheSize is introduced to specify the size of the CPU's L2 cache. This PCD can be used in PPTT tables for a reference design platform. The default value of this PCD is set to 1MB but can be changed depending on the variant of the reference design platform. Signed-off-by: Prabin CA <prabin.ca@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-06-06AmdPlatformPkg/SpiFvb: Adds SPI firmware volume driverAbdul Lateef Attar9-8/+1070
Implements SPI firmware volume driver for SPI. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-06-06AmdPlatformPkg/Spi: Adds BoardSpiConfig driverAbdul Lateef Attar10-0/+613
Adds BoardSpiConfig DXE and SMM driver. This driver installs EFI_SPI_CONFIGURATION_PROTOCOL protocol. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-06-05AmdMinBoardPkg: Implements PlatformSecLib libraryAbdul Lateef Attar14-9/+3322
Implements PlatformSecLib Library for AMD platforms. Cc: Abner Chang <abner.chang@amd.com> Cc: Paul Grimes <paul.grimes@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-05-29Platform/ARM/N1Sdp: Enable FaultTolerantWrite Dxe driver for N1Sdpsahil2-0/+6
This driver enables Fault Tolerant Write protocol, which provides fault tolerant write capability for block devices. Signed-off-by: sahil <sahil@arm.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-05-29Platform/ARM/N1Sdp: Persistent storage for N1Sdpsahil2-5/+16
Enable persistent storage on QSPI flash device. Signed-off-by: sahil <sahil@arm.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-05-29Platform/ARM: Add CadenceQspiNorFlashDeviceLib for NorFlashDxesahil3-0/+1092
In N1Sdp platform, the SoC is connected to IOFPGA which has a Cadence Quad SPI (QSPI) controller. This QSPI controller manages the flash chip device via QSPI bus. This patch adds CadenceQspiNorFlashDeviceLib which is used to manage and access the above configuration. Signed-off-by: sahil <sahil@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-05-29Silicon/ARM/NeoverseN1Soc: NOR flash library for N1Sdpsahil3-0/+117
Add NOR flash library, this library provides APIs for getting the list of NOR flash devices on the platform. This flash is shared between AP core and System Control Processor. The lower addresses are used to store SCP and AP boot images and higher addresses will be used for variable storage. Signed-off-by: sahil <sahil@arm.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-05-29Silicon/ARM/NeoverseN1Soc: Enable SCP QSPI flash regionsahil2-1/+14
Enable SCP QSPI flash region access by adding it in the PlatformLibMem. This flash is shared between AP core and System Control Processor. The lower addresses are used to store SCP and AP boot images and higher addresses will be used for variable storage. Signed-off-by: sahil <sahil@arm.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2024-05-29Platform/ARM: Add optional provision to fetch and print NOR Flash infosahil11-0/+83
This patch adds an optional functionality in NorFlashDxe to fetch and print NOR Flash information from NorFlashInfoLib using its JEDEC ID. NOR Flash libraries will implement a function "NorFlashReadID" which will fetch and return JEDEC ID. This JEDEC ID can be then printed along with the NOR Flash info by NorFlashInfoLib. If this functionality is not needed then the function can just return EFI_UNSUPPORTED. Signed-off-by: sahil <sahil@arm.com> Reviewed-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: levi.yun <yeoreum.yun@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>