|
@@ -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);
|