AnsweredAssumed Answered

Power off i.MX6

Question asked by Daniel Mattsson on Feb 4, 2014
Latest reply on Feb 6, 2014 by Daniel Mattsson

Hi,

 

We have developed a custom board with i.MX6DL and MMPF0100 PMIC running android 4.2. We have problems powering off the board from SW.

 

We have followed the instructions in:

* https://community.freescale.com/message/369704#369704

* https://community.freescale.com/docs/DOC-97660

* https://community.freescale.com/servlet/JiveServlet/download/97660-1-266974/1256-ENGR00178629-i.MX6-sabresd-support-software-power-of.patch.txt.zip

 

Result:

  - The function pm_power_off is assigned in board file (pm_power_off = mx6_snvs_poweroff;)

  - The function mx6_snvs_poweroff writes bits TOP & DP_EN to register SNVS_LPCR.

  - We have verified that mx6_snvs_poweroff is called when powering off from android GUI (long press power button and accept the popup box).

  - The systems hangs when writing bits TOP & DP_EN to register SNVS_LPCR.

 

The following have also been tried:

* Calling linux command 'reboot' from adb shell with various flags including -p.

  Result: Hangs the system (seems to call pm_power_off)

 

* Calling busybox poweroff.

  Result: Nothing happens

 

* Power off by calling the 'reboot' system call from a c program (http://man7.org/linux/man-pages/man2/reboot.2.html).

  Result: Hangs the system

 

* Enter PMIC 'OFF' state by setting:

  - All SWxOMODE bits=0

  - PWRON_CFG = 0

  - PWRONRSTEN = 1

  - Finally trigger PWRON by setting various bit combinations in WDOGx_WCR.

  Result: Hangs the system (or in some cases => reboots the system).

 

Any input is appreciated!

Outcomes