Lines Matching full:i2c
2 * tpm_tis_i2c.c - QEMU's TPM TIS I2C Device
12 * TPM I2C implementation follows TCG TPM I2c Interface specification,
21 #include "hw/i2c/i2c.h"
45 /* i2c registers */
66 uint8_t i2c_reg; /* I2C register */
78 * mapping are not sent to TIS layer and handled in I2c layer.
114 .name = "tpm-tis-i2c",
128 /* i2c specifics */
152 * expected by I2C. Save the capability in the data array overwriting the TIS
160 /* Now generate i2c capability */ in tpm_tis_i2c_interface_capability()
178 /* Convert I2C register to TIS address and returns the name of the register */
302 static int tpm_tis_i2c_event(I2CSlave *i2c, enum i2c_event event) in tpm_tis_i2c_event() argument
304 TPMStateI2C *i2cst = TPM_TIS_I2C(i2c); in tpm_tis_i2c_event()
335 static uint8_t tpm_tis_i2c_recv(I2CSlave *i2c) in tpm_tis_i2c_recv() argument
339 TPMStateI2C *i2cst = TPM_TIS_I2C(i2c); in tpm_tis_i2c_recv()
361 /* Location selection register is managed by i2c */ in tpm_tis_i2c_recv()
394 /* Prepare the capabilities as per I2C interface */ in tpm_tis_i2c_recv()
438 static int tpm_tis_i2c_send(I2CSlave *i2c, uint8_t data) in tpm_tis_i2c_send() argument
440 TPMStateI2C *i2cst = TPM_TIS_I2C(i2c); in tpm_tis_i2c_send()
444 /* Convert I2C register to TIS register */ in tpm_tis_i2c_send()
469 * register value hence I2C layer cache the register value and send in tpm_tis_i2c_send()