REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the UefiPayloadPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
		
			
				
	
	
		
			214 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			214 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   PCH SPI Common Driver implements the SPI Host Controller Compatibility Interface.
 | |
| 
 | |
|   Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.<BR>
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef SPI_FLASH_LIB_H_
 | |
| #define SPI_FLASH_LIB_H_
 | |
| 
 | |
| /**
 | |
|   Flash Region Type
 | |
| **/
 | |
| typedef enum {
 | |
|   FlashRegionDescriptor,
 | |
|   FlashRegionBios,
 | |
|   FlashRegionMe,
 | |
|   FlashRegionGbE,
 | |
|   FlashRegionPlatformData,
 | |
|   FlashRegionDer,
 | |
|   FlashRegionAll,
 | |
|   FlashRegionMax
 | |
| } FLASH_REGION_TYPE;
 | |
| 
 | |
| /**
 | |
|   Read SFDP data from the flash part.
 | |
| 
 | |
|   @param[in] ComponentNumber      The Component Number for chip select
 | |
|   @param[in] ByteCount            Number of bytes in SFDP data portion of the SPI cycle, the max number is 64
 | |
|   @param[out] SfdpData            The Pointer to caller-allocated buffer containing the SFDP data received
 | |
|                                   It is the caller's responsibility to make sure Buffer is large enough for the total number of bytes read.
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiFlashReadSfdp (
 | |
|   IN     UINT8   ComponentNumber,
 | |
|   IN     UINT32  ByteCount,
 | |
|   OUT    UINT8   *SfdpData
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Read Jedec Id from the flash part.
 | |
| 
 | |
|   @param[in] ComponentNumber      The Component Number for chip select
 | |
|   @param[in] ByteCount            Number of bytes in JedecId data portion of the SPI cycle, the data size is 3 typically
 | |
|   @param[out] JedecId             The Pointer to caller-allocated buffer containing JEDEC ID received
 | |
|                                   It is the caller's responsibility to make sure Buffer is large enough for the total number of bytes read.
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiFlashReadJedecId (
 | |
|   IN     UINT8   ComponentNumber,
 | |
|   IN     UINT32  ByteCount,
 | |
|   OUT    UINT8   *JedecId
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Write the status register in the flash part.
 | |
| 
 | |
|   @param[in] ByteCount            Number of bytes in Status data portion of the SPI cycle, the data size is 1 typically
 | |
|   @param[in] StatusValue          The Pointer to caller-allocated buffer containing the value of Status register writing
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiFlashWriteStatus (
 | |
|   IN     UINT32  ByteCount,
 | |
|   IN     UINT8   *StatusValue
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Read status register in the flash part.
 | |
| 
 | |
|   @param[in] ByteCount            Number of bytes in Status data portion of the SPI cycle, the data size is 1 typically
 | |
|   @param[out] StatusValue         The Pointer to caller-allocated buffer containing the value of Status register received.
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiFlashReadStatus (
 | |
|   IN     UINT32  ByteCount,
 | |
|   OUT    UINT8   *StatusValue
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Read SC Soft Strap Values
 | |
| 
 | |
|   @param[in] SoftStrapAddr        SC Soft Strap address offset from FPSBA.
 | |
|   @param[in] ByteCount            Number of bytes in SoftStrap data portion of the SPI cycle
 | |
|   @param[out] SoftStrapValue      The Pointer to caller-allocated buffer containing SC Soft Strap Value.
 | |
|                                   It is the caller's responsibility to make sure Buffer is large enough for the total number of bytes read.
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiReadPchSoftStrap (
 | |
|   IN     UINT32  SoftStrapAddr,
 | |
|   IN     UINT32  ByteCount,
 | |
|   OUT    UINT8   *SoftStrapValue
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Read data from the flash part.
 | |
| 
 | |
|   @param[in] FlashRegionType      The Flash Region type for flash cycle which is listed in the Descriptor.
 | |
|   @param[in] Address              The Flash Linear Address must fall within a region for which BIOS has access permissions.
 | |
|   @param[in] ByteCount            Number of bytes in the data portion of the SPI cycle.
 | |
|   @param[out] Buffer              The Pointer to caller-allocated buffer containing the dada received.
 | |
|                                   It is the caller's responsibility to make sure Buffer is large enough for the total number of bytes read.
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiFlashRead (
 | |
|   IN     FLASH_REGION_TYPE  FlashRegionType,
 | |
|   IN     UINT32             Address,
 | |
|   IN     UINT32             ByteCount,
 | |
|   OUT    UINT8              *Buffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Erase some area on the flash part.
 | |
| 
 | |
|   @param[in] FlashRegionType      The Flash Region type for flash cycle which is listed in the Descriptor.
 | |
|   @param[in] Address              The Flash Linear Address must fall within a region for which BIOS has access permissions.
 | |
|   @param[in] ByteCount            Number of bytes in the data portion of the SPI cycle.
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiFlashErase (
 | |
|   IN     FLASH_REGION_TYPE  FlashRegionType,
 | |
|   IN     UINT32             Address,
 | |
|   IN     UINT32             ByteCount
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Write data to the flash part.
 | |
| 
 | |
|   @param[in] FlashRegionType      The Flash Region type for flash cycle which is listed in the Descriptor.
 | |
|   @param[in] Address              The Flash Linear Address must fall within a region for which BIOS has access permissions.
 | |
|   @param[in] ByteCount            Number of bytes in the data portion of the SPI cycle.
 | |
|   @param[in] Buffer               Pointer to caller-allocated buffer containing the data sent during the SPI cycle.
 | |
| 
 | |
|   @retval EFI_SUCCESS             Command succeed.
 | |
|   @retval EFI_INVALID_PARAMETER   The parameters specified are not valid.
 | |
|   @retval EFI_DEVICE_ERROR        Device error, command aborts abnormally.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiFlashWrite (
 | |
|   IN     FLASH_REGION_TYPE  FlashRegionType,
 | |
|   IN     UINT32             Address,
 | |
|   IN     UINT32             ByteCount,
 | |
|   IN     UINT8              *Buffer
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Initialize an SPI library.
 | |
| 
 | |
|   @retval EFI_SUCCESS             The protocol instance was properly initialized
 | |
|   @retval EFI_NOT_FOUND           The expected SPI info could not be found
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiConstructor (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Get the SPI region base and size, based on the enum type
 | |
| 
 | |
|   @param[in] FlashRegionType      The Flash Region type for for the base address which is listed in the Descriptor.
 | |
|   @param[out] BaseAddress         The Flash Linear Address for the Region 'n' Base
 | |
|   @param[out] RegionSize          The size for the Region 'n'
 | |
| 
 | |
|   @retval EFI_SUCCESS             Read success
 | |
|   @retval EFI_INVALID_PARAMETER   Invalid region type given
 | |
|   @retval EFI_DEVICE_ERROR        The region is not used
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| SpiGetRegionAddress (
 | |
|   IN     FLASH_REGION_TYPE  FlashRegionType,
 | |
|   OUT    UINT32             *BaseAddress  OPTIONAL,
 | |
|   OUT    UINT32             *RegionSize OPTIONAL
 | |
|   );
 | |
| 
 | |
| #endif
 |