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