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)
committerJaehoon Chung <jh80.chung@samsung.com>
Fri, 8 Apr 2016 02:11:18 +0000 (11:11 +0900)
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 7b28ae8..fd8921c 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 8c33cdb..7346b0e 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