/** @file UBA ClockGen Update Library Header File. @copyright Copyright 2012 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _UBA_CLOCKGEN_UPDATE_LIB_H #define _UBA_CLOCKGEN_UPDATE_LIB_H #include #include #define PLATFORM_CLOCKGEN_UPDATE_SIGNATURE SIGNATURE_32 ('P', 'C', 'L', 'K') #define PLATFORM_CLOCKGEN_UPDATE_VERSION 0x01 // {CF3845B1-7EB0-44ef-9D67-A80ECE6FED73} #define PLATFORM_CLOCKGEN_CONFIG_DATA_GUID \ { 0xcf3845b1, 0x7eb0, 0x44ef, { 0x9d, 0x67, 0xa8, 0xe, 0xce, 0x6f, 0xed, 0x73 } } #define PLATFORM_NUMBER_OF_CLOCKGEN_DATA 20 #define PLATFORM_CLOCKGEN_NO_ID 0xFF typedef struct { UINT32 Signature; UINT32 Version; UINTN IdOffset; // Clockgen ID register offset UINT8 Id; // Clockgen ID UINTN DataLength; // Number of clockgen data for write UINTN SpreadSpectrumByteOffset; UINT8 SpreadSpectrumValue; UINT8 Data[PLATFORM_NUMBER_OF_CLOCKGEN_DATA]; } PLATFORM_CLOCKGEN_UPDATE_TABLE; EFI_STATUS PlatformUpdateClockgen ( IN BOOLEAN EnableSpreadSpectrum ); STATIC EFI_GUID gPlatformClockgenConfigDataGuid = PLATFORM_CLOCKGEN_CONFIG_DATA_GUID; #endif //_UBA_CLOCKGEN_UPDATE_LIB_H