We have been having trouble with a TMP431C device where the registers do not initialize to the reset values after power up.
The temperature registers seem to be OK. And hard-coded ones or zeros in registers seem to be mostly good. But the part does not seem to be initializing correctly.
Register 0x3 always reads 0xFC which doesn't make sense.
Sending soft reset commands doesn't change anything.
And we are not able to write to the configuration registers.
See the attached register dump.
Reg Offset : 0x00 = 0x20
Reg Offset : 0x01 = 0x2f
Reg Offset : 0x02 = 0x00
Reg Offset : 0x03 = 0xfc
Reg Offset : 0x04 = 0x0f
Reg Offset : 0x05 = 0xff
Reg Offset : 0x06 = 0xff
Reg Offset : 0x07 = 0xff
Reg Offset : 0x08 = 0xff
Reg Offset : 0x10 = 0x10
Reg Offset : 0x13 = 0xf0
Reg Offset : 0x14 = 0xf0
Reg Offset : 0x15 = 0x60
Reg Offset : 0x16 = 0xf0
Reg Offset : 0x17 = 0xf0
Reg Offset : 0x18 = 0xff
Reg Offset : 0x19 = 0xff
Reg Offset : 0x1a = 0x1c
Reg Offset : 0x1f = 0x03
Reg Offset : 0x20 = 0xff
Reg Offset : 0x21 = 0xff
Reg Offset : 0x22 = 0x7e
Reg Offset : 0x25 = 0x0c
Reg Offset : 0xfd = 0x31
Reg Offset : 0xfe = 0x55