From a5f9a87633a09b0fdc6c0e2760cb5e1f58a2f333 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Wed, 23 Mar 2011 15:14:17 +0800 Subject: [PATCH] rk29: reset: reset pwm while reboot --- arch/arm/mach-rk29/reset.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/arch/arm/mach-rk29/reset.c b/arch/arm/mach-rk29/reset.c index 10cca81fe05a..fc7cdeb03559 100755 --- a/arch/arm/mach-rk29/reset.c +++ b/arch/arm/mach-rk29/reset.c @@ -70,7 +70,8 @@ static void pwm2gpiodefault(void) *pGRF_GPIO2L_IOMUX &= ~(0x3<<6); // set gpio to input *pGPIO2_DIR &= ~(0x1<<3); -// testflag =1; + + memset(RK29_PWM_BASE, 0, 0x40); } @@ -93,24 +94,22 @@ void rk29_arch_reset(int mode, const char *cmd) { u32 reg; - /* from panic? */ - if (system_state != SYSTEM_RESTART) - machine_power_off(); - local_irq_disable(); local_fiq_disable(); - pwm2gpiodefault(); cru_writel((cru_readl(CRU_MODE_CON) & ~CRU_CPU_MODE_MASK) | CRU_CPU_MODE_SLOW, CRU_MODE_CON); - delay_500ns(); - cru_writel((cru_readl(CRU_MODE_CON) & ~CRU_GENERAL_MODE_MASK) | CRU_GENERAL_MODE_SLOW, CRU_MODE_CON); + /* from panic? */ + if (system_state != SYSTEM_RESTART) + machine_power_off(); + pwm2gpiodefault(); + + cru_writel((cru_readl(CRU_MODE_CON) & ~CRU_GENERAL_MODE_MASK) | CRU_GENERAL_MODE_SLOW, CRU_MODE_CON); delay_500ns(); cru_writel((cru_readl(CRU_MODE_CON) & ~CRU_CODEC_MODE_MASK) | CRU_CODEC_MODE_SLOW, CRU_MODE_CON); - delay_500ns(); cru_writel(0, CRU_CLKGATE0_CON); -- 2.34.1