[PATCH] board: ti: CAT24C256WI-GT3 require min. 5ms delay (tWR) between write/read

Marian Cingel cingel.marian at gmail.com
Sun Nov 9 00:23:25 CET 2025


 Otherwise the custom-cape eeprom (at adress 57) reports NACK which results into
 "i2c_write: error waiting for data ACK (status=0x116)"
 and terminates further scanning.

Signed-off-by: Marian Cingel <cingel.marian at gmail.com>
---
 board/ti/common/cape_detect.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/board/ti/common/cape_detect.c b/board/ti/common/cape_detect.c
index 0bd4a38..88fa6ae 100644
--- a/board/ti/common/cape_detect.c
+++ b/board/ti/common/cape_detect.c
@@ -9,6 +9,7 @@
 #include <i2c.h>
 #include <extension_board.h>
 #include <vsprintf.h>
+#include <linux/delay.h>
 
 #include "cape_detect.h"
 
@@ -43,6 +44,8 @@ static int ti_extension_board_scan(struct udevice *dev,
 
 		/* Move the read cursor to the beginning of the EEPROM */
 		dm_i2c_write(dev, 0, &cursor, 1);
+		/* Need 5ms (tWR) to complete internal write */
+		mdelay(6);
 		ret = dm_i2c_read(dev, 0, (uint8_t *)&eeprom_header,
 				  sizeof(struct am335x_cape_eeprom_id));
 		if (ret) {
-- 
2.7.4



More information about the U-Boot mailing list