102 lines
3.0 KiB
C
102 lines
3.0 KiB
C
/**@file
|
|
This file is for CastroCove Pmic Nvm update
|
|
|
|
@copyright
|
|
Copyright (c) 2020 Intel Corporation. All rights reserved
|
|
This software and associated documentation (if any) is furnished
|
|
under a license and may only be used or copied in accordance
|
|
with the terms of the license. Except as permitted by the
|
|
license, no part of this software or documentation may be
|
|
reproduced, stored in a retrieval system, or transmitted in any
|
|
form or by any means without the express written consent of
|
|
Intel Corporation.
|
|
This file contains an 'Intel Peripheral Driver' and is uniquely
|
|
identified as "Intel Reference Module" and is licensed for Intel
|
|
CPUs and chipsets under the terms of your license agreement with
|
|
Intel or your vendor. This file may be modified by the user, subject
|
|
to additional terms of the license agreement.
|
|
|
|
@par Specification
|
|
**/
|
|
|
|
#ifndef _CASTRO_COVE_PMIC_NVM_H_
|
|
#define _CASTRO_COVE_PMIC_NVM_H_
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_READ8) (
|
|
IN UINT32 RegisterOffset,
|
|
IN UINT8 *Value,
|
|
IN UINT8 PmicId
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_WRITE8) (
|
|
IN UINT32 RegisterOffset,
|
|
IN UINT8 Value,
|
|
IN UINT8 PmicId
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_NVM_READ_FROM_FV) (
|
|
IN OUT UINT8 **Buffer,
|
|
IN OUT UINTN *Size,
|
|
IN EFI_GUID *PmicNvmFvFileGuid
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_NVM_UPDATE_CRITERIA_CHECK) (
|
|
IN UINT8 *Buffer,
|
|
IN UINTN Size,
|
|
IN UINT8 PmicId
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_NVM_UPDATE) (
|
|
IN UINT8 *Buffer,
|
|
IN UINTN Size,
|
|
IN UINT8 DesiredPayloadType,
|
|
IN UINT8 PmicId,
|
|
IN OUT UINT8 *PayloadFvBuffer,
|
|
IN OUT UINT16 *PayloadFvSize
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_NVM_UPDATE_FROM_APP) (
|
|
IN UINT8 *Buffer,
|
|
IN UINTN Size
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_READ_FROM_NVM) (
|
|
IN OUT UINT8 **Buffer,
|
|
IN OUT UINT16 *Size,
|
|
IN UINT16 StartAddress,
|
|
IN UINT8 PmicId
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *CASTRO_COVE_PMIC_WRITE_LOCK) (
|
|
VOID
|
|
);
|
|
|
|
typedef struct _EFI_CASTRO_COVE_PMIC_NVM_PROTOCOL {
|
|
CASTRO_COVE_PMIC_READ8 CastroCovePmicRead8;
|
|
CASTRO_COVE_PMIC_WRITE8 CastroCovePmicWrite8;
|
|
CASTRO_COVE_PMIC_NVM_READ_FROM_FV CastroCovePmicNvmReadFromFv;
|
|
CASTRO_COVE_PMIC_NVM_UPDATE_CRITERIA_CHECK CastroCovePmicNvmUpdateCriteriaCheck;
|
|
CASTRO_COVE_PMIC_NVM_UPDATE CastroCovePmicNvmUpdate;
|
|
CASTRO_COVE_PMIC_NVM_UPDATE_FROM_APP CastroCovePmicNvmUpdatefromApp;
|
|
CASTRO_COVE_PMIC_READ_FROM_NVM CastroCovePmicReadFromNvm;
|
|
CASTRO_COVE_PMIC_WRITE_LOCK CastroCovePmicWriteLock;
|
|
} EFI_CASTRO_COVE_PMIC_NVM_PROTOCOL;
|
|
|
|
#endif //_CASTRO_COVE_PMIC_NVM_H_
|