ARM: dts: am335x-boneblack: disable RTC-only sleep to avoid hardware damage
authorMatthijs van Duin <[email protected]>
Mon, 1 Jun 2015 19:33:28 +0000 (21:33 +0200)
committerTony Lindgren <[email protected]>
Mon, 1 Jun 2015 19:48:23 +0000 (12:48 -0700)
Avoid entering "RTC-only mode" at poweroff. It is unsupported by most
versions of BeagleBone, and risks hardware damage.

The damaging configuration is having system-power-controller
without ti,pmic-shutdown-controller.

Reported-by: Matthijs van Duin <[email protected]>
Tested-by: Matthijs van Duin <[email protected]>
Signed-off-by: Robert Nelson <[email protected]>
Cc: Tony Lindgren <[email protected]>
Cc: Felipe Balbi <[email protected]>
Cc: Johan Hovold <[email protected]>
[Matthijs van Duin: added explanatory comments]
Signed-off-by: Matthijs van Duin <[email protected]>
Fixes: http://bugs.elinux.org/issues/143
Cc: [email protected] # v3.12+
[[email protected]: updated comments with the hardware breaking info]
Signed-off-by: Tony Lindgren <[email protected]>
arch/arm/boot/dts/am335x-bone-common.dtsi

index c3255e0c90aa829fc792f02d1265d413f3c6e624..dbb3f4d2bf84ebf4565555949053c94619ea161d 100644 (file)
 /include/ "tps65217.dtsi"
 
 &tps {
+       /*
+        * Configure pmic to enter OFF-state instead of SLEEP-state ("RTC-only
+        * mode") at poweroff.  Most BeagleBone versions do not support RTC-only
+        * mode and risk hardware damage if this mode is entered.
+        *
+        * For details, see linux-omap mailing list May 2015 thread
+        *      [PATCH] ARM: dts: am335x-bone* enable pmic-shutdown-controller
+        * In particular, messages:
+        *      http://www.spinics.net/lists/linux-omap/msg118585.html
+        *      http://www.spinics.net/lists/linux-omap/msg118615.html
+        *
+        * You can override this later with
+        *      &tps {  /delete-property/ ti,pmic-shutdown-controller;  }
+        * if you want to use RTC-only mode and made sure you are not affected
+        * by the hardware problems. (Tip: double-check by performing a current
+        * measurement after shutdown: it should be less than 1 mA.)
+        */
+       ti,pmic-shutdown-controller;
+
        regulators {
                dcdc1_reg: regulator@0 {
                        regulator-name = "vdds_dpr";