diff options
Diffstat (limited to 'drivers/tpm/tpm_atmel_twi.c')
-rw-r--r-- | drivers/tpm/tpm_atmel_twi.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/tpm/tpm_atmel_twi.c b/drivers/tpm/tpm_atmel_twi.c index 2aa9381..eba654b 100644 --- a/drivers/tpm/tpm_atmel_twi.c +++ b/drivers/tpm/tpm_atmel_twi.c @@ -81,14 +81,23 @@ static int tpm_atmel_twi_xfer(struct udevice *dev, print_buffer(0, (void *)sendbuf, 1, send_size, 0); #endif +#ifndef CONFIG_DM_I2C res = i2c_write(0x29, 0, 0, (uchar *)sendbuf, send_size); +#else + res = dm_i2c_write(dev, 0, sendbuf, send_size); +#endif if (res) { printf("i2c_write returned %d\n", res); return -1; } start = get_timer(0); - while ((res = i2c_read(0x29, 0, 0, recvbuf, 10))) { +#ifndef CONFIG_DM_I2C + while ((res = i2c_read(0x29, 0, 0, recvbuf, 10))) +#else + while ((res = dm_i2c_read(dev, 0, recvbuf, 10))) +#endif + { /* TODO Use TIS_TIMEOUT from tpm_tis_infineon.h */ if (get_timer(start) > ATMEL_TPM_TIMEOUT_MS) { puts("tpm timed out\n"); @@ -99,7 +108,11 @@ static int tpm_atmel_twi_xfer(struct udevice *dev, if (!res) { *recv_len = get_unaligned_be32(recvbuf + 2); if (*recv_len > 10) +#ifndef CONFIG_DM_I2C res = i2c_read(0x29, 0, 0, recvbuf, *recv_len); +#else + res = dm_i2c_read(dev, 0, recvbuf, *recv_len); +#endif } if (res) { printf("i2c_read returned %d (rlen=%d)\n", res, *recv_len); |