DA9063 goes to NO POWER Mode when whatchdog times out

⚠️
Hi there.. thanks for coming to the forums. Exciting news! we’re now in the process of moving to our new forum platform that will offer better functionality and is contained within the main Dialog website. All posts and accounts have been migrated. We’re now accepting traffic on the new forum only - please POST any new threads at//www.xmece.com/support. We’ll be fixing bugs / optimising the searching and tagging over the coming days.
16 posts / 0 new
Last post
borgebjo
Offline
Last seen:11 months 3 weeks ago
Joined:2020-03-19 22:52
DA9063 goes to NO POWER Mode when whatchdog times out

I have a Digi ConnectCore6 SBC, which uses the DA9063 PMIC. I have successfully set up Linux kernel and watchdog daemon to use the DA9063 watchdog. However, the DA9063 powers off instead of resetting the DA9063.

我的建议

https://support.dialog-semiconductor.com/forums/post/pmic-audio-and-hapt...

but no change. One time I observed that the DA9063 watchdog did reset as expected, but during next boot the PMIC powered down.

Any advice?

The registers values after a power cycle are attached, which probably are the registers loaded from OTP (assuming u-boot doesn't change any of them).

I experience the same behaviour when enabling the watchdog from by setting register 0x11 to 0x02.

Device:
ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

Could you post the full .ini file you are using?

I take it, you are triggering the watchdog via I2C and not hardware?

You will need to put it in a folder and zip it.

Kind regards,
Elliott

borgebjo
Offline
Last seen:11 months 3 weeks ago
Joined:2020-03-19 22:52
Hi Elliot,

Hi Elliot,

I am a consumer and have a off-the-shelf SBC from Digi,https://www.digi.com/products/embedded-systems/single-board-computers/connectcore-6-sbc.

The linux da9063-watchdog driver is triggering the watchdog via i2c, and I observed that the PMIC powered down. So to debug, I enabled the watchdog by setting TWDSCALE directly in uboot, by writing 0x2 to 0x11 register (CONTROL_D). After 4 seconds the watchdog timeouts and should assert TWD_ERROR. Now I expected that the PMIC would power down to RESET mode and power up again, but I observe that the PMIC powers down. I assume that there are one or more register settings that aren't configured correctly.

I think WATCHDOG_PD should be 0. I tried to increase the RESET_DURATION to 500ms to ensure that all regulators are discharged before powering up again, but no change.

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

Could you perform a full register dump?

I take it the PMIC power downs and remains powerdown?

Could you measure VDDCORE?

kind regards,
Elliott

borgebjo
Offline
Last seen:11 months 3 weeks ago
Joined:2020-03-19 22:52
> Could you perform a full

> Could you perform a full register dump?

Register dump attached to the original post

> I take it the PMIC power downs and remains powerdown?

Yes

> Could you measure VDDCORE?

I'll do it as soon as possible. Can you review the registers while I do the measurement? It may be difficult, since the PMIC is mounted on a SOM covered by a perforated metal box. I can measure the voltage from the DC-DC step-down converter which I believe is VDDCORE.

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

I will review the registers, but i am not sure that it is a full register dump.

I will need to search from the OTP. Potentially, Autoboot is not set, so the PMIC is waiting for a wake-up event.

On the VDDCORE, this voltage will tell us what state the PMIC is in: RESET, ACTIVE, RTC...etc. it is not connect to the bucks, this is the referance for the internal core voltage.

borgebjo
Offline
Last seen:11 months 3 weeks ago
Joined:2020-03-19 22:52
> I will review the registers

> I will review the registers, but i am not sure that it is a full register dump.

I can only get the registers that u-boot can read. I got all registers documented in the datasheet exept for 0x1A8 (PMIC_STATUS).

从OTP >我需要搜索。潜在的,Autoboot is not set, so the PMIC is waiting for a wake-up event.

> On the VDDCORE, this voltage will tell us what state the PMIC is in: RESET, ACTIVE, RTC...etc. it is not connect to the bucks, this is the referance for the internal core voltage.

You are right. The equipment I have available right now isn't sensitive enough to measure the current drawn in the POWER-DOWN, RESET, or RTC modes. I think the PMIC powers down to RESET and up to POWER-DOWN and then waits for a wakeup event. It should continue powering up if AUTO_BOOT is asserted.

I found that asserting AUTO_BOOT or asserting TICK_ON (RTC will periodically generate a RTC Tick wakeup event) the PMIC is powered up to ACTIVE mode if watchdog times out or the SHUTDOWN register is asserted within the first ~15 seconds after resetting the PMIC. If watchdog times out after ~15 seconds, the PMIC doesn't enter ACTIVE mode. I assume it stays in POWER-DOWN mode waiting for a wakeup event.

Further investigation gave interesting results. If AUTO_BOOT or TICK_ON is asserted and the EVENT_A registers are cleared by writing back the read value. Then by asserting SHUTDOWN register within ~15 seconds the PMIC always powers up from RESET mode to ACTIVE mode. Asserting SHUTDOWN later than ~15 seconds, it does not. Same behavior for the watchdog.

Am I missing a register setting, or is this a bug?

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

So to see if which state the device is in, we do not need to meaure the current, just the volatge. VDDCORE: 0V:RTC Mode or power supply issue, 2.2V: RESET, 2.5V:Active or higher state, 2.5V+ damage core.

I think this is down to the configuration of the OTP. If you can see the device, please read me the markings.

Kind regards.

Elliott

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

I so believe i have the OTP you are using, and it looks like Autoboot is not set. So when the watchdog times out the device will not start back-up without a wake-up.

I didnt quite understand what you meant by the asserting nSHUTDOWN after 15 seconds. So if you make the chages via I2C, then hit nSHUTDOWN inside of 15 seconds its starts back up and after 15 seconds is waits for a wake-up?

Kind regards,

Elliott

borgebjo
Offline
Last seen:11 months 3 weeks ago
Joined:2020-03-19 22:52
Sorry for being unclear. In u

Sorry for being unclear. In u-boot I asserted the SHUTDOWN register (0x13 bit 1) to power down the PMIC to reset, since the watchdog also power down the PMIC to reset. When PMIC reaches RESET mode, it reads the OTP registers and enters POWER-DOWN mode. Since AUTO_BOOT is not set, as you say, the PMIC need a wake-up event to continue powering up. By enabling RTC tick, the PMIC powers up to ACTIVE DOMAIN after setting the SHUTDOWN register. The PMIC does not power up if SHUTDOWN is set later than 16 seconds since last time the the EVENT_A registers was cleared if RTC tick interval is 1 second.

By enabling the RTC tick, the watchdog works. But sometimes the system doesn't boot. The GPIO7 is used to control a LED, which is lit when power is OK according to Digi documentation. The LED is not lit, and I have measured some voltages when in this state. The PMIC V_SYS supply voltage is 5V, and VDDCORE is 2.5V. It is not possible to wake up the system by giving the PMIC a ONKEY wakeup event.

The markings on the PMIC is:

DA9063, 56, 1817ECAA

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

I have managed to replicate what you see.

I start up the device, i can then cause a shutdown event via the nSHUTDOWN register, the device goes through a reset and into POWERDOWN and waits for a wake-up event. I then have TICK_WAKE set to 1 and TICK_TYPE set to 1, this should cause a wake-up event on a minute tick(on the minute not on the second in which the TICK_ON is asserted), i then set TICK_ON. When the minute expires, the device boots.

The device now has the TICK bit set in the events page. So, when you trigger a shutdown, the device goes through the reset and reaches powerdown, however the wake-up TICK has already been set, so the device boots again as this is its wake-up event.

However, if you clear the IRQs before causing the next shutdown the device will wait in powerdown for next TICK event before booting back up. Due to TICK_WAKE being set for a minute, you have to wait for 1 minute to expire, however this function works on the minute currently in the RTC. So when the device reaches powerdown, the RTC could be on 30s, when the device reaches the minute from this point it will start back up. So you have a wait time of between 1- 59 seconds.

Kind regards,
Elliott

borgebjo
Offline
Last seen:11 months 3 weeks ago
Joined:2020-03-19 22:52
This is correct. This is a

This is correct. This is a workaround for enabling the watchdog functionality for a PMIC where AUTO_BOOT is not set in OTP, since OTP registers are read when going from RESET mode to POWER-DOWN. TICK_WAKE and TICK_TYPE are not read from OTP. Unfortunately, this doesn't always work. At least, not for my SBC when the watchdog times out. Not clear for me whether it is an issue with DA9063 or the SBC.

Note that, if you set TICK_WAKE to 0 (tick every second) and wait more than 16 seconds before setting SHUTDOWN register, the PMIC doesn't react to the RTC wake-up event. This must be a DA9063 issue.

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

Ok, i was testing the set-up in 1 minute mode. I have retested in 1s and i can replicate what you are seeing, clearing the IRQ triggers the start-up after it gets stuck in PD.

I need to investigate this further.

Kind regards,

Elliott

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

Sorry for the delay. So we do not think this is an issue with the PMIC. The device not autobooting after 16s is the correct operation of the device, the 16s is related to the VDD_START protection. The reason why the device would appear to autoboot initnally is that the device has not had time to complete it certain opertions before the shutdown has been toggled.

I need to dig into slighly more to see if what other information i can share.

Kind regards,

Elliott

borgebjo
Offline
Last seen:11 months 3 weeks ago
Joined:2020-03-19 22:52
Thanks for the help!

Thanks for the help!

Conclusion is that it is not possible to use the DA9032 watchdog if AUTOBOOT is not set in OTP.

然而,它是可能使监管机构。When the watchdog timer elapses, the DA9063 powers down to RESET mode and then powering up to POWER-DOWN mode, where it, since AUTOBOOT is not set, waits forever for a wake-up event.

ED_Dialog
Offline
Last seen:1 month 1 week ago
Staff
Joined:2017-09-18 11:54
Hello,

Hello,

I will need to look deeper to see if there is another method.

It seems in this situation where there is limited/no access to nONKEY and the other wake-up function, then using the watchdog might not be the best approach.

On this OTP GPIO5 and GPIO6 have a wake-up event linked to the GPIO status.

Kind regards,

Elliott