Announcements

From sunburn to sun earn – we’ve got the power! Watch our #poweringgreen videos now.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
1 Solution
Polimera
Moderator
Moderator
Moderator
50 solutions authored 25 solutions authored 100 sign-ins

Hello Enjoyinf,

You should read the RWDCFG0 registers instead of WDCFG0. These are not normal registers. Protected registers have to read back to ensure all are done as per the sequence.
You just need to differentiate between 2 things

  • “protected configuration request registers“  -> Write-Protected registers to be unlocked, written with desired config, and locked again(SYSPCFGx, WDCFGx, FWDCFG, WWDCFGx)

and

  • “configuration status registers” -> read-only registers representing the active configuration status updated after valid LOCK(RSYSPCFGx, RWDCFGx, RFWDCFG, RWWDCFGx) -> “R” stands for reflected but also for ReadOnly

Regards,

Kranthi

View solution in original post

0 Likes
3 Replies
Polimera
Moderator
Moderator
Moderator
50 solutions authored 25 solutions authored 100 sign-ins

Hello Enjoyinf,

Let me know whether my below understanding is correct or not.

In your application, you kept the functional watchdog off by default when the device was powered up for the first time. But when ERR fault occurs then WDCFG0.FWDEN bit is set? 

Yes WDCFG0 is R2 register which means  Registers that are being reset only in case of FAILSAFE, STANDBY and a POR. When the  Error Monitoring triggered is triggered then the PMIC will move to INIT state.

Regards,

Kranthi

0 Likes

Hi,

  Thanks for your reply.

  I opened FWD when the device was powered up for the first time and then do the ROT-based Error pin self-test first and interrupt-based FWD test is the second one.

  When the  Error Monitoring reset is triggered, I skipped configuring all protected registers , the self-test of FWD failed because the FWD interrupt was not triggered. I inverted read back WDCFG0 and found that FWDEN bit was set.But actually FWD was disabled, only by rewriting to WDCFG0 , FWD can be normal.

Thanks

0 Likes
Polimera
Moderator
Moderator
Moderator
50 solutions authored 25 solutions authored 100 sign-ins

Hello Enjoyinf,

You should read the RWDCFG0 registers instead of WDCFG0. These are not normal registers. Protected registers have to read back to ensure all are done as per the sequence.
You just need to differentiate between 2 things

  • “protected configuration request registers“  -> Write-Protected registers to be unlocked, written with desired config, and locked again(SYSPCFGx, WDCFGx, FWDCFG, WWDCFGx)

and

  • “configuration status registers” -> read-only registers representing the active configuration status updated after valid LOCK(RSYSPCFGx, RWDCFGx, RFWDCFG, RWWDCFGx) -> “R” stands for reflected but also for ReadOnly

Regards,

Kranthi

0 Likes