Simon Newton has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/32080
Change subject: : mainboard/asus/p8h61-m_pro : Add TPM module ......................................................................
: mainboard/asus/p8h61-m_pro : Add TPM module
modified mainboard/asus/p8h61-m_pro/Kconfig to include MAINBOARD_HAS_LPC_TPM modified mainboard/asus/p8h61-m_pro/devicetree.cb to include drivers/pc80/tpm on device pnp 4e.0 Tested with TPM 1.2 and 2.0. Seaboot payload, Linux OS
Change-Id: Icdad9a41b61221b536f2ac695f44319f6b0599e7 Signed-off-by: Simon Newton simon.newton@gmail.com --- M src/mainboard/asus/p8h61-m_pro/Kconfig M src/mainboard/asus/p8h61-m_pro/devicetree.cb 2 files changed, 4 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/32080/1
diff --git a/src/mainboard/asus/p8h61-m_pro/Kconfig b/src/mainboard/asus/p8h61-m_pro/Kconfig index 4d24187..082d3e4 100644 --- a/src/mainboard/asus/p8h61-m_pro/Kconfig +++ b/src/mainboard/asus/p8h61-m_pro/Kconfig @@ -30,6 +30,7 @@ select HAVE_OPTION_TABLE select HAVE_CMOS_DEFAULT select DRIVERS_ASMEDIA_ASPM_BLACKLIST + select MAINBOARD_HAS_LPC_TPM
config MAINBOARD_DIR string diff --git a/src/mainboard/asus/p8h61-m_pro/devicetree.cb b/src/mainboard/asus/p8h61-m_pro/devicetree.cb index 9407aab..f853452 100644 --- a/src/mainboard/asus/p8h61-m_pro/devicetree.cb +++ b/src/mainboard/asus/p8h61-m_pro/devicetree.cb @@ -109,6 +109,9 @@ irq 0xe5 = 0xff end end + chip drivers/pc80/tpm + device pnp 4e.0 on end # TPM module + end end device pci 1f.2 on end # SATA Controller 1 device pci 1f.3 on end # SMBus
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: : mainboard/asus/p8h61-m_pro : Add TPM module ......................................................................
Patch Set 1:
(6 comments)
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@7 PS1, Line 7: Add TPM module Support TPM module
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@7 PS1, Line 7: : Please remove.
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@7 PS1, Line 7: mainboard/asus/p8h61-m_pro : Please remove the dot before the colon (:).
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@9 PS1, Line 9: modified mainboard/asus/p8h61-m_pro/Kconfig to include MAINBOARD_HAS_LPC_TPM : modified mainboard/asus/p8h61-m_pro/devicetree.cb to include drivers/pc80/tpm on device pnp 4e.0 Please remove.
Select support in Kconfig and configure the device in the devicetree.
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@11 PS1, Line 11: Tested with TPM 1.2 and 2.0. Do you have different modules? What module have you used for testing? Or is one included on the board?
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@11 PS1, Line 11: Seaboot SeaBIOS
Hello Angel Pons, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/32080
to look at the new patch set (#2).
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
mainboard/asus/p8h61-m_pro : Support TPM module
Select support in Kconfig and configure device in devicetree Tested with ASUS addon TPM modules, v1.2 (ASUS TPM-L FW3.19 rev1.02H) and v2.0 (ASUS TPM-L R2.0 rev1.00) using SeaBIOS and Linux OS
Change-Id: Icdad9a41b61221b536f2ac695f44319f6b0599e7 Signed-off-by: Simon Newton simon.newton@gmail.com --- M src/mainboard/asus/p8h61-m_pro/Kconfig M src/mainboard/asus/p8h61-m_pro/devicetree.cb 2 files changed, 5 insertions(+), 1 deletion(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/32080/2
Hello Angel Pons, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/32080
to look at the new patch set (#3).
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
mainboard/asus/p8h61-m_pro : Support TPM module
Select support in Kconfig and configure device in devicetree Tested with ASUS addon TPM modules, v1.2 (ASUS TPM-L FW3.19 rev1.02H) and v2.0 (ASUS TPM-L R2.0 rev1.00) using SeaBIOS and Linux OS
Change-Id: Icdad9a41b61221b536f2ac695f44319f6b0599e7 Signed-off-by: Simon Newton simon.newton@gmail.com --- M src/mainboard/asus/p8h61-m_pro/Kconfig M src/mainboard/asus/p8h61-m_pro/devicetree.cb 2 files changed, 4 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/32080/3
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3: Code-Review+1
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3:
I don't have a TPM to test this change with :(
I don't recall if some genX_dec settings for TPM are missing or not, though.
Simon Newton has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3:
(6 comments)
Patch Set 3:
I don't have a TPM to test this change with :(
I don't recall if some genX_dec settings for TPM are missing or not, though.
Heres the serial output for the 1.2
lpc_tpm: Read reg 0xf00 returns 0xb15d1 Found TPM SLB9635 TT 1.2 by Infineon lpc_tpm: Read reg 0x0 returns 0x81 lpc_tpm: Write reg 0x0 with 0x2 lpc_tpm: Read reg 0x0 returns 0xa1 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: Startup lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc1 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x99 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x1 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x20 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xc4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xa lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x2 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: command 0x99 returned 0x0 TPM: Asserting physical presence lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc1 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xa lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x8 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x20 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xc4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xa lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x2 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: command 0x4000000a returned 0x0 lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc1 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x16 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x65 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x4 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x4 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x1 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x8 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x20 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xc4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x24 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x16 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1f lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: command 0x65 returned 0x0 TPM: flags disable=0, deactivated=0, nvlocked=1 TPM: setup succeeded
In Fedora the device is present
$dmesg | grep tpm [ 4.403095] tpm_tis 00:06: 1.2 TPM (device-id 0xB, revid 16)
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@7 PS1, Line 7: Add TPM module
Support TPM module
Ack
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@7 PS1, Line 7: :
Please remove.
Ack
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@7 PS1, Line 7: mainboard/asus/p8h61-m_pro :
Please remove the dot before the colon (:).
which dot? :)
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@9 PS1, Line 9: modified mainboard/asus/p8h61-m_pro/Kconfig to include MAINBOARD_HAS_LPC_TPM : modified mainboard/asus/p8h61-m_pro/devicetree.cb to include drivers/pc80/tpm on device pnp 4e.0
Please remove. […]
Ack
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@11 PS1, Line 11: Seaboot
SeaBIOS
Ack
https://review.coreboot.org/#/c/32080/1//COMMIT_MSG@11 PS1, Line 11: Tested with TPM 1.2 and 2.0.
Do you have different modules? What module have you used for testing? Or is one included on the boar […]
I have two modules - both infineon chipset ASUS branded (one v1.2 and one v2.0). They are add on modules.
Simon Newton has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3:
Patch Set 3:
(6 comments)
Patch Set 3:
I don't have a TPM to test this change with :(
I don't recall if some genX_dec settings for TPM are missing or not, though.
Heres the serial output for the 1.2
lpc_tpm: Read reg 0xf00 returns 0xb15d1 Found TPM SLB9635 TT 1.2 by Infineon lpc_tpm: Read reg 0x0 returns 0x81 lpc_tpm: Write reg 0x0 with 0x2 lpc_tpm: Read reg 0x0 returns 0xa1 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: Startup lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc1 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x99 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x1 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x20 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xc4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xa lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x2 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: command 0x99 returned 0x0 TPM: Asserting physical presence lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc1 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xa lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x8 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x20 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xc4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xa lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x2 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: command 0x4000000a returned 0x0 lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc1 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x16 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x65 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x4 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x4 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x1 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x8 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x20 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xc4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x24 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x16 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1f lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x4 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 TPM: command 0x65 returned 0x0 TPM: flags disable=0, deactivated=0, nvlocked=1 TPM: setup succeeded
In Fedora the device is present
$dmesg | grep tpm [ 4.403095] tpm_tis 00:06: 1.2 TPM (device-id 0xB, revid 16)
Further testing of 1.2
[root@localhost-live liveuser]# dmesg | grep -i tpm [ 4.403600] tpm_tis 00:06: 1.2 TPM (device-id 0xB, rev-id 16) [root@localhost-live liveuser]# systemctl start tcsd [root@localhost-live liveuser]# tpm_version TPM 1.2 Version Info: Chip Version: 1.2.3.19 Spec Level: 2 Errata Revision: 2 TPM Vendor ID: IFX Vendor Specific data: 0313000b 00 TPM Version: 01010000 Manufacturer Info: 49465800 [root@localhost-live liveuser]# tpm_takeownership Enter owner password: Confirm password: Enter SRK password: Confirm password: [root@localhost-live liveuser]# tpm_selftest TPM Test Results: bfbff5bf ff8f [root@localhost-live liveuser]# tpm_clear Enter owner password: TPM Successfuly Cleared. You need to reboot to complete this operation. After reboot the TPM will be in the default state: unowned, disabled and inactive.
Simon Newton has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3:
Testing of TPM v2.0
Serial output lpc_tpm: Read reg 0xf00 returns 0x1a15d1 Found TPM SLB9665 TT 2.0 by Infineon lpc_tpm: Read reg 0x0 returns 0x81 lpc_tpm: Write reg 0x0 with 0x2 lpc_tpm: Read reg 0x0 returns 0xa1 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x18 returns 0x40 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x80 lpc_tpm: Write reg 0x18 with 0x1 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0xc lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x1 lpc_tpm: Write reg 0x18 with 0x44 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x18 returns 0x88 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Write reg 0x18 with 0x0 lpc_tpm: Read reg 0x18 returns 0x8 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x20 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x8 lpc_tpm: Read reg 0x24 returns 0x80 lpc_tpm: Read reg 0x24 returns 0x1 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0xa lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x18 returns 0x90 lpc_tpm: Read reg 0x19 returns 0x2 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x24 returns 0x0 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x80 lpc_tpm: Write reg 0x18 with 0x40 lpc_tpm: Read reg 0x18 returns 0x40 tlcl_send_startup: Startup return code is 0 TPM: setup succeeded
Operation within Fedora [root@localhost-live liveuser]# dmesg | grep -i tpm [ 0.000000] ACPI: TPM2 0x000000007FF49270 00004C (v04 COREv4 COREBOOT 00000000 CORE 20190108) [ 4.403133] tpm_tis 00:06: 2.0 TPM (device-id 0x1A, rev-id 16) [root@localhost-live liveuser]# echo "tpm2 test" | clevis encrypt tpm2 '{}' > test.txt [root@localhost-live liveuser]# cat test.txt eyJhbGciOiJkaXIiLCJjbGV2aXMiOnsicGluIjoidHBtMiIsInRwbTIiOnsiaGFzaCI6InNoYTI1NiIsImp3a19wcml2IjoiQU00QUlKY2dBaFdLWXpQalV1UEE5VmVpWmJSM21HeG1VczR3ZGNPUjA5ZEtCcWptQUJCQmxBcFRObm1TTFVpMlNXeDZva183amI1ZVU4LVJLU0JfRllPUHN2R3hUdDh3ZFVaUHdqTFNPZXVsV3pzM2U1TENOWS14WG9zb3VoTmV1cmR2bFZmRm4wQkFRMldoOTZWbldKamF2amhYOC16eFNhUnQ1Wkd5RW9oMjlqVHZVMFRhcUVISWFsckFORjEwbVVWUjVaTUpMRDE1czFFMnljOVBrTDR5dnRfNmZIWkpuRVBWMXZPTm55RngtaVJ1X19lZ25jcU8xS1ZObldzakJMRVFWNDVGZ3c3ZlNPU3JDOFZmb0EiLCJqd2tfcHViIjoiQUM0QUNBQUxBQUFFMGdBQUFCQUFJQk9weVVNMFY0UEkxTjNSTEp2eEFEcF9wYmcza2tVVjNSYkdTTzg3OFAyQSIsImtleSI6ImVjYyJ9fSwiZW5jIjoiQTI1NkdDTSJ9..5BdL37zt5Gp8bVMq.Li9T2xmSWvo5hA.lcqXujTWaFboe9dh74eOsw[root@localhost-live liveuser]# cleavis decrypt tpm2 < test.txt bash: cleavis: command not found... [root@localhost-live liveuser]# clevis decrypt tpm2 < test.txt tpm2 test [root@localhost-live liveuser]#
Simon Newton has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3:
note , TPM v2.0 use requires CONFIG_USER_TPM2=y in coreboot config.
Patrick Rudolph has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3: Code-Review+2
Philipp Deppenwiese has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
Patch Set 3: Code-Review+2
Philipp Deppenwiese has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/32080 )
Change subject: mainboard/asus/p8h61-m_pro : Support TPM module ......................................................................
mainboard/asus/p8h61-m_pro : Support TPM module
Select support in Kconfig and configure device in devicetree Tested with ASUS addon TPM modules, v1.2 (ASUS TPM-L FW3.19 rev1.02H) and v2.0 (ASUS TPM-L R2.0 rev1.00) using SeaBIOS and Linux OS
Change-Id: Icdad9a41b61221b536f2ac695f44319f6b0599e7 Signed-off-by: Simon Newton simon.newton@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/32080 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Patrick Rudolph patrick.rudolph@9elements.com Reviewed-by: Patrick Rudolph siro@das-labor.org Reviewed-by: Philipp Deppenwiese zaolin.daisuki@gmail.com --- M src/mainboard/asus/p8h61-m_pro/Kconfig M src/mainboard/asus/p8h61-m_pro/devicetree.cb 2 files changed, 4 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Philipp Deppenwiese: Looks good to me, approved Patrick Rudolph: Looks good to me, approved Patrick Rudolph: Looks good to me, but someone else must approve
diff --git a/src/mainboard/asus/p8h61-m_pro/Kconfig b/src/mainboard/asus/p8h61-m_pro/Kconfig index 4d24187..082d3e4 100644 --- a/src/mainboard/asus/p8h61-m_pro/Kconfig +++ b/src/mainboard/asus/p8h61-m_pro/Kconfig @@ -30,6 +30,7 @@ select HAVE_OPTION_TABLE select HAVE_CMOS_DEFAULT select DRIVERS_ASMEDIA_ASPM_BLACKLIST + select MAINBOARD_HAS_LPC_TPM
config MAINBOARD_DIR string diff --git a/src/mainboard/asus/p8h61-m_pro/devicetree.cb b/src/mainboard/asus/p8h61-m_pro/devicetree.cb index 9407aab..f853452 100644 --- a/src/mainboard/asus/p8h61-m_pro/devicetree.cb +++ b/src/mainboard/asus/p8h61-m_pro/devicetree.cb @@ -109,6 +109,9 @@ irq 0xe5 = 0xff end end + chip drivers/pc80/tpm + device pnp 4e.0 on end # TPM module + end end device pci 1f.2 on end # SATA Controller 1 device pci 1f.3 on end # SMBus