1.\" 2.\" Copyright (c) 2010 Hans-Joerg Hoexer 3.\" 4.\" Permission to use, copy, modify, and distribute this software for any 5.\" purpose with or without fee is hereby granted, provided that the above 6.\" copyright notice and this permission notice appear in all copies. 7.\" 8.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15.\" 16.Dd October 31, 2018 17.Dt TPM 4 18.Os 19.Sh NAME 20.Nm tpm 21.Nd Trusted Platform Module 22.Sh SYNOPSIS 23To compile this driver into the kernel, 24place the following lines in your 25kernel configuration file: 26.Bd -ragged -offset indent 27.Cd "device tpm" 28.Ed 29.Pp 30Alternatively, to load the driver as a 31module at boot time, place the following line in 32.Xr loader.conf 5 : 33.Bd -literal -offset indent 34tpm_load="YES" 35.Ed 36.Pp 37In 38.Pa /boot/device.hints : 39.Cd hint.tpm.0.at="isa" 40.Cd hint.tpm.0.maddr="0xfed40000" 41.Cd hint.tpm.0.msize="0x5000" 42.Cd hint.tpm.1.at="isa" 43.Cd hint.tpm.1.maddr="0xfed40000" 44.Cd hint.tpm.1.msize="0x1000" 45.Sh DESCRIPTION 46The 47.Nm 48driver provides support for various trusted platform modules (TPM) that can 49store cryptographic keys. 50.Pp 51Supported modules: 52.Pp 53.Bl -bullet -compact -offset indent 54.It 55Atmel 97SC3203 56.It 57Broadcom BCM0102 58.It 59Infineon IFX SLD 9630 TT 1.1 and IFX SLB 9635 TT 1.2 60.It 61Intel INTC0102 62.It 63Sinosun SNS SSX35 64.It 65STM ST19WP18 66.It 67Winbond WEC WPCT200 68.El 69.Pp 70The driver can be configured to use an IRQ by providing a free ISA 71interrupt vector in 72.Pa /boot/device.hints . 73.Sh SEE ALSO 74.Xr intro 4 , 75.Xr device.hints 5 , 76.Xr config 8 77.Pp 78The homepage of the BSSSD project, which developed the original 79.Nm 80driver: 81.Lk "http://bsssd.sourceforge.net/" . 82.Pp 83TPM main specification can be found at: 84.Lk "https://trustedcomputinggroup.org/resource/tpm-main-specification/" . 85.Sh STANDARDS 86TPM Main Specification Level 2 Version 1.2: 87.Bl -dash 88.It 89.Rs 90.%A ISO/IEC 91.%T 11889-1:2009, Information technology -- Trusted Platform Module -- Part 1: Overview 92.%U "https://www.iso.org/standard/50970.html" 93.Re 94.It 95.Rs 96.%A ISO/IEC 97.%T 11889-2:2009, Information technology -- Trusted Platform Module -- Part 2: Design principles 98.%U "https://www.iso.org/standard/50971.html" 99.Re 100.It 101.Rs 102.%A ISO/IEC 103.%T 11889-3:2009, Information technology -- Trusted Platform Module -- Part 3: Structures 104.%U "https://www.iso.org/standard/50972.html" 105.Re 106.El 107.Sh HISTORY 108The 109.Nm 110driver 111first appeared in 112.Fx 8.2 113and was later added to 114.Ox 6.1 . 115.Sh AUTHORS 116.An -nosplit 117The 118.Nm 119driver was written by 120.An Michael Shalayeff 121and 122.An Hans-Joerg Hoexer . 123