Google is committed to advancing racial equity for Black communities. See how.

fuchsia.hardware.tpmimpl

PROTOCOLS

TpmImpl

Defined in fuchsia.hardware.tpmimpl/tpmimpl.fidl

ConnectServer

Tells the TPM implementation driver to start listening for fuchsia.hardware.tpmimpl messages on |server|. See //sdk/fidl/fuchsia.hardware.tpmimpl/tpmimpl.fidl.

Request

NameType
server handle<channel>

Response

<EMPTY>

TpmImpl

Defined in fuchsia.hardware.tpmimpl/tpmimpl.fidl

Provides access to a TPM device.

Read

Read |count| bytes from |address| in locality |locality|.

Request

NameType
locality Locality
address RegisterAddress
count uint32

Response

NameType
result TpmImpl_Read_Result

Write

Write |data| to |address| in |locality|.

Request

NameType
locality Locality
address RegisterAddress
data vector<uint8>[64]

Response

NameType
result TpmImpl_Write_Result

STRUCTS

TpmImpl_Read_Response

Defined in fuchsia.hardware.tpmimpl/tpmimpl.fidl

NameTypeDescriptionDefault
data vector<uint8>[64] No default

TpmImpl_Write_Response

Defined in fuchsia.hardware.tpmimpl/tpmimpl.fidl

<EMPTY>

ENUMS

RegisterAddress flexible

Type: uint16

Defined in fuchsia.hardware.tpmimpl/tpmimpl.fidl

TPM registers. See "TCG PC Client Platform TPM Profile (PTP) Specification", section 7.3.5 (I2C-TPM Registers) and 5.5.2.1 (FIFO Register Space Addresses).

NameValueDescription
TPM_ACCESS 4
TPM_INT_ENABLE 8
TPM_INT_STATUS 16
TPM_INT_CAPABILITY 20
TPM_STS 24
TPM_HASH_END 32
TPM_DATA_FIFO 36
TPM_HASH_START 40
TPM_INTERFACE_ID 48
TPM_DID_VID 3840
TPM_RID 3844

UNIONS

TpmImpl_Read_Result strict

Defined in fuchsia.hardware.tpmimpl/tpmimpl.fidl

NameTypeDescription
response TpmImpl_Read_Response
err zx/status

TpmImpl_Write_Result strict

Defined in fuchsia.hardware.tpmimpl/tpmimpl.fidl

NameTypeDescription
response TpmImpl_Write_Response
err zx/status

CONSTANTS

NameValueTypeDescription
TPM_MAX_DATA_TRANSFER 64 uint32

Maximum possible amount of data that could be transferred in a single transaction. Note that not all TPMs will support this amount, and the TPM_INT_CAPABILITY and TPM_STS registers should be queried to get the actual maximum.

TYPE ALIASES

NameValueDescription
Locality uint8

TPM supports up to 255 localities.