We use this part as an io expander for input of 8 discretes, active low. 4 out of 500 units are failing tests because the nibbles are being read back swapped.
Ex:
0000 0001 reads 0001 0000
0000 0010 reads 0010 0000
0000 0100 reads 0100 0000
.
.
1000 0000 reads 0000 1000
I see no method of configuring the device to do this via either HW or SW. The part has "ZVU" then "43H" printed on its top, which matches one of the working units. I just received a new order of 10 parts which have "ZVU" and "4AH" printed on the top, which we'll attempt to swap onto one of these problematic units to see what happens.
Any ideas on what could cause this or what to try next? I2C works and allows me to read the swapped nibbles.
Thanks