AnsweredAssumed Answered

i.MX6UL pwrkey: restart/wake-up behaviour

Question asked by Ioan-Alexandru Lazar on Sep 1, 2016
Latest reply on Dec 5, 2016 by Yuri Muhin

Hello,

 

I'm looking for a little clarification regarding the expected behaviour of the i.MX6UL when asserting pmic_en_b after it was turned off, in dumb PMIC mode.

 

I have a custom board running Linux 3.14.52; the board is custom, but the ONOFF signal & friends are driven similarly to the MX6EVK. I'm trying to get it to turn off when the button is asserted for more than 5 seconds, then immediately turn back on ("immediately" can be either instantly, or as soon as the button is depressed, both options are ok) Basically, I'm trying to do a cold reset.

 

My attempts so far have been unsuccessful, and I'm beginning to suspect that my understanding of how the device behaves is incorrect. I would greatly appreciate if someone who's more familiar with the SNVS subsystem could help me with some clarification on the following:

 

1. The reference manual states that the "Off to On time" is "the time it takes to request power on after the configured button press time has been reached." (emphasis mine). In this case:

 

1a. In dumb PMIC mode, does the device request power on only after it senses a press event, i.e. only after a falling edge followed by a low level being held for at least 0-500 msec, depending on LPCR[20:21] (ON_TIME)?

 

In other words: suppose I press the button for 6 seconds. After 5 seconds, the device shuts down, but the button continues to be held down. Is this level registered by the SNVS, which would issue a pmic_en_b if the button remains held down for the right amount of time, or does the signal have to be driven high again before a low level can trigger an off-on transition?

 

1b. The BTN_CONFIG bits in HPCR only affect the behaviour of the device in high-power mode, right?

 

2. When the device is in high-power mode, does a long press of the button result in the TOP bit of LPCR being set automatically? Or does that generate an interrupt that needs to be handled in software by (among other things) setting the TOP bit?

 

Thanks!

Outcomes