From 816f26b3411b447e6637fa36bbd50b4bc720f417 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Wed, 2 Apr 2014 14:42:02 +0200 Subject: board-apalis_imx6: add pm_power_off callback function taken from board-mx6q_sabresd.c --- arch/arm/mach-mx6/board-apalis_imx6.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/arch/arm/mach-mx6/board-apalis_imx6.c b/arch/arm/mach-mx6/board-apalis_imx6.c index 752c99d194f9..48e5c2308bcd 100644 --- a/arch/arm/mach-mx6/board-apalis_imx6.c +++ b/arch/arm/mach-mx6/board-apalis_imx6.c @@ -1351,6 +1351,16 @@ static int __init caam_setup(char *__unused) } early_param("caam", caam_setup); +#define SNVS_LPCR 0x38 +static void mx6_snvs_poweroff(void) +{ + void __iomem *mx6_snvs_base = MX6_IO_ADDRESS(MX6Q_SNVS_BASE_ADDR); + u32 value; + value = readl(mx6_snvs_base + SNVS_LPCR); + /*set TOP and DP_EN bit*/ + writel(value | 0x60, mx6_snvs_base + SNVS_LPCR); +} + static const struct imx_pcie_platform_data pcie_data __initconst = { .pcie_pwr_en = -EINVAL, .pcie_rst = -EINVAL, @@ -1570,6 +1580,7 @@ static void __init board_init(void) rate = clk_round_rate(clko2, 24000000); clk_set_rate(clko2, rate); clk_enable(clko2); + pm_power_off = mx6_snvs_poweroff; imx6q_add_busfreq(); imx6q_add_pcie(&pcie_data); -- cgit v1.2.3