diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2007-01-25 19:24:01 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2007-09-20 21:34:51 -0400 |
commit | 4dcc6d242ea576aaead9b5fe4b79cf941294855b (patch) | |
tree | 6d984016d3e1c007332d0b0370c8674af0050221 /arch | |
parent | e898088e250d9b0cce671490fb29c5fd82880d5e (diff) |
ARM: OMAP: osk+mistral backlight, power, board specific
Mistral-specific:
- Add PWL-driven LCD backlight device
- Apply power to the board even when the LCD isn't configured; things
like EEPROM, temperature sensor, and wakeup switch depend on it.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap1/board-osk.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/board-osk.c b/arch/arm/mach-omap1/board-osk.c index 83f6e09bf079..1825781f4354 100644 --- a/arch/arm/mach-omap1/board-osk.c +++ b/arch/arm/mach-omap1/board-osk.c | |||
@@ -293,6 +293,18 @@ static struct platform_device osk5912_kp_device = { | |||
293 | .resource = osk5912_kp_resources, | 293 | .resource = osk5912_kp_resources, |
294 | }; | 294 | }; |
295 | 295 | ||
296 | static struct omap_backlight_config mistral_bl_data = { | ||
297 | .default_intensity = 0xa0, | ||
298 | }; | ||
299 | |||
300 | static struct platform_device mistral_bl_device = { | ||
301 | .name = "omap-bl", | ||
302 | .id = -1, | ||
303 | .dev = { | ||
304 | .platform_data = &mistral_bl_data, | ||
305 | }, | ||
306 | }; | ||
307 | |||
296 | static struct platform_device osk5912_lcd_device = { | 308 | static struct platform_device osk5912_lcd_device = { |
297 | .name = "lcd_osk", | 309 | .name = "lcd_osk", |
298 | .id = -1, | 310 | .id = -1, |
@@ -300,6 +312,7 @@ static struct platform_device osk5912_lcd_device = { | |||
300 | 312 | ||
301 | static struct platform_device *mistral_devices[] __initdata = { | 313 | static struct platform_device *mistral_devices[] __initdata = { |
302 | &osk5912_kp_device, | 314 | &osk5912_kp_device, |
315 | &mistral_bl_device, | ||
303 | &osk5912_lcd_device, | 316 | &osk5912_lcd_device, |
304 | }; | 317 | }; |
305 | 318 | ||
@@ -405,6 +418,15 @@ static void __init osk_mistral_init(void) | |||
405 | } else | 418 | } else |
406 | printk(KERN_ERR "OSK+Mistral: wakeup button is awol\n"); | 419 | printk(KERN_ERR "OSK+Mistral: wakeup button is awol\n"); |
407 | 420 | ||
421 | /* LCD: backlight, and power; power controls other devices on the | ||
422 | * board, like the touchscreen, EEPROM, and wakeup (!) switch. | ||
423 | */ | ||
424 | omap_cfg_reg(PWL); | ||
425 | if (omap_request_gpio(2) == 0) { | ||
426 | omap_set_gpio_direction(2, 0 /* out */); | ||
427 | omap_set_gpio_dataout(2, 1 /* on */); | ||
428 | } | ||
429 | |||
408 | platform_add_devices(mistral_devices, ARRAY_SIZE(mistral_devices)); | 430 | platform_add_devices(mistral_devices, ARRAY_SIZE(mistral_devices)); |
409 | } | 431 | } |
410 | #else | 432 | #else |