audk/EmbeddedPkg/Library
Marcin Wojtas 7046610163 EmbeddedPkg: Implement NorFlashInfoLib
The SPI NOR flash drivers which base on ArmPlatformPkg's
NorFlashDxe usually make use of static declarations of the
flash instances with their type and parameters. As a result
it implies hardcoding the exact way of flash handling, not to
mention the code does not look very nice. Much better solution
would be obtaining the flash ID and hence its description
in runtime.

JEDEC compliant SPI NOR devices allow to obtain their IDs with
READ_ID command (0x9f), which should return the vendor ID byte,
followed by 2 to 4 following device ID bytes. Use this capability
for implementing a NorFlashInfoLib that gives an access to the
NOR flash description data, such as name, page size, sector
(block) size and others, of more than 50 different models.
The new library user should pass an output array from issuing
READ_ID command to the NorFlashGetInfo () routine - if the
match is found, an allocated (optionally for RT) pool with
the flash description copy will be returned.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-11-07 15:26:41 +00:00
..
AcpiLib EmbeddedPkg/AcpiLib: Introduced LocateAndInstallAcpiFromFvConditional() 2015-05-29 14:39:41 +00:00
AndroidBootImgLib EmbeddedPkg/AndroidBoot: boot android kernel from storage 2017-08-20 12:36:34 +01:00
CoherentDmaLib EmbeddedPkg/CoherentDmaLib: add support for non-1:1 DMA translation 2017-08-30 14:13:20 +01:00
DebugAgentTimerLibNull EmbeddedPkg: Rectify file modes 2016-02-02 11:42:51 +00:00
DxeDtPlatformDtbLoaderLibDefault EmbeddedPkg: add base DtPlatformDtbLoaderLib implementation 2017-03-31 13:17:55 +01:00
DxeHobPeCoffLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
EblAddExternalCommandLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
EblCmdLibNull ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
EblNetworkLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
EfiFileLib EmbeddedPkg/EfiFileLib: eliminate deprecated string function calls 2016-10-28 15:54:00 +01:00
FdtLib EmbeddedPkg: Rectify file modes 2016-02-02 11:42:51 +00:00
GdbDebugAgent EmbeddedPkg/GdbDebugAgent: fix VOID* cast of incorrect size 2016-10-28 13:51:41 +01:00
GdbSerialDebugPortLib EmbeddedPkg: Fix typos in comments 2016-10-19 16:31:58 +01:00
GdbSerialLib EmbeddedPkg: Fix typos in comments 2016-10-19 16:31:58 +01:00
HalRuntimeServicesExampleLib EmbeddedPkg: Fix typos in comments 2016-10-19 16:31:58 +01:00
LzmaHobCustomDecompressLib ArmPlatformPkg: Use LzmaDecompress support from MdeModulePkg 2015-04-08 19:58:50 +00:00
NonCoherentDmaLib EmbeddedPkg: implement NonCoherentDmaLib based on ArmDmaLib 2017-08-30 14:13:30 +01:00
NorFlashInfoLib EmbeddedPkg: Implement NorFlashInfoLib 2017-11-07 15:26:41 +00:00
PlatformHasAcpiLib MdeModulePkg: move PlatformHasAcpiGuid from EmbeddedPkg 2017-04-05 16:59:13 +01:00
PrePiExtractGuidedSectionLib EmbeddedPkg: Fix typos in comments 2016-10-19 16:31:58 +01:00
PrePiHobLib EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob 2017-10-10 20:54:47 +08:00
PrePiLib EmbeddedPkg/PrePiLib: allocate code pages for DxeCore 2017-03-14 20:08:31 +00:00
PrePiMemoryAllocationLib EmbeddedPkg: make PrePiMemoryAllocationLib a SEC type library 2016-08-03 15:45:23 +02:00
TemplateRealTimeClockLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
TemplateResetSystemLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
TimeBaseLib EmbeddedPkg: import EfiTimeBaseLib (as TimeBaseLib) 2017-05-10 14:28:14 +01:00