From: 黄涛 Date: Wed, 23 Mar 2011 07:14:17 +0000 (+0800) Subject: rk29: reset: reset pwm while reboot X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a5f9a87633a09b0fdc6c0e2760cb5e1f58a2f333;p=firefly-linux-kernel-4.4.55.git rk29: reset: reset pwm while reboot --- 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);