/** @file
  This file defines the Legacy SPI SMM Flash Protocol.

  Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent

  @par Revision Reference:
    This Protocol was introduced in UEFI PI Specification 1.6.

**/

#ifndef __LEGACY_SPI_SMM_FLASH_PROTOCOL_H__
#define __LEGACY_SPI_SMM_FLASH_PROTOCOL_H__

#include <Protocol/LegacySpiFlash.h>

///
/// Global ID for the Legacy SPI SMM Flash Protocol
///
#define EFI_LEGACY_SPI_SMM_FLASH_PROTOCOL_GUID  \
  { 0x5e3848d4, 0x0db5, 0x4fc0,                 \
    { 0x97, 0x29, 0x3f, 0x35, 0x3d, 0x4f, 0x87, 0x9f }}

typedef
  struct _EFI_LEGACY_SPI_FLASH_PROTOCOL
EFI_LEGACY_SPI_SMM_FLASH_PROTOCOL;

extern EFI_GUID  gEfiLegacySpiSmmFlashProtocolGuid;

#endif // __SPI_SMM_FLASH_PROTOCOL_H__
