During the boot-up of our DM3730-based system with the TPS65950 companion chip, we are finding that the value read from CFG_Px_TRANSITION is different, depending on whether or not we first read the IDCODE. Why?
For example, here is a sequence of TPS reads. (Format of printout: "X@0xAAZZ :VV", X=R means Read, AA=I2C Address, ZZ=Register Address, VV=value read)
TPS R@0x4B36: 00 pmm_cfg_p1_transition
TPS R@0x4B39: 00 pmm_cfg_p123_transition
TPS R@0x4B00: 51 secured_reg_a
TPS R@0x4988: 10 idcode_31_24
TPS R@0x4B36: FF pmm_cfg_p1_transition
TPS R@0x4B39: AB pmm_cfg_p123_transition
TPS R@0x4B00: 00 secured_reg_a
I noticed the secured_reg_a register also changes. The highlighted values show the same register read twice successively. Reading idcode_31_24 is the line that makes the difference between whether or not we read 0x00 or 0xAB from that register.
Is this in any way related to ONNOFF vs POR Active modes? It seems like TRM lists registers twice, but says absolutely nothing about it. Is it possible there are two banks of registers? And if so, what is the correct way to switch between them? Reading IDCODE seems to trigger a transition, but I can't find any good reason why.
Thanks,
Dave