Home
last modified time | relevance | path

Searched full:tpm (Results 1 – 25 of 523) sorted by relevance

12345678910>>...21

/openbmc/u-boot/drivers/tpm/
H A DKconfig2 # TPM subsystem configuration
5 menu "TPM support"
9 depends on TPM
12 Major TPM versions are not compatible at all, choose either
18 bool "Enable sandbox TPM driver"
23 such as reading and writing TPM private data. This is enough to
28 bool "Enable Atmel TWI TPM device driver"
31 This driver supports an Atmel TPM device connected on the I2C bus.
32 The usual tpm operations and the 'tpm' command can be used to talk
33 to the device using the standard TPM Interface Specification (TIS)
[all …]
H A Dtpm2_tis_sandbox.c9 #include <tpm-v2.h>
44 /* TPM internal states */
48 /* TPM password per hierarchy */
51 /* TPM properties */
53 /* TPM PCRs */
55 /* TPM PCR extensions */
68 struct sandbox_tpm2 *tpm = dev_get_priv(dev); in sandbox_tpm2_check_session() local
161 if (!pw_sz && !tpm->pw_sz[*hierarchy]) in sandbox_tpm2_check_session()
175 if (pw_sz != tpm->pw_sz[*hierarchy] || in sandbox_tpm2_check_session()
176 strncmp(pw, tpm->pw[*hierarchy], tpm->pw_sz[*hierarchy])) { in sandbox_tpm2_check_session()
[all …]
H A Dtpm_tis_st33zp24_i2c.c3 * STMicroelectronics TPM ST33ZP24 I2C UBOOT driver
8 * Description: Device driver for ST33ZP24 I2C TPM TCG.
10 * This device driver implements the TPM interface as defined in
11 * the TCG TPM Interface Spec version 1.21, revision 1.0 and the
19 #include <tpm-v1.h>
41 * @param: tpm_register, the tpm tis register where the data should be written
60 * @param: tpm_register, the tpm tis register where the data should be read
61 * @param: tpm_data, the TPM response
62 * @param: tpm_size, tpm TPM response size to read.
83 * @param: tpm_register, the tpm tis register where the data should be written
[all …]
/openbmc/qemu/qapi/
H A Dtpm.json6 # = TPM (trusted platform module) devices
12 # An enumeration of TPM models
14 # @tpm-tis: TPM TIS model
16 # @tpm-crb: TPM CRB model (since 2.12)
18 # @tpm-spapr: TPM SPAPR model (since 5.0)
22 { 'enum': 'TpmModel', 'data': [ 'tpm-tis', 'tpm-crb', 'tpm-spapr' ],
26 # @query-tpm-models:
28 # Return a list of supported TPM models
36 # -> { "execute": "query-tpm-models" }
37 # <- { "return": [ "tpm-tis", "tpm-crb", "tpm-spapr" ] }
[all …]
/openbmc/linux/drivers/char/tpm/
H A DKconfig3 # TPM device configuration
7 tristate "TPM Hardware Support"
13 If you have a TPM security chip in your system, which
21 will be called tpm. If unsure, say N.
23 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI
31 bool "TPM HW Random Number Generator support"
35 This setting exposes the TPM's Random Number Generator as a hwrng
36 device. This allows the kernel to collect randomness from the TPM at
37 boot, and provides the TPM randomines in /dev/hwrng.
44 TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks
[all …]
H A DMakefile3 # Makefile for the kernel tpm device drivers.
5 obj-$(CONFIG_TCG_TPM) += tpm.o
6 tpm-y := tpm-chip.o
7 tpm-y += tpm-dev-common.o
8 tpm-y += tpm-dev.o
9 tpm-y += tpm-interface.o
10 tpm-y += tpm1-cmd.o
11 tpm-y += tpm2-cmd.o
12 tpm-y += tpmrm-dev.o
13 tpm-y += tpm2-space.o
[all …]
H A Dtpm_tis_i2c_cr50.c5 * Based on Infineon TPM driver by Peter Huewe.
32 #define TPM_CR50_TIMEOUT_NOIRQ_MS 20 /* Timeout for TPM ready without IRQ */
62 * @tpm_info: TPM chip information.
82 * tpm_cr50_i2c_wait_tpm_ready() - Wait for tpm to signal ready.
83 * @chip: A TPM chip.
86 * delay for the TPM to be ready.
102 /* Wait for interrupt to indicate TPM is ready to respond */ in tpm_cr50_i2c_wait_tpm_ready()
104 dev_warn(&chip->dev, "Timeout waiting for TPM ready\n"); in tpm_cr50_i2c_wait_tpm_ready()
112 * tpm_cr50_i2c_enable_tpm_irq() - Enable TPM irq.
113 * @chip: A TPM chip.
[all …]
/openbmc/linux/drivers/pwm/
H A Dpwm-imx-tpm.c6 * - The TPM counter and period counter are shared between
92 struct imx_tpm_pwm_chip *tpm = to_imx_tpm_pwm_chip(chip); in pwm_imx_tpm_round_state() local
96 rate = clk_get_rate(tpm->clk); in pwm_imx_tpm_round_state()
141 struct imx_tpm_pwm_chip *tpm = to_imx_tpm_pwm_chip(chip); in pwm_imx_tpm_get_state() local
146 state->period = tpm->real_period; in pwm_imx_tpm_get_state()
149 rate = clk_get_rate(tpm->clk); in pwm_imx_tpm_get_state()
150 val = readl(tpm->base + PWM_IMX_TPM_SC); in pwm_imx_tpm_get_state()
152 tmp = readl(tpm->base + PWM_IMX_TPM_CnV(pwm->hwpwm)); in pwm_imx_tpm_get_state()
157 val = readl(tpm->base + PWM_IMX_TPM_CnSC(pwm->hwpwm)); in pwm_imx_tpm_get_state()
179 struct imx_tpm_pwm_chip *tpm = to_imx_tpm_pwm_chip(chip); in pwm_imx_tpm_apply_hw() local
[all …]
/openbmc/linux/Documentation/ABI/stable/
H A Dsysfs-class-tpm1 What: /sys/class/tpm/tpmX/device/
5 Description: The device/ directory under a specific TPM instance exposes
6 the properties of that TPM chip
9 What: /sys/class/tpm/tpmX/device/active
13 Description: The "active" property prints a '1' if the TPM chip is accepting
14 commands. An inactive TPM chip still contains all the state of
17 commands. See the TPM Main Specification part 2, Structures,
21 What: /sys/class/tpm/tpmX/device/cancel
26 pending TPM command. Writing any value to cancel will call the
27 TPM vendor specific cancel operation.
[all …]
/openbmc/qemu/docs/specs/
H A Dtpm.rst4 QEMU TPM Device
13 The QEMU TPM emulation implements a TPM TIS hardware interface
15 Specific TPM Interface Specification (TIS)", Specification Version
22 QEMU files related to TPM TIS interface:
23 - ``hw/tpm/tpm_tis_common.c``
24 - ``hw/tpm/tpm_tis_isa.c``
25 - ``hw/tpm/tpm_tis_sysbus.c``
26 - ``hw/tpm/tpm_tis_i2c.c``
27 - ``hw/tpm/tpm_tis.h``
34 based emulation machines. This device only supports the TPM 2 protocol.
[all …]
/openbmc/u-boot/include/
H A Dtpm_api.h10 #include <tpm-common.h>
11 #include <tpm-v1.h>
12 #include <tpm-v2.h>
17 * @param dev TPM device
18 * @param mode TPM startup mode
26 * @param dev TPM device
34 * @param dev TPM device
44 * @param dev TPM device
57 * @param dev TPM device
70 * @param dev TPM device
[all …]
H A Dtpm-common.h24 * Here is a partial implementation of TPM commands. Please consult TCG Main
25 * Specification for definitions of TPM commands.
30 /* Max buffer size supported by our tpm */
36 * enum tpm_version - The version of the TPM stack to be used
37 * @TPM_V1: Use TPM v1.x stack
38 * @TPM_V2: Use TPM v2.x stack
46 * struct tpm_chip_priv - Information about a TPM, stored by the uclass
52 * @version: TPM stack to be used
58 * @plat_hier_disabled: Platform hierarchy has been disabled (TPM is locked
68 /* TPM v2 specific data */
[all …]
H A Dtpm-v1.h10 #include <tpm-common.h>
114 * TPM return codes as defined in the TCG Main specification
115 * (TPM Main Part 2 Structures; Specification version 1.2)
121 /* TPM-defined fatal error codes */
220 /* TPM-defined non-fatal errors */
288 * @param dev TPM device
289 * @param mode TPM startup mode
297 * @param dev TPM device
305 * @param dev TPM device
315 * @param dev TPM device
[all …]
/openbmc/qemu/backends/tpm/
H A Dtpm_emulator.c2 * Emulator TPM driver
44 #include "qapi/qapi-visit-tpm.h"
49 #define TYPE_TPM_EMULATOR "tpm-emulator"
56 /* blobs from the TPM; part of VM state when migrating */
75 uint32_t caps; /* capabilities of the TPM */
96 /* TPM 1.2 error codes */
107 /* TPM 2 error codes */
125 static int tpm_emulator_ctrlcmd(TPMEmulator *tpm, unsigned long cmd, void *msg, in tpm_emulator_ctrlcmd() argument
129 CharBackend *dev = &tpm->ctrl_chr; in tpm_emulator_ctrlcmd()
135 WITH_QEMU_LOCK_GUARD(&tpm->mutex) { in tpm_emulator_ctrlcmd()
[all …]
/openbmc/openbmc/meta-security/meta-tpm/recipes-core/packagegroup/
H A Dpackagegroup-security-tpm.bb8 PACKAGES = "packagegroup-security-tpm"
10 SUMMARY:packagegroup-security-tpm = "Security TPM support"
11 RDEPENDS:packagegroup-security-tpm = " \
12 tpm-tools \
15 tpm-quote-tools \
18 openssl-tpm-engine \
25 kernel-module-tpm-atmel \
26 kernel-module-tpm-infineon \
27 kernel-module-tpm-nsc \
31 kernel-module-tpm-atmel \
[all …]
H A Dpackagegroup-security-tpm-i2c.bb1 DESCRIPTION = "Security packagegroup for TPM i2c support"
8 PACKAGES = "packagegroup-security-tpm-i2c"
10 SUMMARY:packagegroup-security-tpm-i2c = "Security TPM i2c support"
11 RDEPENDS:packagegroup-security-tpm-i2c = " \
12 ${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'packagegroup-security-tpm', '', d)} \
14 kernel-module-tpm-i2c-atmel \
15 kernel-module-tpm-i2c-infineon \
16 kernel-module-tpm-i2c-nuvoton \
17 kernel-module-tpm-st33zp24 \
18 kernel-module-tpm-st33zp24-i2c \
/openbmc/linux/Documentation/security/tpm/
H A Dtpm_vtpm_proxy.rst2 Virtual TPM Proxy Driver for Linux Containers
14 The goal of this work is to provide TPM functionality to each Linux
15 container. This allows programs to interact with a TPM in a container
16 the same way they interact with a TPM on the physical system. Each
17 container gets its own unique, emulated, software TPM.
22 To make an emulated software TPM available to each container, the container
23 management stack needs to create a device pair consisting of a client TPM
27 is passed to the TPM emulator. Software inside the container can then send
28 TPM commands using the character device and the emulator will receive the
31 To support this, the virtual TPM proxy driver provides a device ``/dev/vtpmx``
[all …]
H A Dxen-tpmfront.rst2 Virtual TPM interface for Xen
9 Linux, and a basic understanding of the TPM and vTPM concepts.
14 The goal of this work is to provide a TPM functionality to a virtual guest
16 a TPM in a virtual system the same way they interact with a TPM on the physical
17 system. Each guest gets its own unique, emulated, software TPM. However, each
19 which seals the secrets to the Physical TPM. If the process of creating each of
21 the chain of trust rooted in the hardware TPM to virtual machines in Xen. Each
66 | Hardware TPM |
74 Linux kernel virtual TPM frontend driver. This driver
78 Mini-os TPM backend driver. The Linux frontend driver
[all …]
/openbmc/docs/designs/oem/google/
H A Droot_of_trust.md79 Considered adding the new APIs as an OEM extension to the TPM resource. However,
81 to use TPM for Google's RoT:
84 - Somewhat closely fixed to the design of TPM. TPM 1.2 had 32-bit firmware
85 version and TPM 2.0 extended it clumsily by just tacking on another firmware
87 - TPM "Firmware 1" and "Firmware 2" together refer to the 64-bit firmware
91 numbers than the rest of the TPM vendors, reserving some bits and expressing
95 is (not) within the TPM ecosystem.
97 - Currently closely fixed to the ecosystem of TPM variants.
98 - Which flavor of TPM interface is implemented. TCM is the "China version" of
99 TPM 1.2. The Chinese TPM switched over to TPM 2.0 after that version of the
[all …]
/openbmc/linux/drivers/char/tpm/st33zp24/
H A Di2c.c3 * STMicroelectronics TPM I2C Linux driver for TPM ST33ZP24
11 #include <linux/tpm.h>
13 #include "../tpm.h"
26 * @param: tpm_register, the tpm tis register where the data should be written
43 * @param: tpm_register, the tpm tis register where the data should be read
44 * @param: tpm_data, the TPM response
45 * @param: tpm_size, tpm TPM response size to read.
65 * @param: tpm_register, the tpm tis register where the data should be written
81 * @param: tpm_register, the tpm tis register where the data should be read
82 * @param: tpm_data, the TPM response
[all …]
H A Dspi.c3 * STMicroelectronics TPM SPI Linux driver for TPM ST33ZP24
11 #include <linux/tpm.h>
13 #include "../tpm.h"
39 * TPM command can be up to 2048 byte, A TPM response can be up to
46 * 2048 (for the TPM command) + 1024 (for the TPM answer). We need
91 * @param: tpm_register, the tpm tis register where the data should be written
134 * @param: tpm_register, the tpm tis register where the data should be read
135 * @param: tpm_data, the TPM response
136 * @param: tpm_size, tpm TPM response size to read.
175 * @param: tpm_register, the tpm tis register where the data should be read
[all …]
/openbmc/linux/Documentation/devicetree/bindings/security/tpm/
H A Dtpm-tis-i2c.yaml4 $id: http://devicetree.org/schemas/security/tpm/tpm-tis-i2c.yaml#
7 title: I2C PTP based TPM Devices
13 Device Tree Bindings for I2C based Trusted Platform Module (TPM).
17 pattern: "^tpm(@[0-9a-f]+)?$"
21 - description: Infineon's Trusted Platform Module (TPM) (SLB9673).
24 - const: tcg,tpm-tis-i2c
25 - description: Nuvoton's Trusted Platform Module (TPM) (NPCT75x).
28 - const: tcg,tpm-tis-i2c
29 - const: tcg,tpm-tis-i2c
45 tpm@2e {
[all …]
/openbmc/u-boot/board/gdsys/a38x/
H A Dhre.c12 #include <tpm-v1.h>
95 * @brief get the size of a given (TPM) NV area
96 * @param tpm TPM device
101 static int get_tpm_nv_size(struct udevice *tpm, uint32_t index, uint32_t *size) in get_tpm_nv_size() argument
108 err = tpm_get_capability(tpm, TPM_CAP_NV_INDEX, index, in get_tpm_nv_size()
132 * @param tpm TPM device
136 * @return 0 if key was found in TPM; != 0 if not.
138 static int find_key(struct udevice *tpm, const uint8_t auth[20], in find_key() argument
150 /* fetch list of already loaded keys in the TPM */ in find_key()
151 err = tpm_get_capability(tpm, TPM_CAP_HANDLE, TPM_RT_KEY, buf, in find_key()
[all …]
/openbmc/openbmc/meta-security/meta-tpm/recipes-tpm1/tpm-quote-tools/
H A Dtpm-quote-tools_1.0.4.bb1 SUMMARY = "The TPM Quote Tools is a collection of programs that provide support \
2 for TPM based attestation using the TPM quote mechanism. \
4 DESCRIPTION = "The TPM Quote Tools is a collection of programs that provide support \
5 for TPM based attestation using the TPM quote mechanism. The manual \
8 TPM Quote Tools has been tested with TrouSerS on Linux and NTRU on \
12 SECTION = "security/tpm"
16 DEPENDS = "libtspi tpm-tools"
18 SRC_URI = "git://git.code.sf.net/p/tpmquotetools/tpm-quote-tools;branch=master"
/openbmc/linux/Documentation/devicetree/bindings/timer/
H A Dnxp,tpm-timer.yaml4 $id: http://devicetree.org/schemas/timer/nxp,tpm-timer.yaml#
7 title: NXP Low Power Timer/Pulse Width Modulation Module (TPM)
13 The Timer/PWM Module (TPM) supports input capture, output compare,
17 power modes. TPM can support global counter bus where one TPM drives
23 - const: fsl,imx7ulp-tpm
25 - const: fsl,imx8ulp-tpm
26 - const: fsl,imx7ulp-tpm
36 - description: SoC TPM ipg clock
37 - description: SoC TPM per clock
59 compatible = "fsl,imx7ulp-tpm";

12345678910>>...21