Hello, I have a Lenovo Thinkpad T460, running Debian Trixie.
I have enabled TPM and IOMMU in the BIOS. However, when I boot the laptop, I cannot have both options working together. It is either tpm2 or iommu, but not both. If I add "iommu=off" on the Linux command line, the TPM is working. If I don't do anything. IOMMU is working. but the TPM2 chip is not found: I have secure boot enabled, and working. Here some boot messages: > Feb 21 08:46:41 lovelace kernel: Linux version 6.18.5+deb13-amd64 > ([email protected]) (x86_64-linux-gnu-gcc-14 (Debian > 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44) #1 SMP > PREEMPT_DYNAMIC Debian 6.18.5-1~bpo13+1 (2026-02-04) > Feb 21 08:46:41 lovelace kernel: Command line: BOOT_IMAGE=/vmlinuz- > 6.18.5+deb13-amd64 root=/dev/mapper/safe-sys ro splash intel_iommu=on > iommu=pt i915.preliminary_hw_support=1 tpm_tis.force=1 quiet > Feb 21 08:46:41 lovelace kernel: BIOS-provided physical RAM map: > -- > Feb 21 08:46:41 lovelace kernel: efi: EFI v2.4 by Lenovo > Feb 21 08:46:41 lovelace kernel: efi: SMBIOS=0xaee0f000 > ACPI=0xafffd000 ACPI 2.0=0xafffd014 ESRT=0xaec9e000 MOKvar=0xaec83000 > INITRD=0x9dc5a818 RNG=0xaffcbf98 TPMEventLog=0x9289b018 > Feb 21 08:46:41 lovelace kernel: random: crng init done > Feb 21 08:46:41 lovelace kernel: TPM Final Events table not present > Feb 21 08:46:41 lovelace kernel: efi: Not removing mem65: MMIO > range=[0xf80fa000-0xf80fafff] (4KB) from e820 map > -- > Feb 21 08:46:41 lovelace kernel: ACPI: TCPA 0x00000000AFFFB000 000032 > (v02 LENOVO TP-R06 00000002 PTEC 00000002) > Feb 21 08:46:41 lovelace kernel: ACPI: SSDT 0x00000000AFFFA000 0004B7 > (v02 LENOVO Tpm2Tabl 00001000 INTL 20141107) > Feb 21 08:46:41 lovelace kernel: ACPI: SSDT 0x00000000AFFF9000 00004B > (v02 LENOVO MeSsdt 00003000 INTL 20141107) > Feb 21 08:46:41 lovelace kernel: ACPI: TPM2 0x00000000AFFF8000 000034 > (v03 LENOVO TP-R06 00001450 PTEC 00000002) > Feb 21 08:46:41 lovelace kernel: ACPI: UEFI 0x00000000AFFA6000 000042 > (v01 LENOVO TP-R06 00001450 PTEC 00000002) > -- > Feb 21 08:46:41 lovelace kernel: ACPI: Reserving SSDT table memory at > [mem 0xafff9000-0xafff904a] > Feb 21 08:46:41 lovelace kernel: ACPI: Reserving TPM2 table memory at > [mem 0xafff8000-0xafff8033] > Feb 21 08:46:41 lovelace kernel: ACPI: Reserving UEFI table memory at > [mem 0xaffa6000-0xaffa6041] > -- > Feb 21 08:46:41 lovelace kernel: pcpu-alloc: [0] 0 1 2 3 > Feb 21 08:46:41 lovelace kernel: Kernel command line: > BOOT_IMAGE=/vmlinuz-6.18.5+deb13-amd64 root=/dev/mapper/safe-sys ro > splash intel_iommu=on iommu=pt i915.preliminary_hw_support=1 > tpm_tis.force=1 quiet > Feb 21 08:46:41 lovelace kernel: DMAR: IOMMU enabled > -- > Feb 21 08:46:41 lovelace kernel: Linux agpgart interface v0.103 > Feb 21 08:46:41 lovelace kernel: tpm_tis tpm_tis: error -EBUSY: can't > request region for resource [mem 0xfed40000-0xfed44fff] > Feb 21 08:46:41 lovelace kernel: tpm_tis tpm_tis: probe with driver > tpm_tis failed with error -16 > Feb 21 08:46:41 lovelace kernel: DMAR: DRHD: handling fault status > reg 3 > -- > Feb 21 08:46:41 lovelace kernel: clocksource: Switched to clocksource > tsc > Feb 21 08:46:41 lovelace kernel: tpm tpm0: Operation Timed out > Feb 21 08:46:41 lovelace kernel: tpm tpm0: Operation Timed out > Feb 21 08:46:41 lovelace kernel: tpm_crb MSFT0101:00: probe with > driver tpm_crb failed with error -62 > Feb 21 08:46:41 lovelace kernel: i8042: PNP: PS/2 Controller > [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12 > -- > Feb 21 08:46:41 lovelace kernel: integrity: Loaded X.509 cert 'Debian > Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1' > Feb 21 08:46:41 lovelace kernel: ima: No TPM chip found, activating > TPM-bypass! > Feb 21 08:46:41 lovelace kernel: ima: Allocated hash algorithm: > sha256 > -- > Feb 21 08:46:42 lovelace systemd[1]: Inserted module 'autofs4' > Feb 21 08:46:42 lovelace systemd[1]: systemd 257.9-1~deb13u1 running > in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK > +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 > +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS > +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ > +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON -UTMP +SYSVINIT > +LIBARCHIVE) > Feb 21 08:46:42 lovelace systemd[1]: Detected architecture x86-64. > -- > Feb 21 08:46:42 lovelace systemd[1]: Expecting device dev-mapper- > safe\x2dvar.device - /dev/mapper/safe-var... > Feb 21 08:46:42 lovelace systemd[1]: Expecting device dev- > tpmrm0.device - /dev/tpmrm0... > Feb 21 08:46:42 lovelace systemd[1]: Reached target > integritysetup.target - Local Integrity Protected Volumes. > -- > Feb 21 08:46:45 lovelace systemd[1]: Reached target sound.target - > Sound Card. > Feb 21 08:48:11 lovelace systemd[1]: dev-tpmrm0.device: Job dev- > tpmrm0.device/start timed out. > Feb 21 08:48:11 lovelace systemd[1]: Timed out waiting for device > dev-tpmrm0.device - /dev/tpmrm0. > Feb 21 08:48:11 lovelace systemd[1]: dev-tpmrm0.device: Job dev- > tpmrm0.device/start failed with result 'timeout'. > Feb 21 08:48:11 lovelace systemd[1]: Reached target tpm2.target - > Trusted Platform Module. > Feb 21 08:48:11 lovelace systemd[1]: systemd-pcrextend.socket - TPM > PCR Measurements was skipped because of an unmet condition check > (ConditionSecurity=measured-uki). > Feb 21 08:48:11 lovelace systemd[1]: systemd-pcrlock.socket - Make > TPM PCR Policy was skipped because of an unmet condition check > (ConditionSecurity=measured-uki). > Feb 21 08:48:11 lovelace systemd[1]: systemd-pcrmachine.service - TPM > PCR Machine ID Measurement was skipped because of an unmet condition > check (ConditionSecurity=measured-uki). > Feb 21 08:48:11 lovelace systemd[1]: systemd-tpm2-setup-early.service > - Early TPM SRK Setup was skipped because of an unmet condition check > (ConditionSecurity=measured-uki). > Feb 21 08:48:11 lovelace systemd[1]: Starting > [email protected] - Cryptography Setup for eswap... > Feb 21 08:48:11 lovelace systemd[1]: Starting > systemd-cryptsetup@sda4_crypt.service - Cryptography Setup for > sda4_crypt... > Feb 21 08:48:11 lovelace systemd[1]: systemd-tpm2-setup.service - TPM > SRK Setup was skipped because of an unmet condition check > (ConditionSecurity=measured-uki). > Feb 21 08:48:12 lovelace systemd-cryptsetup[1514]: Volume sda4_crypt > already active. > -- > Feb 21 08:48:12 lovelace systemd[1]: Listening on systemd- > hostnamed.socket - Hostname Service Socket. > Feb 21 08:48:12 lovelace systemd[1]: systemd-pcrphase-sysinit.service > - TPM PCR Barrier (Initialization) was skipped because of an unmet > condition check (ConditionSecurity=measured-uki). > Feb 21 08:48:12 lovelace systemd[1]: Starting wtmpdb-update- > boot.service - Write boot and shutdown times into wtmpdb... > -- > Feb 21 08:48:12 lovelace systemd[1]: Starting systemd-logind.service > - User Login Management... > Feb 21 08:48:12 lovelace systemd[1]: systemd-pcrphase.service - TPM > PCR Barrier (User) was skipped because of an unmet condition check > (ConditionSecurity=measured-uki). > Feb 21 08:48:12 lovelace systemd[1]: Starting udisks2.service - Disk > Manager... > Kernel: Linux lovelace 6.18.5+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.18.5-1~bpo13+1 (2026-02-04) x86_64 GNU/Linux Any idea why, please ? Thanks for your help.

