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.\" $FreeBSD$ 17.\" 18.Dd October 31, 2018 19.Dt TPM 4 20.Os 21.Sh NAME 22.Nm tpm 23.Nd Trusted Platform Module 24.Sh SYNOPSIS 25To compile this driver into the kernel, 26place the following lines in your 27kernel configuration file: 28.Bd -ragged -offset indent 29.Cd "device tpm" 30.Ed 31.Pp 32Alternatively, to load the driver as a 33module at boot time, place the following line in 34.Xr loader.conf 5 : 35.Bd -literal -offset indent 36tpm_load="YES" 37.Ed 38.Pp 39In 40.Pa /boot/device.hints : 41.Cd hint.tpm.0.at="isa" 42.Cd hint.tpm.0.maddr="0xfed40000" 43.Cd hint.tpm.0.msize="0x5000" 44.Cd hint.tpm.1.at="isa" 45.Cd hint.tpm.1.maddr="0xfed40000" 46.Cd hint.tpm.1.msize="0x1000" 47.Sh DESCRIPTION 48The 49.Nm 50driver provides support for various trusted platform modules (TPM) that can 51store cryptographic keys. 52.Pp 53Supported modules: 54.Pp 55.Bl -bullet -compact -offset indent 56.It 57Atmel 97SC3203 58.It 59Broadcom BCM0102 60.It 61Infineon IFX SLD 9630 TT 1.1 and IFX SLB 9635 TT 1.2 62.It 63Intel INTC0102 64.It 65Sinosun SNS SSX35 66.It 67STM ST19WP18 68.It 69Winbond WEC WPCT200 70.El 71.Pp 72The driver can be configured to use an IRQ by providing a free ISA 73interrupt vector in 74.Pa /boot/device.hints . 75.Sh SEE ALSO 76.Xr intro 4 , 77.Xr device.hints 5 , 78.Xr config 8 79.Pp 80The homepage of the BSSSD project, which developed the original 81.Nm 82driver: 83.Lk "http://bsssd.sourceforge.net/" . 84.Pp 85TPM main specification can be found at: 86.Lk "https://trustedcomputinggroup.org/resource/tpm-main-specification/" . 87.Sh STANDARDS 88TPM Main Specification Level 2 Version 1.2: 89.Bl -dash 90.It 91.Rs 92.%A ISO/IEC 93.%T 11889-1:2009, Information technology -- Trusted Platform Module -- Part 1: Overview 94.%U "https://www.iso.org/standard/50970.html" 95.Re 96.It 97.Rs 98.%A ISO/IEC 99.%T 11889-2:2009, Information technology -- Trusted Platform Module -- Part 2: Design principles 100.%U "https://www.iso.org/standard/50971.html" 101.Re 102.It 103.Rs 104.%A ISO/IEC 105.%T 11889-3:2009, Information technology -- Trusted Platform Module -- Part 3: Structures 106.%U "https://www.iso.org/standard/50972.html" 107.Re 108.El 109.Sh HISTORY 110The 111.Nm 112driver 113first appeared in 114.Fx 8.2 115and was later added to 116.Ox 6.1 . 117.Sh AUTHORS 118.An -nosplit 119The 120.Nm 121driver was written by 122.An Michael Shalayeff 123and 124.An Hans-Joerg Hoexer . 125