| /kernel/linux/linux-5.10/drivers/char/tpm/ |
| D | Kconfig | 3 # 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 …]
|
| D | Makefile | 3 # 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 …]
|
| D | tpm1-cmd.c | 12 * 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 …]
|
| D | tpm-interface.c | 14 * 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-4.19/drivers/char/tpm/ |
| D | Kconfig | 2 # TPM device configuration 6 tristate "TPM Hardware Support" 12 If you have a TPM security chip in your system, which 20 will be called tpm. If unsure, say N. 22 1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPI 30 bool "TPM HW Random Number Generator support" 34 This setting exposes the TPM's Random Number Generator as a hwrng 35 device. This allows the kernel to collect randomness from the TPM at 36 boot, and provides the TPM randomines in /dev/hwrng. 43 TCG TIS TPM core driver. It implements the TPM TCG TIS logic and hooks [all …]
|
| D | Makefile | 3 # Makefile for the kernel tpm device drivers. 5 obj-$(CONFIG_TCG_TPM) += tpm.o 6 tpm-y := tpm-interface.o tpm-dev.o tpm-sysfs.o tpm-chip.o tpm2-cmd.o \ 7 tpm-dev-common.o tpmrm-dev.o eventlog/common.o eventlog/tpm1.o \ 9 tpm-$(CONFIG_ACPI) += tpm_ppi.o eventlog/acpi.o 10 tpm-$(CONFIG_EFI) += eventlog/efi.o 11 tpm-$(CONFIG_OF) += eventlog/of.o
|
| D | tpm-interface.c | 13 * Device driver for TCG/TCPA TPM (trusted platform module). 21 * Note, the TPM chip is not interrupt driven (only polling) 34 #include "tpm.h" 42 * Bug workaround - some TPM's don't flush the most 55 * TCG Specification TPM Main Part 2 TPM Structures Section 17. The 445 * If the command is not implemented by the TPM, synthesize a in tpm_try_transmit() 577 * tpm_transmit - Internal kernel interface to transmit TPM commands. 579 * @chip: TPM chip to use 580 * @space: tpm space 581 * @buf: TPM command buffer [all …]
|
| /kernel/linux/linux-5.10/drivers/pwm/ |
| D | pwm-imx-tpm.c | 6 * - 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-5.10/Documentation/ABI/stable/ |
| D | sysfs-class-tpm | 1 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-4.19/Documentation/ABI/stable/ |
| D | sysfs-class-tpm | 1 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-4.19/Documentation/security/tpm/ |
| D | tpm_vtpm_proxy.rst | 2 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 …]
|
| D | xen-tpmfront.txt | 1 Virtual TPM interface for Xen 7 Linux, and a basic understanding of the TPM and vTPM concepts. 11 The goal of this work is to provide a TPM functionality to a virtual guest 13 a TPM in a virtual system the same way they interact with a TPM on the physical 14 system. Each guest gets its own unique, emulated, software TPM. However, each 16 which seals the secrets to the Physical TPM. If the process of creating each of 18 the chain of trust rooted in the hardware TPM to virtual machines in Xen. Each 63 | Hardware TPM | 69 * xen-tpmfront.ko: Linux kernel virtual TPM frontend driver. This driver 72 * mini-os/tpmback: Mini-os TPM backend driver. The Linux frontend driver [all …]
|
| /kernel/linux/linux-5.10/Documentation/security/tpm/ |
| D | tpm_vtpm_proxy.rst | 2 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 …]
|
| D | xen-tpmfront.rst | 2 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-5.10/drivers/char/tpm/st33zp24/ |
| D | i2c.c | 3 * 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 …]
|
| D | st33zp24.c | 3 * 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 …]
|
| D | spi.c | 3 * 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-4.19/drivers/char/tpm/st33zp24/ |
| D | i2c.c | 2 * STMicroelectronics TPM I2C Linux driver for TPM ST33ZP24 26 #include <linux/tpm.h> 29 #include "../tpm.h" 43 * @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. 82 * @param: tpm_register, the tpm tis register where the data should be written 98 * @param: tpm_register, the tpm tis register where the data should be read 99 * @param: tpm_data, the TPM response [all …]
|
| D | st33zp24.c | 2 * STMicroelectronics TPM Linux driver for TPM ST33ZP24 33 #include "../tpm.h" 77 * @param: tpm_dev, the tpm device device. 92 * @param: chip, the tpm_chip description as specified in driver/char/tpm/tpm.h 105 * @param: chip, the tpm chip description 119 * @param: chip, the tpm chip description 138 * request_locality request the TPM locality 172 * @param: chip, the tpm chip description. 244 * @param: chip, the tpm chip description 249 * @return: the tpm status, 0 if success, -ETIME if timeout is reached. [all …]
|
| D | spi.c | 2 * STMicroelectronics TPM SPI Linux driver for TPM ST33ZP24 26 #include <linux/tpm.h> 29 #include "../tpm.h" 55 * TPM command can be up to 2048 byte, A TPM response can be up to 62 * 2048 (for the TPM command) + 1024 (for the TPM answer). We need 108 * @param: tpm_register, the tpm tis register where the data should be written 151 * @param: tpm_register, the tpm tis register where the data should be read 152 * @param: tpm_data, the TPM response 153 * @param: tpm_size, tpm TPM response size to read. 192 * @param: tpm_register, the tpm tis register where the data should be read [all …]
|
| /kernel/linux/linux-5.10/security/integrity/ima/ |
| D | ima_init.c | 28 * 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-5.10/Documentation/devicetree/bindings/timer/ |
| D | nxp,tpm-timer.yaml | 4 $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 22 const: fsl,imx7ulp-tpm 32 - description: SoC TPM ipg clock 33 - description: SoC TPM per clock 55 compatible = "fsl,imx7ulp-tpm";
|
| /kernel/linux/linux-4.19/include/uapi/linux/ |
| D | vtpm_proxy.h | 24 * enum vtpm_proxy_flags - flags for the proxy TPM 25 * @VTPM_PROXY_FLAG_TPM2: the proxy TPM uses TPM 2.0 protocol 34 * @flags: flags for the proxy TPM 35 * @tpm_num: index of the TPM device 36 * @fd: the file descriptor used by the proxy TPM 37 * @major: the major number of the TPM device 38 * @minor: the minor number of the TPM device
|
| /kernel/linux/linux-5.10/include/uapi/linux/ |
| D | vtpm_proxy.h | 24 * enum vtpm_proxy_flags - flags for the proxy TPM 25 * @VTPM_PROXY_FLAG_TPM2: the proxy TPM uses TPM 2.0 protocol 34 * @flags: flags for the proxy TPM 35 * @tpm_num: index of the TPM device 36 * @fd: the file descriptor used by the proxy TPM 37 * @major: the major number of the TPM device 38 * @minor: the minor number of the TPM device
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/timer/ |
| D | nxp,tpm-timer.txt | 1 NXP Low Power Timer/Pulse Width Modulation Module (TPM) 3 The Timer/PWM Module (TPM) supports input capture, output compare, 7 power modes. TPM can support global counter bus where one TPM drives 12 - compatible : should be "fsl,imx7ulp-tpm" 21 tpm5: tpm@40260000 { 22 compatible = "fsl,imx7ulp-tpm";
|