alder_lake_bios/Lcfc/LfcPkg/DebugPageDxe/GetEcShutdownID.h

136 lines
2.1 KiB
C

/*****************************************************************************
*
*
* Copyright (c) 2012 - 2015, Hefei LCFC Information Technology Co.Ltd.
* And/or its affiliates. All rights reserved.
* Hefei LCFC Information Technology Co.Ltd. PROPRIETARY/CONFIDENTIAL.
* Use is subject to license terms.
*
*****************************************************************************/
#ifndef _EFI_SHELL_EC_READ_H_
#define _EFI_SHELL_EC_READ_H_
#include <Uefi.h>
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/UefiLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/IoLib.h>
#include <Library/PcdLib.h>
#define BLOCK_SIZE_1K (1 * 1024)
#define EC_STATUS_PORT 0x6C
#define EC_CMD_PORT 0x6C
#define EC_DATA_PORT 0x68
#define EC_OBF 0x01
#define EC_IBF 0x02
#define KB_STATUS_PORT 0x64
#define KB_CMD_PORT 0x64
#define KB_DATA_PORT 0x60
#define KB_OBF 0x01
#define KB_IBF 0x02
#define SPICMD_WRSR 0x01 // Write Status Register
#define SPICMD_WRDI 0x04 // Write disable
#define SPICMD_READ_STATUS 0x05 // Read Status Register
#define SPICMD_HIGH_SPEED_READ 0x0B // High-Speed Read
VOID
WaitEcObf (
VOID
);
VOID
WaitEcIbe (
VOID
);
VOID
SendEcCmd (
UINT8 EcCmd
);
VOID
SendEcData (
UINT8 EcData
);
UINT8
ReadEcData (
VOID
);
VOID
WaitKbObe (
VOID
);
VOID
WaitKbIbe (
VOID
);
VOID
SendKbCmd (
UINT8 KBCmd
);
VOID
EnterFollowMode (
VOID
);
VOID
ExitFollowMode (
VOID
);
VOID
SendSPICommand (
UINT8 Cmd
);
VOID
SendSPIByte (
UINT8 Index
);
UINT8
BReadByteFromSPI (
VOID
);
VOID
WaitSPIFree (
VOID
);
VOID
SpiWriteDisable (
VOID
);
VOID
SpiRead1KByte (
UINT8 BlockNum,
UINT8* ReadBuf
);
EFI_STATUS
ReadShutdownId1K (
UINT32 ShutdownIdAddr,
UINT8* ReadBuf
);
UINT32 GetShutdownIdAddr(
VOID
);
#endif //_EFI_SHELL_EC_READ_H_