Home
last modified time | relevance | path

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

12345678910>>...14

/kernel/linux/linux-6.6/drivers/char/tpm/
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 …]
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 …]
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 …]
Dtpm1-cmd.c12 * Device driver for TCG/TCPA TPM (trusted platform module).
23 #include "tpm.h"
31 * TCG Specification TPM Main Part 2 TPM Structures Section 17. The
283 * @chip: TPM chip to use.
284 * @ordinal: TPM command ordinal.
315 * tpm1_startup() - turn on the TPM
316 * @chip: TPM chip to use
318 * Normally the firmware should start the TPM. This function is provided as a
320 * example when a TPM emulator is used.
329 dev_info(&chip->dev, "starting up the TPM manually\n"); in tpm1_startup()
[all …]
Dtpm-interface.c14 * Device driver for TCG/TCPA TPM (trusted platform module).
17 * Note, the TPM chip is not interrupt driven (only polling)
30 #include "tpm.h"
33 * Bug workaround - some TPM's don't flush the most
44 * @chip: TPM chip to use.
45 * @ordinal: TPM command ordinal.
137 * tpm_transmit - Internal kernel interface to transmit TPM commands.
138 * @chip: a TPM chip to use
139 * @buf: a TPM command buffer
140 * @bufsiz: length of the TPM command buffer
[all …]
/kernel/linux/linux-5.10/drivers/char/tpm/
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 …]
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 …]
Dtpm1-cmd.c12 * Device driver for TCG/TCPA TPM (trusted platform module).
23 #include "tpm.h"
31 * TCG Specification TPM Main Part 2 TPM Structures Section 17. The
283 * @chip: TPM chip to use.
284 * @ordinal: TPM command ordinal.
315 * tpm_startup() - turn on the TPM
316 * @chip: TPM chip to use
318 * Normally the firmware should start the TPM. This function is provided as a
320 * example when a TPM emulator is used.
329 dev_info(&chip->dev, "starting up the TPM manually\n"); in tpm1_startup()
[all …]
Dtpm-interface.c14 * Device driver for TCG/TCPA TPM (trusted platform module).
17 * Note, the TPM chip is not interrupt driven (only polling)
30 #include "tpm.h"
33 * Bug workaround - some TPM's don't flush the most
44 * @chip: TPM chip to use.
45 * @ordinal: TPM command ordinal.
137 * tpm_transmit - Internal kernel interface to transmit TPM commands.
138 * @chip: a TPM chip to use
139 * @buf: a TPM command buffer
140 * @bufsiz: length of the TPM command buffer
[all …]
/kernel/linux/linux-5.10/drivers/pwm/
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()
139 struct imx_tpm_pwm_chip *tpm = to_imx_tpm_pwm_chip(chip); in pwm_imx_tpm_get_state() local
144 state->period = tpm->real_period; in pwm_imx_tpm_get_state()
147 rate = clk_get_rate(tpm->clk); in pwm_imx_tpm_get_state()
148 val = readl(tpm->base + PWM_IMX_TPM_SC); in pwm_imx_tpm_get_state()
150 tmp = readl(tpm->base + PWM_IMX_TPM_CnV(pwm->hwpwm)); in pwm_imx_tpm_get_state()
155 val = readl(tpm->base + PWM_IMX_TPM_CnSC(pwm->hwpwm)); in pwm_imx_tpm_get_state()
175 struct imx_tpm_pwm_chip *tpm = to_imx_tpm_pwm_chip(chip); in pwm_imx_tpm_apply_hw() local
[all …]
/kernel/linux/linux-6.6/drivers/pwm/
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 …]
/kernel/linux/linux-6.6/Documentation/ABI/stable/
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 …]
/kernel/linux/linux-5.10/Documentation/ABI/stable/
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 …]
/kernel/linux/linux-5.10/Documentation/security/tpm/
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 …]
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 …]
/kernel/linux/linux-6.6/Documentation/security/tpm/
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 …]
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 …]
/kernel/linux/linux-6.6/drivers/char/tpm/st33zp24/
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 …]
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 …]
/kernel/linux/linux-6.6/Documentation/devicetree/bindings/timer/
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";
/kernel/linux/linux-5.10/drivers/char/tpm/st33zp24/
Di2c.c3 * STMicroelectronics TPM I2C Linux driver for TPM ST33ZP24
14 #include <linux/tpm.h>
17 #include "../tpm.h"
31 * @param: tpm_register, the tpm tis register where the data should be written
48 * @param: tpm_register, the tpm tis register where the data should be read
49 * @param: tpm_data, the TPM response
50 * @param: tpm_size, tpm TPM response size to read.
70 * @param: tpm_register, the tpm tis register where the data should be written
86 * @param: tpm_register, the tpm tis register where the data should be read
87 * @param: tpm_data, the TPM response
[all …]
Dst33zp24.c3 * STMicroelectronics TPM Linux driver for TPM ST33ZP24
21 #include "../tpm.h"
65 * @param: tpm_dev, the tpm device device.
80 * @param: chip, the tpm_chip description as specified in driver/char/tpm/tpm.h
93 * @param: chip, the tpm chip description
107 * @param: chip, the tpm chip description
126 * request_locality request the TPM locality
160 * @param: chip, the tpm chip description.
232 * @param: chip, the tpm chip description
237 * @return: the tpm status, 0 if success, -ETIME if timeout is reached.
[all …]
Dspi.c3 * STMicroelectronics TPM SPI Linux driver for TPM ST33ZP24
14 #include <linux/tpm.h>
17 #include "../tpm.h"
43 * TPM command can be up to 2048 byte, A TPM response can be up to
50 * 2048 (for the TPM command) + 1024 (for the TPM answer). We need
96 * @param: tpm_register, the tpm tis register where the data should be written
139 * @param: tpm_register, the tpm tis register where the data should be read
140 * @param: tpm_data, the TPM response
141 * @param: tpm_size, tpm TPM response size to read.
180 * @param: tpm_register, the tpm tis register where the data should be read
[all …]
/kernel/linux/linux-5.10/security/integrity/ima/
Dima_init.c28 * Calculate the boot aggregate, a hash over tpm registers 0-7,
29 * assuming a TPM chip exists, and zeroes if the TPM chip does not
33 * If a tpm chip does not exist, indicate the core root of trust is
62 * With TPM 2.0 hash agility, TPM chips could support multiple TPM in ima_add_boot_aggregate()
66 * Use the same hash algorithm for reading the TPM PCRs as for in ima_add_boot_aggregate()
69 * TCG required banks - SHA256 for TPM 2.0, SHA1 for TPM 1.2. in ima_add_boot_aggregate()
70 * Ultimately select SHA1 also for TPM 2.0 if the SHA256 PCR bank in ima_add_boot_aggregate()
119 pr_info("No TPM chip found, activating TPM-bypass!\n"); in ima_init()
132 /* It can be called before ima_init_digests(), it does not use TPM. */ in ima_init()
/kernel/linux/linux-6.6/security/integrity/ima/
Dima_init.c30 * Calculate the boot aggregate, a hash over tpm registers 0-7,
31 * assuming a TPM chip exists, and zeroes if the TPM chip does not
35 * If a tpm chip does not exist, indicate the core root of trust is
61 * With TPM 2.0 hash agility, TPM chips could support multiple TPM in ima_add_boot_aggregate()
65 * Use the same hash algorithm for reading the TPM PCRs as for in ima_add_boot_aggregate()
68 * TCG required banks - SHA256 for TPM 2.0, SHA1 for TPM 1.2. in ima_add_boot_aggregate()
69 * Ultimately select SHA1 also for TPM 2.0 if the SHA256 PCR bank in ima_add_boot_aggregate()
122 pr_info("No TPM chip found, activating TPM-bypass!\n"); in ima_init()
135 /* It can be called before ima_init_digests(), it does not use TPM. */ in ima_init()

12345678910>>...14