sdm845: Select VBOOT_MIGRATE_WORKING_DATA, now required
[coreboot.git] / src / security / tpm / Kconfig
blobe6414d385f8f3ca6f8325713a3d397ddd6f748cc
1 ## This file is part of the coreboot project.
2 ##
3 ## Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
4 ## Copyright (C) 2018 Facebook Inc.
5 ##
6 ## This program is free software; you can redistribute it and/or modify
7 ## it under the terms of the GNU General Public License as published by
8 ## the Free Software Foundation; version 2 of the License.
9 ##
10 ## This program is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ## GNU General Public License for more details.
16 source "src/security/tpm/tss/vendor/cr50/Kconfig"
18 menu "Trusted Platform Module"
20 config TPM1
21         bool
22         default y if MAINBOARD_HAS_TPM1 || USER_TPM1
23         depends on MAINBOARD_HAS_LPC_TPM || MAINBOARD_HAS_I2C_TPM_GENERIC \
24                                                  || MAINBOARD_HAS_I2C_TPM_ATMEL
26 config TPM2
27         bool
28         default y if MAINBOARD_HAS_TPM2 || USER_TPM2
29         depends on MAINBOARD_HAS_I2C_TPM_GENERIC || MAINBOARD_HAS_LPC_TPM \
30                                                  || MAINBOARD_HAS_I2C_TPM_ATMEL || MAINBOARD_HAS_I2C_TPM_CR50 \
31                                                  || MAINBOARD_HAS_SPI_TPM_CR50
33 config MAINBOARD_HAS_TPM1
34         bool
36 config MAINBOARD_HAS_TPM2
37         bool
39 if !MAINBOARD_HAS_TPM1 && !MAINBOARD_HAS_TPM2
41 choice
42         prompt "Trusted Platform Module"
43         default USER_NO_TPM
45 config USER_NO_TPM
46         bool "disabled"
48 config USER_TPM1
49         bool "1.2"
50         depends on MAINBOARD_HAS_LPC_TPM || MAINBOARD_HAS_I2C_TPM_GENERIC \
51                                                  || MAINBOARD_HAS_I2C_TPM_ATMEL
52         help
53                 Enable this option to enable TPM 1.0 - 1.2 support in coreboot.
55                 If unsure, say N.
57 config USER_TPM2
58         bool "2.0"
59         depends on MAINBOARD_HAS_I2C_TPM_GENERIC || MAINBOARD_HAS_LPC_TPM \
60                                                  || MAINBOARD_HAS_I2C_TPM_ATMEL || MAINBOARD_HAS_I2C_TPM_CR50 \
61                                                  || MAINBOARD_HAS_SPI_TPM_CR50
62         help
63                 Enable this option to enable TPM 2.0 support in coreboot.
65                 If unsure, say N.
67 endchoice
69 endif
71 config TPM_DEACTIVATE
72         bool "Deactivate TPM"
73         default n
74         depends on !VBOOT
75         depends on TPM1
76         help
77           Deactivate TPM by issuing deactivate command.
79 config DEBUG_TPM
80         bool "Output verbose TPM debug messages"
81         default n
82         select DRIVER_TPM_DISPLAY_TIS_BYTES if I2C_TPM
83         depends on TPM1 || TPM2
84         help
85           This option enables additional TPM related debug messages.
87 config TPM_RDRESP_NEED_DELAY
88         bool "Enable Delay Workaround for TPM"
89         default n
90         depends on LPC_TPM
91         help
92           Certain TPMs seem to need some delay when reading response
93           to work around a race-condition-related issue, possibly
94           caused by ill-programmed TPM firmware.
96 endmenu # Trusted Platform Module (tpm)