我有一个Digi ConnectCore6 SBC,它使用DA9063 PMIC。我已成功设置Linux内核和看门狗守护程序以使用DA9063看门狗。但是,DA9063关闭而不是重置DA9063。
我遵循了建议
https://support.dialog-semicondiondiondum/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:
你好,
你能发布你使用的完整.ini文件吗?
I take it, you are triggering the watchdog via I2C and not hardware?
您需要将它放在文件夹中并zip zip。
Kind regards,
Elliott
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.
你好,
Could you perform a full register dump?
I take it the PMIC power downs and remains powerdown?
Could you measure VDDCORE?
亲切的问候,
Elliott
> 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
>你能衡量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.
你好,
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.
在VDDCORE上,此电压将告诉我们PMIC所在的状态:重置,活动,RTC ...等。它没有连接到降压,这是对内部核心电压的引用。
> 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.
我发现断言Auto_Boot或断言Tick_on(RTC将定期生成RTC勾唤醒事件)如果在重置PMIC后的第一个〜15秒内被置位或关闭寄存器在第一个〜15秒内被断言,则PMIC将上电至活动模式。如果在〜15秒后的看门狗超时,则PMIC不会进入活动模式。我假设它保持在等待唤醒事件的掉电模式。
进一步调查发出了有趣的结果。如果断言Auto_Boot或Tick_On并且通过写回读取值清除Event_A寄存器。然后通过在〜15秒内断言关闭寄存器PMIC始终从复位模式向上源于活动模式。断言迟于〜15秒,它没有。看门狗的行为相同。
Am I missing a register setting, or is this a bug?
你好,
因此,要查看设备是否存在哪些状态,我们不需要对当前进行系统,只是volatge。VDDCORE:0V:RTC模式或电源问题,2.2V:复位,2.5V:有效或更高的状态,2.5V +损坏核心。
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
你好,
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
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.
通过启用RTC勾选,看门狗有效。但有时系统无法启动。GPIO7用于控制LED,根据DIGI文档电源可以点亮。LED不会点亮,在这种状态下,我已经测量了一些电压。PMIC V_SYS电源电压为5V,VDDCORE为2.5V。通过给出PMIC唤醒事件,无法唤醒系统。
PMIC上的标记是:
DA9063,56,1817ECAA
你好,
I have managed to replicate what you see.
我启动了设备,然后我可以通过NSHutdown寄存器导致关闭事件,该设备通过重置并进入Poctwod并等待唤醒事件。然后我将stick_wake设置为1,tick_type设置为1,这应该导致唤醒事件在一分钟勾号上(在返回rick_on被置位的第二个)上,我然后设置tick_on。当一分钟到期时,设备靴子。
该设备现在在事件页面中设置了滴答位置。因此,当您触发关闭时,设备会通过重置并达到POLTDOW,但是已设置唤醒刻度,因此设备再次启动,因为这是其唤醒事件。
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
这是对的。这是一个解决方法,用于启用PMIC的看门狗功能,其中Auto_boot未在OTP中设置,因为从重置模式到掉电时读取OTP寄存器。Tick_wake和tick_type不会从OTP读取。不幸的是,这并不总是有效。至少,当看门狗超时时,不是我的SBC。对我来说不清楚是否是DA9063或SBC的问题。
请注意,如果将Tick_Wake设置为0(每秒勾选)并在设置关闭寄存器之前等待16秒钟,则PMIC不会对RTC唤醒事件作出反应。这必须是DA9063问题。
你好,
好的,我在1分钟模式下测试设置。我在1s中重新测试了,我可以复制你所看到的东西,清除IRQ触发器在PD中陷入困境后启动。
我需要进一步调查这一点。
Kind regards,
Elliott
你好,
抱歉耽搁了。所以我们认为这不是PMIC的问题。在16S之后的设备未自动启动是设备的正确操作,16S与VDD_Start保护有关。概述设备将出现自动启动的原因是设备在关闭后,设备还没有时间完成某些方法。
I need to dig into slighly more to see if what other information i can share.
Kind regards,
Elliott
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.
你好,
我需要更深入看看是否有另一种方法。
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