diff options
author | Pipat Methavanitpong <methavanitpong.pipat@socionext.com> | 2017-11-15 18:17:26 +0900 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2017-12-01 17:51:57 +0000 |
commit | bfde902ae7bf4a4612e7f7dd3009304fc4d6ea0b (patch) | |
tree | 11c268e6f5bbc399906adf8b0218e28741251240 /Silicon/Socionext/SynQuacer | |
parent | b490ebc08f2a8c3b95b5fd22f142badc72925358 (diff) | |
download | edk2-platforms-bfde902ae7bf4a4612e7f7dd3009304fc4d6ea0b.tar.xz |
Silicon/Fip006Dxe: map NOR_FLASH_INFO FSR flag with instance flag
Now that we incorporated NorFlashInfoLib into the Fip006Dxe driver,
replace the code that explicitly enables flag status register polling
for Micron NOR flash with a test of the flags field provided by
NorFlashInfoLib, which carries the same information.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Pipat Methavanitpong <methavanitpong.pipat@socionext.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Diffstat (limited to 'Silicon/Socionext/SynQuacer')
-rw-r--r-- | Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c b/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c index a521b1f3d1..8d6bca8739 100644 --- a/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c +++ b/Silicon/Socionext/SynQuacer/Drivers/Fip006Dxe/NorFlashDxe.c @@ -1129,6 +1129,7 @@ NorFlashCreateInstance ( {
EFI_STATUS Status;
NOR_FLASH_INSTANCE* Instance;
+ NOR_FLASH_INFO *FlashInfo;
UINT8 JedecId[3];
ASSERT(NorFlashInstance != NULL);
@@ -1157,23 +1158,15 @@ NorFlashCreateInstance ( NorFlashReset (Instance);
NorFlashReadID (Instance, JedecId);
+ Status = NorFlashGetInfo (JedecId, &FlashInfo, FALSE);
+ if (EFI_ERROR (Status)) {
+ goto FreeInstance;
+ }
- DEBUG_CODE_BEGIN ();
- {
- NOR_FLASH_INFO *FlashInfo;
-
- Status = NorFlashGetInfo (JedecId, &FlashInfo, FALSE);
- if (EFI_ERROR (Status)) {
- goto FreeInstance;
- }
-
- NorFlashPrintInfo (FlashInfo);
- FreePool (FlashInfo);
- }
- DEBUG_CODE_END ();
+ NorFlashPrintInfo (FlashInfo);
Instance->Flags = 0;
- if (JedecId[0] == NOR_FLASH_ID_STMICRO) {
+ if (FlashInfo->Flags & NOR_FLASH_WRITE_FSR) {
Instance->Flags = NOR_FLASH_POLL_FSR;
}
@@ -1198,6 +1191,7 @@ NorFlashCreateInstance ( }
*NorFlashInstance = Instance;
+ FreePool (FlashInfo);
return EFI_SUCCESS;
FreeInstance:
|