Index: linux-2.6.16.5-ezx/arch/arm/mach-pxa/ezx.c =================================================================== --- linux-2.6.16.5-ezx.orig/arch/arm/mach-pxa/ezx.c 2006-04-21 17:12:41.000000000 -0300 +++ linux-2.6.16.5-ezx/arch/arm/mach-pxa/ezx.c 2006-04-21 19:27:50.000000000 -0300 @@ -206,10 +206,11 @@ GPDR0 |= 0x00010000; //PWM0 is GPIO16 pxa_gpio_mode(GPIO16_PWM0_MD); } else { -#if 0 PWM_PWDUTY0 = 0; - GAFR0_U &= -#endif + GAFR0_U &= 0xfffffffc; + GPDR0 &= 0xfffeffff; /* set gpio16 (pwm0) as input */ + CKEN &= ~CKEN0_PWM0; + PWM_PWDUTY0 = MIN_DUTYCYCLE; } } @@ -224,11 +225,12 @@ GPCR3 = 0x00100000; GPDR3 |= 0x00100000; } else { -#if 0 GPSR3 = 0x00100000; PGSR3 |= 0x00100000; mdelay(41); -#endif + LCCR0 &= ~LCCR0_LDM; /* disable lcd disable done interrupt */ + LCCR0 |= LCCR0_DIS; /* normal disable lcd */ + mdelay(18); } }