From 6d5df19a887e0d695eab73e7073203ca3064312e Mon Sep 17 00:00:00 2001
From: Przemyslaw Marczak
Date: Fri, 21 Mar 2014 11:48:54 +0100
Subject: [PATCH] trats2: add implementation of board_poweroff() and
CONFIG_CMD_POWEROFF
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
---
board/samsung/trats2/trats2.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
index 84ff936..9858150 100644
--- a/board/samsung/trats2/trats2.c
+++ b/board/samsung/trats2/trats2.c
@@ -334,3 +334,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
--
2.7.4