Hi Sahil, > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of sahil via > groups.io > Sent: Thursday, November 16, 2023 11:46 AM > To: devel@edk2.groups.io > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>; Leif Lindholm > <quic_llind...@quicinc.com>; Sami Mujawar <sami.muja...@arm.com>; > Sahil Kaushal <sahil.kaus...@arm.com> > Subject: [edk2-devel] [edk2-platforms][PATCH V1 2/5] > Silicon/ARM/NeoverseN1Soc: NOR flash library for N1Sdp > > Add NOR flash library, this library provides APIs for getting the list > of NOR flash devices on the platform. > > Signed-off-by: sahil <sa...@arm.com> > --- > Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.inf | 36 > ++++++++++++++ > Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.c | 52 > ++++++++++++++++++++ > 2 files changed, 88 insertions(+) > > diff --git a/Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.inf > b/Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.inf > new file mode 100644 > index 000000000000..14f81125c4e1 > --- /dev/null > +++ b/Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.inf > @@ -0,0 +1,36 @@ > +## @file > > +# NOR flash lib for ARM Neoverse N1 platform. > > +# > > +# Copyright (c) 2023, ARM Limited. All rights reserved.<BR> > > +# > > +# SPDX-License-Identifier: BSD-2-Clause-Patent > > +# > > +## > > + > > +[Defines] > > + INF_VERSION = 0x0001001B > > + BASE_NAME = NorFlashNeoverseN1SocLib > > + FILE_GUID = 7006fcf1-a585-4272-92e3-b286b1dff5bb > > + MODULE_TYPE = DXE_DRIVER > > + VERSION_STRING = 1.0 > > + LIBRARY_CLASS = NorFlashPlatformLib > > + > > +[Sources.common] > > + NorFlashLib.c > > + > > +[Packages] > > + MdeModulePkg/MdeModulePkg.dec > > + MdePkg/MdePkg.dec > > + Platform/ARM/ARM.dec > > + Silicon/ARM/NeoverseN1Soc/NeoverseN1Soc.dec > > + > > +[LibraryClasses] > > + BaseLib > > + DebugLib > > + IoLib > > + > > +[FixedPcd] > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize > > diff --git a/Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.c > b/Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.c > new file mode 100644 > index 000000000000..a508d7d77373 > --- /dev/null > +++ b/Silicon/ARM/NeoverseN1Soc/Library/NorFlashLib/NorFlashLib.c > @@ -0,0 +1,52 @@ > +/** @file > > +* NOR flash lib for ARM Neoverse N1 platform > > +* > > +* Copyright (c) 2023, ARM Limited. All rights reserved.<BR> > > +* > > +* SPDX-License-Identifier: BSD-2-Clause-Patent > > +* > > +**/ > > + > > +#include <Library/DebugLib.h> > > +#include <Library/IoLib.h> > > +#include <Library/NorFlashPlatformLib.h> > > +#include <NeoverseN1Soc.h> > > +#include <PiDxe.h> > > + > > +#define FW_ENV_REGION_BASE FixedPcdGet32 > (PcdFlashNvStorageVariableBase) > > +#define FW_ENV_REGION_SIZE (FixedPcdGet32 > (PcdFlashNvStorageVariableSize) + \ > > + FixedPcdGet32 > (PcdFlashNvStorageFtwWorkingSize) + \ > > + FixedPcdGet32 > (PcdFlashNvStorageFtwSpareSize))
Why is FtwWorkingSize and FtwSpareSize included in the calculation of the size? Are these not offsets inside a flash region? > > + > > +STATIC NOR_FLASH_DESCRIPTION mNorFlashDevices[] = { > > + { > > + /// Environment variable region > > + NEOVERSEN1SOC_SCP_QSPI_AHB_BASE, ///< device base > > + FW_ENV_REGION_BASE, ///< region base > > + FW_ENV_REGION_SIZE, ///< region size > > + SIZE_4KB, ///< block size > > + }, > > +}; > > + > > +/** > > + Get NOR flash region info > > + > > + @param[out] NorFlashDevices NOR flash regions info. > > + @param[out] Count number of flash instance. > > + > > + @retval EFI_SUCCESS Success. > > +**/ > > +EFI_STATUS > > +NorFlashPlatformGetDevices ( > > + OUT NOR_FLASH_DESCRIPTION **NorFlashDevices, > > + OUT UINT32 *Count > > + ) > > +{ > > + if ((NorFlashDevices == NULL) || (Count == NULL)) { > > + return EFI_INVALID_PARAMETER; > > + } > > + > > + *NorFlashDevices = mNorFlashDevices; > > + *Count = ARRAY_SIZE (mNorFlashDevices); > > + return EFI_SUCCESS; > > +} > > -- > 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112184): https://edk2.groups.io/g/devel/message/112184 Mute This Topic: https://groups.io/mt/102625034/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-