TianoCore EDK2 master
Loading...
Searching...
No Matches
FlashDeviceLib.c File Reference
#include <PiDxe.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DebugLib.h>
#include <Library/SpiFlashLib.h>

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI LibFvbFlashDeviceInit (VOID)
 
EFI_STATUS EFIAPI LibFvbFlashDeviceRead (IN UINTN PAddress, IN OUT UINTN *NumBytes, OUT UINT8 *Buffer)
 
EFI_STATUS EFIAPI LibFvbFlashDeviceWrite (IN UINTN PAddress, IN OUT UINTN *NumBytes, IN UINT8 *Buffer)
 
EFI_STATUS EFIAPI LibFvbFlashDeviceBlockErase (IN UINTN PAddress, IN UINTN LbaLength)
 
EFI_STATUS EFIAPI LibFvbFlashDeviceBlockLock (IN UINTN PAddress, IN UINTN LbaLength, IN BOOLEAN Lock)
 

Detailed Description

Flash Device Library based on SPI Flash library.

Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file FlashDeviceLib.c.

Function Documentation

◆ LibFvbFlashDeviceBlockErase()

EFI_STATUS EFIAPI LibFvbFlashDeviceBlockErase ( IN UINTN  PAddress,
IN UINTN  LbaLength 
)

Erase the block starting at PAddress.

Parameters
[in]PAddressThe starting physical address of the block to be erased. This library assume that caller garantee that the PAddress is at the starting address of this block.
[in]LbaLengthThe length of the logical block to be erased.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 120 of file FlashDeviceLib.c.

◆ LibFvbFlashDeviceBlockLock()

EFI_STATUS EFIAPI LibFvbFlashDeviceBlockLock ( IN UINTN  PAddress,
IN UINTN  LbaLength,
IN BOOLEAN  Lock 
)

Lock or unlock the block starting at PAddress.

Parameters
[in]PAddressThe starting physical address of region to be (un)locked.
[in]LbaLengthThe length of the logical block to be erased.
[in]LockTRUE to lock. FALSE to unlock.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 153 of file FlashDeviceLib.c.

◆ LibFvbFlashDeviceInit()

EFI_STATUS EFIAPI LibFvbFlashDeviceInit ( VOID  )

Initialize spi flash device.

Return values
EFI_SUCCESSThe tested spi flash device is supported.
EFI_UNSUPPORTEDThe tested spi flash device is not supported.

Definition at line 23 of file FlashDeviceLib.c.

◆ LibFvbFlashDeviceRead()

EFI_STATUS EFIAPI LibFvbFlashDeviceRead ( IN UINTN  PAddress,
IN OUT UINTN NumBytes,
OUT UINT8 *  Buffer 
)

Read NumBytes bytes of data from the address specified by PAddress into Buffer.

Parameters
[in]PAddressThe starting physical address of the read.
[in,out]NumBytesOn input, the number of bytes to read. On output, the number of bytes actually read.
[out]BufferThe destination data buffer for the read.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 45 of file FlashDeviceLib.c.

◆ LibFvbFlashDeviceWrite()

EFI_STATUS EFIAPI LibFvbFlashDeviceWrite ( IN UINTN  PAddress,
IN OUT UINTN NumBytes,
IN UINT8 *  Buffer 
)

Write NumBytes bytes of data from Buffer to the address specified by PAddresss.

Parameters
[in]PAddressThe starting physical address of the write.
[in,out]NumBytesOn input, the number of bytes to write. On output, the actual number of bytes written.
[in]BufferThe source data buffer for the write.
Return values
EFI_SUCCESS.Opertion is successful.
EFI_DEVICE_ERRORIf there is any device errors.

Definition at line 83 of file FlashDeviceLib.c.