OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
PttPtpRegs.h
Go to the documentation of this file.
1
24#ifndef _PTT_HCI_REGS_H_
25#define _PTT_HCI_REGS_H_
26
27//
28// FTPM HCI register base address
29//
30#define R_PTT_HCI_BASE_ADDRESS_A 0xFED40000
31#define R_PTT_HCI_BASE_ADDRESS_B 0xFED70000
32
33//
34// FTPM HCI Control Area
35//
36#define R_PTT_LOCALITY_STATE 0x00
37#define R_TPM_LOCALITY_CONTROL 0X08
38#define R_TPM_LOCALITY_STATUS 0x0C
39#define R_TPM_INTERFACE_ID 0x30
40#define R_CRB_CONTROL_EXT 0x38
41#define R_CRB_CONTROL_REQ 0x40
42#define R_CRB_CONTROL_STS 0x44
43#define R_CRB_CONTROL_CANCEL 0x48
44#define R_CRB_CONTROL_START 0x4C
45#define R_CRB_CONTROL_INT 0x50
46#define R_CRB_CONTROL_CMD_SIZE 0x58
47#define R_CRB_CONTROL_CMD_LOW 0x5C
48#define R_CRB_CONTROL_CMD_HIGH 0x60
49#define R_CRB_CONTROL_RESPONSE_SIZE 0x64
50#define R_CRB_CONTROL_RESPONSE_ADDR 0x68
51
52//
53// R_CRB_CONTROL_STS Bits
54//
55#define B_CRB_CONTROL_STS_TPM_STATUS 0x00000001
56#define B_CRB_CONTROL_STS_TPM_IDLE 0x00000002
57
58//
59// R_CRB_CONTROL_REQ Bits
60//
61#define B_R_CRB_CONTROL_REQ_COMMAND_READY 0x00000001
62#define B_R_CRB_CONTROL_REQ_GO_IDLE 0x00000002
63
64//
65// R_CRB_CONTROL_START Bits
66//
67#define B_CRB_CONTROL_START 0x00000001
68
69//
70// R_TPM_LOCALITY_STATUS Bits
71//
72#define B_CRB_LOCALITY_STS_GRANTED 0x00000001
73#define B_CRB_LOCALITY_STS_BEEN_SEIZED 0x00000002
74
75//
76// R_TPM_LOCALITY_CONTROL Bits
77//
78#define B_CRB_LOCALITY_CTL_REQUEST_ACCESS 0x00000001
79#define B_CRB_LOCALITY_CTL_RELINQUISH 0x00000002
80#define B_CRB_LOCALITY_CTL_SEIZE 0x00000004
81
82//
83// R_PTT_LOCALITY_STATE Bits
84//
85#define B_CRB_LOCALITY_STATE_TPM_ESTABLISHED 0x00000001
86#define B_CRB_LOCALITY_STATE_LOCALITY_ASSIGNED 0x00000002
87#define B_CRB_LOCALITY_STATE_REGISTER_VALID 0x00000080
88
89//
90// R_PTT_LOCALITY_STATE Mask Values
91//
92#define V_CRB_LOCALITY_STATE_ACTIVE_LOC_MASK 0x0000001C
93
94//
95// Value written to R_PTT_HCI_CMD and CA_START
96// to indicate that a command is available for processing
97//
98#define V_PTT_HCI_COMMAND_AVAILABLE_START 0x00000001
99#define V_PTT_HCI_COMMAND_AVAILABLE_CMD 0x00000000
100#define V_PTT_HCI_BUFFER_ADDRESS_RDY 0x00000003
101
102//
103// Ignore bit setting mask for WaitRegisterBits
104//
105#define V_PTT_HCI_IGNORE_BITS 0x00000000
106
107//
108// All bits clear mask for WaitRegisterBits
109//
110#define V_PTT_HCI_ALL_BITS_CLEAR 0xFFFFFFFF
111#define V_PTT_HCI_START_CLEAR 0x00000001
112
113//
114// Max FTPM command/reponse buffer length
115//
116#define S_PTT_HCI_CRB_LENGTH 3968
117
118#endif