你好,
我目前正在为一个基于imx6的定制板开发BSP。
我正在尝试启用DA9063 Watchdog功能。
超时工作正常,但当它打算重置时,iMX就停止了。所有PMIC电压似乎保持不变,iMX不会重新启动,直到我手动将1写入寄存器CONTROL_F (0x13)的SHUTDOWN位(第1位)。
同样,通过在iMX激活时在SHUTDOWN位中写入1,完全相同的行为是可重复的。然后我必须在SHUTDOWN位中重写1,否则iMX不会重置。
我注意到POR输出信号在看门狗超时后断言为低(或首先写入CONTROL_F),然后在写入CONTROL_F中的SHUTDOWN后返回高(这可以解释为什么iMX没有重置)。
你知道是什么导致了这种行为,以及我该如何修复它吗?
非常感谢
PinkPR
设备:
你好PinkPR,
谢谢你的问题。你能把你的。ini文件和schmatic快照发给我吗?
亲切的问候,
艾略特德克斯特
嗨,艾略特,
我没有。ini文件。通过Linux DA9063驱动配置DA9063。无论如何,一旦启动,当watchdog还没有运行时,生成寄存器状态的快照是很容易的。
另外,我恐怕没有被授权公开我们的部分图纸。如果有其他解决办法就告诉我。
PinkPR
你好PinkPR,
你知道DA9063 PMIC是否已编程?
你能给我读一下IC上的标记吗?
亲切的问候,
艾略特德克斯特
标记显示:DA9063 3F 1701ECAB。
默认电压与公共数据表不同,因此它可能是预编程版本。
你好PinkPR,
让我看看3F .ini文件。
亲切的问候,
艾略特德克斯特
你好PinkPR,
您是使用I2C写来触发看门狗寄存器还是使用KEEP_ACT函数?
一旦触发复位,PMIC处于什么状态?
你能再解释一下当你说"timeout works ok"时,你是说它进入了重置,然后卡住了吗?
亲切的问候,
艾略特德克斯特
嗨,艾略特,
我使用I2C刷新看门狗定时器。
是的,就是这样:当看门狗超时时,PMIC进入复位模式。这就是iMX卡住的时候。板上的一些设备然后断电,看起来PMIC得到所有寄存器复位。
但是POR_B输出仍然被断言为低,因此iMX不会完全重置。
你好PinkPR,
你看到PMIC上的所有调节器都关闭了吗?你看到nRESET信号变低了吗?
亲切的问候,
艾略特德克斯特
嗨,艾略特,
调节器没有关闭,它们被复位到它们的上电电压。nRESET低而不升。
你好,
所以巴克调节器在断电时还在工作吗?或者当关闭电源时,它们会重新启动吗?
亲切的问候,
艾略特德克斯特
你好PinkPR,
我明白问题所在了。BUCKCORE1、BUCKCORE2、BUCKIO、BUCKPRO、LDO11、LDO9的x_CONF位被断言。这些调节器将保持在关机模式。
您需要禁用它们。
亲切的问候
艾略特德克斯特
嗨,艾略特,
谢谢你花时间,它工作得非常好!
你能解释一下这个领域的作用吗?我在数据表中看不到任何对它的引用,除了在寄存器定义中。
你好PinkPR,
我已经附上了DA9061/62开发人员指南的一部分。本节包含一个表,其中包含监管者(Bucks & LDOs)的不同可能配置。尽管该表描述了DA9061/62设备的设置,但对DA9063也是如此。
这种类型的操作可用于挂起以恢复操作。
亲切的问候,
艾略特德克斯特