Team,
I have a customer using TCA9555 as part of an I2C LED controller application. They are only using Port0, and all the bits in that port are configured as outputs. To turn on the LED’s the appropriate output bit is driven low to sink. The application is a PoE PSE controller, and the software is keeping track of port link status and lighting the LED’s on connected ports as required.
They were able to get it working, but found that doing a read/modified write on the Output Port 0 register of the TCA9555 is very unreliable, and instead had to keep track of the link status in software and do an implicit write to the output Port 0 register.
My question is, regarding the Output Portx registers, should the read status of the output register reflect the actual port status? Is a read/modified write is a common practice with this device?