/** @file
  TCG Physical Presence definition.

Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#ifndef _TCG_PHYSICAL_PRESENCE_H_
#define _TCG_PHYSICAL_PRESENCE_H_

//
// TCG PP definition for physical presence ACPI function
//
#define TCG_ACPI_FUNCTION_GET_PHYSICAL_PRESENCE_INTERFACE_VERSION      1
#define TCG_ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS                       2
#define TCG_ACPI_FUNCTION_GET_PENDING_REQUEST_BY_OS                    3
#define TCG_ACPI_FUNCTION_GET_PLATFORM_ACTION_TO_TRANSITION_TO_BIOS    4
#define TCG_ACPI_FUNCTION_RETURN_REQUEST_RESPONSE_TO_OS                5
#define TCG_ACPI_FUNCTION_SUBMIT_PREFERRED_USER_LANGUAGE               6
#define TCG_ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS_2                     7
#define TCG_ACPI_FUNCTION_GET_USER_CONFIRMATION_STATUS_FOR_REQUEST     8

//
// TCG PP definition for TPM Operation Response to OS Environment
//
#define TCG_PP_OPERATION_RESPONSE_SUCCESS              0x0
#define TCG_PP_OPERATION_RESPONSE_USER_ABORT           0xFFFFFFF0
#define TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE         0xFFFFFFF1

//
// TCG PP definition of return code for Return TPM Operation Response to OS Environment
//
#define TCG_PP_RETURN_TPM_OPERATION_RESPONSE_SUCCESS                   0
#define TCG_PP_RETURN_TPM_OPERATION_RESPONSE_FAILURE                   1

//
// TCG PP definition of return code for Submit TPM Request to Pre-OS Environment
// and Submit TPM Request to Pre-OS Environment 2
//
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_SUCCESS                                  0
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED                          1
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_GENERAL_FAILURE                          2
#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_BLOCKED_BY_BIOS_SETTINGS                 3

//
// TCG PP definition of return code for Get User Confirmation Status for Operation
//
#define TCG_PP_GET_USER_CONFIRMATION_NOT_IMPLEMENTED                                 0
#define TCG_PP_GET_USER_CONFIRMATION_BIOS_ONLY                                       1
#define TCG_PP_GET_USER_CONFIRMATION_BLOCKED_BY_BIOS_CONFIGURATION                   2
#define TCG_PP_GET_USER_CONFIRMATION_ALLOWED_AND_PPUSER_REQUIRED                     3
#define TCG_PP_GET_USER_CONFIRMATION_ALLOWED_AND_PPUSER_NOT_REQUIRED                 4

//
// TCG PP definition of physical presence operation actions for TPM12
//
#define TCG_PHYSICAL_PRESENCE_NO_ACTION                               0
#define TCG_PHYSICAL_PRESENCE_ENABLE                                  1
#define TCG_PHYSICAL_PRESENCE_DISABLE                                 2
#define TCG_PHYSICAL_PRESENCE_ACTIVATE                                3
#define TCG_PHYSICAL_PRESENCE_DEACTIVATE                              4
#define TCG_PHYSICAL_PRESENCE_CLEAR                                   5
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE                         6
#define TCG_PHYSICAL_PRESENCE_DEACTIVATE_DISABLE                      7
#define TCG_PHYSICAL_PRESENCE_SET_OWNER_INSTALL_TRUE                  8
#define TCG_PHYSICAL_PRESENCE_SET_OWNER_INSTALL_FALSE                 9
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_OWNER_TRUE              10
#define TCG_PHYSICAL_PRESENCE_DEACTIVATE_DISABLE_OWNER_FALSE          11
#define TCG_PHYSICAL_PRESENCE_DEFERRED_PP_UNOWNERED_FIELD_UPGRADE     12
#define TCG_PHYSICAL_PRESENCE_SET_OPERATOR_AUTH                       13
#define TCG_PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE                   14
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_FALSE              15
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_TRUE               16
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_FALSE                  17
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_TRUE                   18
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_FALSE            19
#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_TRUE             20
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR                   21
#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE   22

#define TCG_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION               128

//
// TCG PP definition of physical presence operation actions for TPM2
//
#define TCG2_PHYSICAL_PRESENCE_NO_ACTION                                         0
#define TCG2_PHYSICAL_PRESENCE_ENABLE                                            1
#define TCG2_PHYSICAL_PRESENCE_DISABLE                                           2
#define TCG2_PHYSICAL_PRESENCE_CLEAR                                             5
#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR                                      14
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_TRUE                    17
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_FALSE                   18
#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_2                                    21
#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_3                                    22
#define TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS                                     23
#define TCG2_PHYSICAL_PRESENCE_CHANGE_EPS                                        24
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_PCRS_FALSE             25
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_PCRS_TRUE              26
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_ON_FALSE                 27
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_ON_TRUE                  28
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_OFF_FALSE                29
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_OFF_TRUE                 30
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_EPS_FALSE              31
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_EPS_TRUE               32
#define TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS                                   33
#define TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY      34
#define TCG2_PHYSICAL_PRESENCE_NO_ACTION_MAX                                     34

//
// TCG PP definition of physical presence operation actions for storage management
//
#define TCG2_PHYSICAL_PRESENCE_STORAGE_MANAGEMENT_BEGIN                          96
#define TCG2_PHYSICAL_PRESENCE_ENABLE_BLOCK_SID                                  96
#define TCG2_PHYSICAL_PRESENCE_DISABLE_BLOCK_SID                                 97
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_TRUE    98
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_FALSE   99
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_TRUE   100
#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_FALSE  101

#define TCG2_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION                         128

#endif
