After quite a bit of debugging (and banging my head against a wall), I've discovered a mistake in the "PF8X00 Custom OTP Request Form". This form is one of the application development tools offered on the product page for the PF8100-PF8200. In theory, this excel sheet allows you to configure all the OTP registers on one page, and then it will generate an output file allowing you to automatically configure the OTP registers of your PF8X00 PMIC. However, I've found two registers do not get configured as expected.
The register OTP_WD_MAX_CNT controls how many times a hard watchdog reset can occur before the PF8X00 proceeds to a fail-safe transition. According to the Custom OTP Request Form (image below), setting the register to 0001 means OTP_WD_MAX_CNT = 2. The expected behavior for this is after one hard watchdog reset, the PMIC will increment WD_EVENT_CNT and then recover. On the second hard watchdog reset, the PF8X00 will proceed to a fail-safe transition.
However, this is not the case. After setting OTP_WD_MAX_CNT to 0001, the observed PMIC behavior is that the PF8X00 goes to the fail-safe transition on the first hard watchdog reset.
In other words, OTP_WD_MAX_CNT = 1 when the register is set to 0001.
The same error occurs for OTP_FS_MAX_CNT, a PF8200-exclusive register. OTP_FS_MAX_CNT controls how many times the PF8200 can go through a fail-safe transition before the PMIC turns off and stays off (Fail Safe State). According to the Custom OTP Request Form (image attached), setting the register to 0001 means OTP_FS_MAX_CNT= 2. However, through testing, I've found that setting OTP_FS_MAX_CNT to 0001 means that the PMIC will turn off and stay off (Fail Safe State / "Critical Failure") the first time it goes through the fail-safe transition.
Hopefully this post will help anyone out there seeing some unexplained behavior of their PF8X00.
Solved! Go to Solution.
Hi guoweisun,
On my evaluation board, I set OTP_WD_MAX_CNT to 0110, and then repeated my test. I pulsed WDI 5 times. At this point WD_EVENT_CNT = 0101. I pulsed WDI one more time, and the PMIC entered the fail-safe transition. So the PMIC entered the fail-safe transition after 6 watchdog events. According to the custom spreadsheet, when OTP_WD_MAX_CNT is 0110, the PMIC should enter the fail-safe transition after 7 watchdog events. This is not true.
HI
If you send OTP_WD_MAX_CNT as '6'or '8', could you please count the watchdog event number?
Hi guoweisun,
On my evaluation board, I set OTP_WD_MAX_CNT to 0110, and then repeated my test. I pulsed WDI 5 times. At this point WD_EVENT_CNT = 0101. I pulsed WDI one more time, and the PMIC entered the fail-safe transition. So the PMIC entered the fail-safe transition after 6 watchdog events. According to the custom spreadsheet, when OTP_WD_MAX_CNT is 0110, the PMIC should enter the fail-safe transition after 7 watchdog events. This is not true.
I confirmed this ,you are correct! We will update related documentations.