I have PCA9558 connected to I2C bus (i2c0, designware_i2c driver, 100KHz). I’m trying to write to it’s EEPROM using i2c commands through U-Boot Terminal without any success.
The PCA9558 is the only device connected to i2c0, but when I ‘i2c probe’ command I get a message says "Valid chip addresses: " with empty list (the device address is 0x4E).
Dumping the EEPROM memory using the command “i2c md 0x4e 0x0300.2 100” prints out a list of “00”.
Trying to write to the EEPROM using “i2c mw 0x4e 0x0100.2 0xCCBB 2” then dumping the memory again give me the same result, a series of “00”.
I checked the clock and the data signals using a scope, and both seems to be fine. I can see the start condition, slave address, the command, the acknowledgements and the data at pins 0 and 1 are synchronized. The WP have a constant 0V. I tried everything in more than one PCB, all with the same behavior.
One more thing, I have an EEPROM connected to i2c1. Probing i2c1 returns the EEPROM address, and I can read/write to the EEPROM, so the driver is good.
Any advice when I can’t write to the PCA9558 EEPROM? Why I can’t see it’s address when I probe the i2c? Am I using the correct commands to read/write to the EEPROM?
Appreciate your help,