board: ti: CAT24C256WI-GT3 require min. 5ms delay (tWR) between write/read
Otherwise the custom-cape eeprom (at address 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@gmail.com>
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user