In my initial post I stated "In almost all read access of the BQ25890, bit 2 of register 0x14 reads as a 0. However, on one occasion, I have read back a 1 from that bit. What causes that bit to be set to 1 (since it is a read-only bit)?"
I meant to say that bit 1 of the device revision in register 0x14 reads back as a 1 (instead of bit 2).
I have now seen a number of devices returned after customer use, with bit 1 of register 0x14 set (so the device revision reads as 3). A reset of the charger (power on or through command) does not fix the read back of 3 for the device revision. No other registers show a problem.
Also, if I use the same firmware (from the devices with the incorrect revision) on other equivalent devices, I read back the correct device revision of 1, so this problem is not an i2c read back error.
Sometime, during customer use, the device revision changed. How is this possible? Is the charger's device revision stored in flash? If so, are there other ways of detecting charger flash corruption or confirming damage to the charger?