trats2: add implementation of board_poweroff() and CONFIG_CMD_POWEROFF
authorPrzemyslaw Marczak <p.marczak@samsung.com>
Fri, 21 Mar 2014 10:48:54 +0000 (11:48 +0100)
committerPrzemyslaw Marczak <p.marczak@samsung.com>
Thu, 3 Dec 2015 11:31:43 +0000 (12:31 +0100)
This change adds implementation of function board_poweroff() which
turns off the device off by setting PSHOLD gpio to low state which
is a power off signal for main PMIC.

Change-Id: Iae97fb81d7e7e243079ac18d03f4fd917c50b62e
Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>
board/samsung/trats2/trats2.c
include/configs/trats2.h

index a7377497e5d2d4002f7b847ae051abfe5e8bb2b9..03f1d7d68b741f39e72bba568e9fc862c24b5e8f 100644 (file)
@@ -431,3 +431,20 @@ void exynos_lcd_misc_init(vidinfo_t *vid)
 #endif
 }
 #endif /* LCD */
+
+#ifdef CONFIG_CMD_POWEROFF
+void board_poweroff(void)
+{
+       unsigned int val;
+       struct exynos4x12_power *power =
+               (struct exynos4x12_power *)samsung_get_base_power();
+
+       val = readl(&power->ps_hold_control);
+       val |= EXYNOS_PS_HOLD_CONTROL_EN_OUTPUT; /* set to output */
+       val &= ~EXYNOS_PS_HOLD_CONTROL_DATA_HIGH; /* set state to low */
+       writel(val, &power->ps_hold_control);
+
+       while (1);
+       /* Should not reach here */
+}
+#endif
index 8c33cdb4e8e7342436ac32b4a6de3a964b010f9c..7346b0e7455a3ca6d29261e7b11fc4434b53b390 100644 (file)
@@ -194,6 +194,7 @@ int get_soft_i2c_sda_pin(void);
 #define CONFIG_POWER_MUIC_MAX77693
 #define CONFIG_POWER_FG_MAX77693
 #define CONFIG_POWER_BATTERY_TRATS2
+#define CONFIG_CMD_POWEROFF
 
 /* Security subsystem - enable hw_rand() */
 #define CONFIG_EXYNOS_ACE_SHA