From 8fd24d93a20746e496a47b46d77dc438d0b7b8b9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=99=88=E4=BA=AE?= Date: Tue, 19 Aug 2014 03:53:45 -0700 Subject: [PATCH] rk312x: fix reboot loader fail MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈亮 --- arch/arm/mach-rockchip/rk312x.c | 7 +++++-- include/linux/rockchip/pmu.h | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-rockchip/rk312x.c b/arch/arm/mach-rockchip/rk312x.c index 4286771c5a2f..c87792980e69 100755 --- a/arch/arm/mach-rockchip/rk312x.c +++ b/arch/arm/mach-rockchip/rk312x.c @@ -338,8 +338,11 @@ static void rk312x_restart(char mode, const char *cmd) rockchip_restart_get_boot_mode(cmd, &boot_flag, &boot_mode); - writel_relaxed(boot_flag, RK_GRF_VIRT + RK312X_GRF_OS_REG4); - writel_relaxed(boot_mode, RK_GRF_VIRT + RK312X_GRF_OS_REG5); + /* for loader */ + writel_relaxed(boot_flag, RK_PMU_VIRT + RK312x_PMU_SYS_REG0); + /* for linux */ + writel_relaxed(boot_mode, RK_PMU_VIRT + RK312x_PMU_SYS_REG1); + dsb(); /* pll enter slow mode */ diff --git a/include/linux/rockchip/pmu.h b/include/linux/rockchip/pmu.h index 02f379c929f8..9f39950ea519 100755 --- a/include/linux/rockchip/pmu.h +++ b/include/linux/rockchip/pmu.h @@ -1,6 +1,9 @@ #ifndef __MACH_ROCKCHIP_PMU_H #define __MACH_ROCKCHIP_PMU_H +#define RK312x_PMU_SYS_REG0 0x38 +#define RK312x_PMU_SYS_REG1 0x3c + #define RK3188_PMU_WAKEUP_CFG0 0x00 #define RK3188_PMU_WAKEUP_CFG1 0x04 #define RK3188_PMU_PWRDN_CON 0x08 -- 2.34.1