]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashBlockIoDxe.c
ArmPlatformPkg/NorFlashDxe: Fixed CFI NOR Flash driver
[mirror_edk2.git] / ArmPlatformPkg / Drivers / NorFlashDxe / NorFlashBlockIoDxe.c
index 17a5369968c224a39dcf866756eb08fd7d209ac0..d4dabeaefec112e6958dfd713edd81cd50de798c 100644 (file)
@@ -1,6 +1,7 @@
 /** @file  NorFlashBlockIoDxe.c
 
-  Copyright (c) 2011, ARM Ltd. All rights reserved.<BR>
+  Copyright (c) 2011-2012, ARM Ltd. All rights reserved.<BR>
+
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
   which accompanies this distribution.  The full text of the license may be found at
 
 #include "NorFlashDxe.h"
 
-EFI_STATUS
-EFIAPI
-NorFlashBlkIoInitialize (
-  IN NOR_FLASH_INSTANCE* Instance
-  )
-{
-  UINT32                Reply;
-  EFI_STATUS            Status = EFI_SUCCESS;
-
-  DEBUG((DEBUG_BLKIO,"NorFlashBlkIoInitialize()\n"));
-
-  //
-  // Verify that there is a physical hardware device where we expect it to be.
-  //
-
-  // Read a specific CFI query that returns back "QRY"
-  // This ensures that there is really a device present there
-  SEND_NOR_COMMAND (Instance->BaseAddress, 0, P30_CMD_READ_CFI_QUERY);
-
-  // Read CFI 'QRY' data
-  Status = NorFlashReadCfiData (Instance->BaseAddress, P30_CFI_ADDR_QUERY_UNIQUE_QRY, 3, &Reply);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  if (Reply != CFI_QRY) {
-    DEBUG((EFI_D_ERROR, "NorFlashBlkIoInitialize: CFI QRY=0x%x (expected 0x595251)\n", Reply));
-    return EFI_DEVICE_ERROR;
-  }
-
-  // Reset the device
-  Status = NorFlashBlockIoReset (&Instance->BlockIoProtocol, FALSE);
-  if (EFI_ERROR(Status)) {
-    return Status;
-  }
-
-  Instance->Initialized = TRUE;
-  return EFI_SUCCESS;
-}
-
-
 //
 // BlockIO Protocol function EFI_BLOCK_IO_PROTOCOL.Reset
 //
@@ -73,7 +33,7 @@ NorFlashBlockIoReset (
 
   DEBUG ((DEBUG_BLKIO, "NorFlashBlockIoReset(MediaId=0x%x)\n", This->Media->MediaId));
 
-  return NorFlashReset(Instance);
+  return NorFlashReset (Instance);
 }
 
 //
@@ -101,7 +61,7 @@ NorFlashBlockIoReadBlocks (
   } else if( This->Media->MediaId != MediaId ) {
     Status = EFI_MEDIA_CHANGED;
   } else {
-    Status = NorFlashReadBlocks(Instance,Lba,BufferSizeInBytes,Buffer);
+    Status = NorFlashReadBlocks (Instance,Lba,BufferSizeInBytes,Buffer);
   }
 
   return Status;
@@ -134,7 +94,7 @@ NorFlashBlockIoWriteBlocks (
   } else if( This->Media->ReadOnly ) {
     Status = EFI_WRITE_PROTECTED;
   } else {
-    Status = NorFlashWriteBlocks(Instance,Lba,BufferSizeInBytes,Buffer);
+    Status = NorFlashWriteBlocks (Instance,Lba,BufferSizeInBytes,Buffer);
   }
 
   return Status;