From e17655ff42a69eaa348b7b0e8b39a2ff6ab95c47 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Tue, 29 Apr 2014 18:24:47 +0800 Subject: [PATCH] ARM: rockchip: rk3288: pmu reset by second global soft reset --- arch/arm/mach-rockchip/rk3288.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arch/arm/mach-rockchip/rk3288.c b/arch/arm/mach-rockchip/rk3288.c index c74793df4cf9..834b7850bd62 100644 --- a/arch/arm/mach-rockchip/rk3288.c +++ b/arch/arm/mach-rockchip/rk3288.c @@ -124,11 +124,19 @@ extern void secondary_startup(void); static void __init rk3288_dt_map_io(void) { + u32 v; + + rockchip_soc_id = ROCKCHIP_SOC_RK3288; + iotable_init(rk3288_io_desc, ARRAY_SIZE(rk3288_io_desc)); debug_ll_io_init(); usb_uart_init(); - rockchip_soc_id = ROCKCHIP_SOC_RK3288; + /* pmu reset by second global soft reset */ + v = readl_relaxed(RK_CRU_VIRT + RK3288_CRU_GLB_RST_CON); + v &= ~(3 << 2); + v |= 1 << 2; + writel_relaxed(v, RK_CRU_VIRT + RK3288_CRU_GLB_RST_CON); /* rkpwm is used instead of old pwm */ writel_relaxed(0x00010001, RK_GRF_VIRT + RK3288_GRF_SOC_CON2); -- 2.34.1