On 6/16/20 9:01 AM, Auger Eric wrote:
Hi Stefan,
On 6/15/20 7:11 PM, Stefan Berger wrote:
On 6/15/20 11:13 AM, Marc-André Lureau wrote:
diff --git a/include/hw/acpi/tpm.h b/include/hw/acpi/tpm.h
index 1a2a57a21f..063a9eb42a 100644
--- a/include/hw/acpi/tpm.h
+++ b/include/hw/acpi/tpm.h
@@ -24,7 +24,7 @@
#define TPM_TIS_ADDR_BASE 0xFED40000
#define TPM_TIS_ADDR_SIZE 0x5000
-#define TPM_TIS_IRQ 5
+#define TPM_TIS_IRQ 13
Eric,
does this change have any negative side effects on ARM? If you prefer,
we can split this part here up into TPM_TIS_ISA_IRQ and TPM_TIS_SYSBUS
IRQ and leave the latter at '5' because we know that this is working.
The IRQ is not advertised in dt nor ACPI on ARM. However it is
advertised in the capability reg and in the vector. reg So I think this
should be fixed? I guess on ARM we will pick up a completely different
IRQ num, allocated from the platform bus slot.
The specification
https://trustedcomputinggroup.org/wp-content/uploads/PC-Client-Specific-Platform-TPM-Profile-for-TPM-2p0-v1p04_r0p37_pub-1.pdf
declares several fields in the Interface Capability Register (table 23,
pdf page 89) to be mandatory and they must be set to '1'. So I would not
want to touch those. We can set the interrupt vector register to '0' in
case interrupts are not supported. Following the spec 0 means that no
interrupts are supported. I will now split TPM_TIS_IRQ into
TPM_TIS_ISA_IRQ and TPM_TIS_SYSBUS_IRQ and will in the end set
TPM_TIS_SYSBUS_IRQ to 'disabled', indicating that IRQs are not
supported, though they should work even though on ARM there may not be a
driver to test this with. Does this sound ok?
Stefan
Thanks
Eric
Stefan
#define TPM_TIS_NUM_LOCALITIES 5 /* per spec */
#define TPM_TIS_LOCALITY_SHIFT 12
--
2.24.1