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.