aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/board-osk.c
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2007-01-25 19:24:01 -0500
committerTony Lindgren <tony@atomide.com>2007-09-20 21:34:51 -0400
commit4dcc6d242ea576aaead9b5fe4b79cf941294855b (patch)
tree6d984016d3e1c007332d0b0370c8674af0050221 /arch/arm/mach-omap1/board-osk.c
parente898088e250d9b0cce671490fb29c5fd82880d5e (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/arm/mach-omap1/board-osk.c')
-rw-r--r--arch/arm/mach-omap1/board-osk.c22
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
296static struct omap_backlight_config mistral_bl_data = {
297 .default_intensity = 0xa0,
298};
299
300static struct platform_device mistral_bl_device = {
301 .name = "omap-bl",
302 .id = -1,
303 .dev = {
304 .platform_data = &mistral_bl_data,
305 },
306};
307
296static struct platform_device osk5912_lcd_device = { 308static 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
301static struct platform_device *mistral_devices[] __initdata = { 313static 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