From 6ed2a41c0ba619c85fa41c91a7bfd61e1c455416 Mon Sep 17 00:00:00 2001 From: "Huang, Tao" Date: Tue, 6 Jan 2015 12:23:57 +0800 Subject: [PATCH] ARM: rockchip: enable ARM_ERRATA_821420 for RK3288 Signed-off-by: Huang, Tao --- arch/arm/mach-rockchip/Kconfig | 1 + arch/arm/mach-rockchip/pm-rk3288.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig index 5ecf911bdfd8..24b25bc5cf95 100755 --- a/arch/arm/mach-rockchip/Kconfig +++ b/arch/arm/mach-rockchip/Kconfig @@ -21,6 +21,7 @@ config ARCH_ROCKCHIP select PL330_DMA select FIQ_GLUE select ARM_ERRATA_818325 + select ARM_ERRATA_821420 if ARCH_ROCKCHIP diff --git a/arch/arm/mach-rockchip/pm-rk3288.c b/arch/arm/mach-rockchip/pm-rk3288.c index d2f98c5857f8..fcb6a7aa0c7b 100755 --- a/arch/arm/mach-rockchip/pm-rk3288.c +++ b/arch/arm/mach-rockchip/pm-rk3288.c @@ -1290,6 +1290,14 @@ static void rkpm_save_setting(u32 ctrbits) } static void rkpm_save_setting_resume(void) { +#ifdef CONFIG_ARM_ERRATA_821420 + u32 v; + + asm volatile("mrc p15, 0, %0, c15, c0, 2" : "=r" (v)); + v |= 1 << 1; + asm volatile("mcr p15, 0, %0, c15, c0, 2" : : "r" (v)); + isb(); +#endif #if 0 rkpm_ddr_printascii("l2&arm_errata--"); -- 2.34.1