Re: [BUG] Nuvoton NCPT650 TPM 2.0 mode not working

From: Michael Niewöhner
Date: Sun Nov 11 2018 - 16:11:55 EST


On Sun, 2018-11-11 at 21:34 +0100, Michael NiewÃhner wrote:
> On Sun, 2018-11-11 at 12:29 -0800, James Bottomley wrote:
> > On Sun, 2018-11-11 at 21:09 +0100, Michael NiewÃhner wrote:
> > > On Sun, 2018-11-11 at 10:57 -0800, James Bottomley wrote:
> >
> > [...]
> > > > Well, I still think the ACPI setup is incorrect. What's in
> > > > /sys/class/platform (should be directories of ACPI devices)? The
> > > > TPM is supposed to show up as MSFT0101. If it doesn't is there any
> > > > other device string in there that might be a TPM?
> > >
> > > Nope. I'm not sure if it should show up in ACPI... isn't TPM 2.0 I2C?
> >
> > Your ACPI parser identifies it here:
> >
> > > [ 0.003517] ACPI: TPM2 0x000000009E490ED8 000034 (v03 LENOVO TC-
> > > S06 00001300 AMI 00000000)
> >
> > So it has to be a device in the platform directory. What is in this
> > directory? To find the TPM it probably has something TPM like in the
> > firmware_node description:
> >
> > /sys/devices/platform/<dev>/firmware_node/description
> >
> > Mine says
> >
> > jejb@jarvis:~/git/linux/drivers> cat
> > /sys/devices/platform/MSFT0101\:00/firmware_node/description
> > TPM 2.0 Device
> >
>
> Ah, yep. There is indeed a MSFT0101:
> (initramfs) cat /sys/devices/platform/MSFT0101\:00/firmware_node/description
> TPM 2.0 Device
> (initramfs) cat /sys/devices/platform/MSFT0101\:00/firmware_node/hid
> MSFT0101
> (in
> itramfs) cat /sys/devices/platform/MSFT0101\:00/firmware_node/path
> \_SB_.TPM_
> (in
> itramfs) cat /sys/devices/platform/MSFT0101\:00/firmware_node/status
> 15
> (initramf
> s) cat /sys/devices/platform/MSFT0101\:00/firmware_node/uid
> 1
>
> > James

Very strange... When I pull the power cord, then replug and boot, I get these
dmesg messages:
[ 0.000000] efi: ACPI
2.0=0x9ea78000 ACPI=0x9ea78000 SMBIOS=0x9f5e5000 SMBIOS
3.0=0x9f5e4000 MPS=0xfca00 ESRT=0x9c06e918 MEMATTR=0x99cb9018 TPMEventLog=0x
98d0c018
[ 0.001794] ACPI: TPM2 0x000000009EAB1F70 000034 (v03 LENOVO TC-
S06 00001260 AMI 00000000)
[ 3.096587] tpm_tis MSFT0101:00: 2.0 TPM (device-id 0xFE, rev-id 2)
[ 3.105684] tpm tpm0: A TPM error (2314) occurred attempting the self test

After a reboot I get those "ima: ..." message again. Pulling the plug seems to
reset anything (the TPM).

The PTT TPM 2.0 shows exactly the same behaviour.