[ARM] 4953/1: magician: add backlight power switching GPIOs
authorPhilipp Zabel <philipp.zabel@gmail.com>
Wed, 9 Apr 2008 18:28:53 +0000 (19:28 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 19 Apr 2008 10:29:07 +0000 (11:29 +0100)
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pxa/magician.c

index 7de3bfe543b474569d3178405a2f60039b8fc6c3..9e126a90113709512a26ca670a1384e19677980e 100644 (file)
@@ -268,9 +268,18 @@ static void magician_set_bl_intensity(int intensity)
        if (intensity) {
                PWM_CTRL0 = 1;
                PWM_PERVAL0 = 0xc8;
-               PWM_PWDUTY0 = intensity;
+               if (intensity > 0xc7) {
+                       PWM_PWDUTY0 = intensity - 0x48;
+                       gpio_set_value(EGPIO_MAGICIAN_BL_POWER2, 1);
+               } else {
+                       PWM_PWDUTY0 = intensity;
+                       gpio_set_value(EGPIO_MAGICIAN_BL_POWER2, 0);
+               }
+               gpio_set_value(EGPIO_MAGICIAN_BL_POWER, 1);
                pxa_set_cken(CKEN_PWM0, 1);
        } else {
+               /* PWM_PWDUTY0 = intensity; */
+               gpio_set_value(EGPIO_MAGICIAN_BL_POWER, 0);
                pxa_set_cken(CKEN_PWM0, 0);
        }
 }
@@ -278,7 +287,7 @@ static void magician_set_bl_intensity(int intensity)
 static struct generic_bl_info backlight_info = {
        .default_intensity = 0x64,
        .limit_mask        = 0x0b,
-       .max_intensity     = 0xc7,
+       .max_intensity     = 0xc7+0x48,
        .set_bl_intensity  = magician_set_bl_intensity,
 };