Hello,
I am currently developing BSP for a custom iMX6-based board.
I am trying to enable the DA9063 Watchdog feature.
The timeout works OK, but when it's meant to reset, the iMX just stops. All PMIC voltages seem to remain the same, and the iMX won't reboot until I manually write 1 in the SHUTDOWN bit (bit 1) of register CONTROL_F (0x13).
Also, the exact same behaviour is reproducible by writing 1 in SHUTDOWN bit while the iMX is alive. Then I have to re-write 1 in the SHUTDOWN bit, otherwise the iMX won't reset.
I noticed that the POR output signal gets asserted low after the watchdog timeout(or first write in CONTROL_F), and then gets back high after writing SHUTDOWN in CONTROL_F (what could explain why iMX is not resetting).
Do you have an idea of what is causing this behaviour, and how can I fix it ?
Thanks a lot
PinkPR
Hello PinkPR,
Thanks for your question. Are you able to send me your .ini file and a schmatic snapshot?
Kind regards,
Elliott Dexter
Hi Elliott,
I don't have any .ini file. The DA9063 is configured through the Linux DA9063 driver. Anyway, it would be easy to generate a snapshot of registers states once booted, and when watchdog is not running yet.
Also, I'm afraid that I won't be authorized to publish parts of our schematics publicly. Let me know if there's an other solution.
PinkPR
Hello PinkPR,
Do you know if the DA9063 PMIC is programmed?
Could you read me the markings on the IC.
Kind regards,
Elliott Dexter
标记说:DA9063 3 f1701ECAB.
The default voltages differ from the public datasheet, so it may be a preprogrammed version.
Hello PinkPR,
Let me take a look at the 3F .ini file.
Kind regards,
Elliott Dexter
Hello PinkPR,
Are you using I2C writes to trigger the watchdog register or are you using the KEEP_ACT function?
What state is the PMIC in once it triggers the reset?
Could you explain a little bit more when you say "timeout works ok", are you saying it goes into reset and gets stuck?
Kind regards,
Elliott Dexter
Hi Elliott,
I am using I2C to refresh the watchdog timer.
Yes that's it : when the watchdog exceeds timeout, PMIC goes in reset mode. That's when the iMX gets stuck. Some devices on the board are then powered off and it looks like the PMIC gets all registers reset.
But the POR_B output still is asserted low and so the iMX won't fully reset.
Hello PinkPR,
Do you see all the regulator on the PMIC shutdown and do you see the nRESET signal go low?
Kind regards,
Elliott Dexter
Hi Elliott,
Regulators are not shutdown, they are reset to their powerup voltages. nRESET goes low and does not rise.
Hello,
So the Buck reglator stay active in Powerdown? Or do they re-enable when leaving powerdown?
Kind regards,
Elliott Dexter
Hello PinkPR,
I see the issue. The x_CONF bits on BUCKCORE1, BUCKCORE2, BUCKIO, BUCKPRO, LDO11 and LDO9 are asserted. These regulators will remain on in powerdown mode.
You will need to disenable them.
Kind regards
Elliott Dexter
Hi Elliott,
Thanks for taking time, it works very well !
Could you explain what this fields acts on ? I can't see any reference to it in the datasheet, except in registers definitions.
Hello PinkPR,
I have attached a section of the DA9061/62 Developers guide. This section contains a table with the different possible configurations of the regulators (Bucks & LDOs). Even though this table describes the set-up for the DA9061/62 devices it is also true for the DA9063.
This type of operation can be used for suspend to resume operation.
Kind regards,
Elliott Dexter