/** @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