1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /** @file
- The header file includes the common header files, defines
- internal structure and functions used by SpiFlashCommonLib.
- Copyright (c) 2019 Intel Corporation. All rights reserved. <BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef __SPI_FLASH_COMMON_LIB_H__
- #define __SPI_FLASH_COMMON_LIB_H__
- #include <Uefi.h>
- #include <Library/BaseLib.h>
- #include <Library/PcdLib.h>
- #include <Library/DebugLib.h>
- #include <Library/BaseMemoryLib.h>
- #include <Library/MemoryAllocationLib.h>
- #include <Library/UefiDriverEntryPoint.h>
- #include <Library/UefiBootServicesTableLib.h>
- #define SECTOR_SIZE_4KB 0x1000 // Common 4kBytes sector size
- /**
- Enable block protection on the Serial Flash device.
- @retval EFI_SUCCESS Opertion is successful.
- @retval EFI_DEVICE_ERROR If there is any device errors.
- **/
- EFI_STATUS
- EFIAPI
- SpiFlashLock (
- VOID
- );
- /**
- Read NumBytes bytes of data from the address specified by
- PAddress into Buffer.
- @param[in] Address The starting physical address of the read.
- @param[in,out] NumBytes On input, the number of bytes to read. On output, the number
- of bytes actually read.
- @param[out] Buffer The destination data buffer for the read.
- @retval EFI_SUCCESS Opertion is successful.
- @retval EFI_DEVICE_ERROR If there is any device errors.
- **/
- EFI_STATUS
- EFIAPI
- SpiFlashRead (
- IN UINTN Address,
- IN OUT UINT32 *NumBytes,
- OUT UINT8 *Buffer
- );
- /**
- Write NumBytes bytes of data from Buffer to the address specified by
- PAddresss.
- @param[in] Address The starting physical address of the write.
- @param[in,out] NumBytes On input, the number of bytes to write. On output,
- the actual number of bytes written.
- @param[in] Buffer The source data buffer for the write.
- @retval EFI_SUCCESS Opertion is successful.
- @retval EFI_DEVICE_ERROR If there is any device errors.
- **/
- EFI_STATUS
- EFIAPI
- SpiFlashWrite (
- IN UINTN Address,
- IN OUT UINT32 *NumBytes,
- IN UINT8 *Buffer
- );
- /**
- Erase the block starting at Address.
- @param[in] Address The 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.
- @param[in] NumBytes On input, the number of bytes of the logical block to be erased.
- On output, the actual number of bytes erased.
- @retval EFI_SUCCESS. Opertion is successful.
- @retval EFI_DEVICE_ERROR If there is any device errors.
- **/
- EFI_STATUS
- EFIAPI
- SpiFlashBlockErase (
- IN UINTN Address,
- IN UINTN *NumBytes
- );
- #endif
|