coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
#include <stdint.h>
#include <string.h>
#include <assert.h>
#include <commonlib/endian.h>
#include <console/console.h>
#include <delay.h>
#include <device/i2c_simple.h>
#include <endian.h>
#include <lib.h>
#include <security/tpm/tis.h>
#include "tpm.h"
Go to the source code of this file.
Macros | |
#define | TPM_CMD_COUNT_BYTE 2 |
#define | TPM_CMD_ORDINAL_BYTE 6 |
Functions | |
int | tis_open (void) |
int | tis_close (void) |
int | tis_init (void) |
static ssize_t | tpm_transmit (const uint8_t *sbuf, size_t sbufsiz, void *rbuf, size_t rbufsiz) |
int | tis_sendrecv (const uint8_t *sendbuf, size_t sbuf_size, uint8_t *recvbuf, size_t *rbuf_len) |
Variables | |
static struct tpm_chip | chip |
int tis_close | ( | void | ) |
Definition at line 42 of file tis.c.
References chip, tpm_chip::is_open, and tpm_vendor_cleanup().
int tis_init | ( | void | ) |
Definition at line 52 of file tis.c.
References tpm_vendor_probe().
int tis_open | ( | void | ) |
Definition at line 22 of file tis.c.
References BIOS_DEBUG, chip, tpm_chip::is_open, printk, and tpm_vendor_init().
int tis_sendrecv | ( | const uint8_t * | sendbuf, |
size_t | sbuf_size, | ||
uint8_t * | recvbuf, | ||
size_t * | rbuf_len | ||
) |
Definition at line 121 of file tis.c.
References ASSERT, BIOS_DEBUG, CONFIG, hexdump(), printk, read_at_be32(), and tpm_transmit().
|
static |
Definition at line 58 of file tis.c.
References ASSERT, BIOS_DEBUG, tpm_vendor_specific::cancel, chip, count, mdelay(), memcpy(), printk, tpm_vendor_specific::recv, tpm_vendor_specific::req_canceled, tpm_vendor_specific::req_complete_mask, tpm_vendor_specific::req_complete_val, tpm_vendor_specific::send, tpm_vendor_specific::status, TPM_CMD_COUNT_BYTE, TPM_TIMEOUT, and tpm_chip::vendor.
Referenced by tis_sendrecv().
|
static |
Definition at line 1 of file tis.c.
Referenced by acpi_fill_fadt(), bridge_ps8640_get_edid(), check_locality(), cr50_i2c_tis_ready(), cr50_i2c_tis_recv(), cr50_i2c_tis_send(), cr50_i2c_tis_status(), cr50_i2c_wait_burststs(), cr50_vendor_init(), ddr3_mem_ctrl_init(), dmc_config_mrs(), dmc_config_prech(), get_burstcount(), gma_generate_ssdt(), google_chromeec_command(), google_chromeec_i2c_xfer(), i2c_dump(), i2c_read_field(), i2c_send_start(), i2c_transfer_segment(), i2c_write_field(), intel_igd_get_controller_info(), platform_i2c_transfer(), pmic_write_reg(), ps8640_backlight_enable(), ps8640_bridge_aux_request(), ps8640_get_edid(), recv_data(), request_locality(), sn65dsi86_backlight_enable(), sn65dsi86_bridge_assr_config(), sn65dsi86_bridge_configure(), sn65dsi86_bridge_dp_lane_config(), sn65dsi86_bridge_init(), sn65dsi86_bridge_link_training(), sn65dsi86_bridge_set_bridge_active_timing(), sn65dsi86_bridge_set_dp_clock_range(), sn65dsi86_bridge_set_dsi_clock_range(), sn65dsi86_bridge_valid_dp_rates(), software_i2c_wedge_ack(), software_i2c_wedge_read(), software_i2c_wedge_write(), southbridge_fill_ssdt(), tegra_i2c_request(), tis_close(), tis_open(), tpm_tis_i2c_ready(), tpm_tis_i2c_recv(), tpm_tis_i2c_send(), tpm_tis_i2c_status(), tpm_transmit(), tpm_vendor_cleanup(), tpm_vendor_init(), and wait_for_stat().