dm: tpm: Add a uclass for Trusted Platform Modules
[karo-tx-uboot.git] / drivers / tpm / Kconfig
1 #
2 # TPM subsystem configuration
3 #
4
5 menu "TPM support"
6
7 config DM_TPM
8         bool "Enable driver model for Trusted Platform Module drivers"
9         depends on DM && TPM
10         help
11           Enable driver model for TPMs. The TIS interface (tis_open(),
12           tis_sendrecv(), etc.) is then implemented by the TPM uclass. Note
13           that even with driver model only a single TPM is currently
14           supported, since the tpm library assumes this.
15
16 config TPM_TIS_SANDBOX
17         bool "Enable sandbox TPM driver"
18         depends on SANDBOX
19         help
20           This driver emulates a TPM, providing access to base functions
21           such as reading and writing TPM private data. This is enough to
22           support Chrome OS verified boot. Extend functionality is not
23           implemented.
24
25 config TPM_ATMEL_TWI
26         bool "Enable Atmel TWI TPM device driver"
27         depends on TPM
28         help
29           This driver supports an Atmel TPM device connected on the I2C bus.
30           The usual tpm operations and the 'tpm' command can be used to talk
31           to the device using the standard TPM Interface Specification (TIS)
32           protocol
33
34 config TPM_TIS_I2C
35         bool "Enable support for Infineon SLB9635/45 TPMs on I2C"
36         depends on TPM && DM_I2C
37         help
38           This driver supports Infineon TPM devices connected on the I2C bus.
39           The usual tpm operations and the 'tpm' command can be used to talk
40           to the device using the standard TPM Interface Specification (TIS)
41           protocol
42
43 config TPM_TIS_I2C_BURST_LIMITATION
44         bool "Enable I2C burst length limitation"
45         depends on TPM_TIS_I2C
46         help
47           Some broken TPMs have a limitation on the number of bytes they can
48           receive in one message. Enable this option to allow you to set this
49           option. The can allow a broken TPM to be used by splitting messages
50           into separate pieces.
51
52 config TPM_TIS_I2C_BURST_LIMITATION_LEN
53         int "Length"
54         depends on TPM_TIS_I2C_BURST_LIMITATION
55         help
56           Use this to set the burst limitation length
57
58 config TPM_TIS_LPC
59         bool "Enable support for Infineon SLB9635/45 TPMs on LPC"
60         depends on TPM && X86
61         help
62           This driver supports Infineon TPM devices connected on the I2C bus.
63           The usual tpm operations and the 'tpm' command can be used to talk
64           to the device using the standard TPM Interface Specification (TIS)
65           protocol
66
67 config TPM_AUTH_SESSIONS
68         bool "Enable TPM authentication session support"
69         depends on TPM
70         help
71           Enable support for authorised (AUTH1) commands as specified in the
72           TCG Main Specification 1.2. OIAP-authorised versions of the commands
73           TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are
74           available using the 'tpm' command, too.
75
76 endmenu