]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-omap1/board-osk.c
Merge branch 'next/drivers' into HEAD
[karo-tx-linux.git] / arch / arm / mach-omap1 / board-osk.c
index 2f1f9b967576d4a9a0a07f9035a41b7666058087..5973945a8741a79ddeffcb2146046c88268169e9 100644 (file)
@@ -382,10 +382,37 @@ static struct platform_device osk5912_lcd_device = {
        .id             = -1,
 };
 
+static struct gpio_led mistral_gpio_led_pins[] = {
+       {
+               .name           = "mistral:red",
+               .default_trigger = "heartbeat",
+               .gpio           = 3,
+       },
+       {
+               .name           = "mistral:green",
+               .default_trigger = "cpu0",
+               .gpio           = OMAP_MPUIO(4),
+       },
+};
+
+static struct gpio_led_platform_data mistral_gpio_led_data = {
+       .leds           = mistral_gpio_led_pins,
+       .num_leds       = ARRAY_SIZE(mistral_gpio_led_pins),
+};
+
+static struct platform_device mistral_gpio_leds = {
+       .name   = "leds-gpio",
+       .id     = -1,
+       .dev    = {
+               .platform_data = &mistral_gpio_led_data,
+       },
+};
+
 static struct platform_device *mistral_devices[] __initdata = {
        &osk5912_kp_device,
        &mistral_bl_device,
        &osk5912_lcd_device,
+       &mistral_gpio_leds,
 };
 
 static int mistral_get_pendown_state(void)
@@ -510,6 +537,12 @@ static void __init osk_mistral_init(void)
        if (gpio_request(2, "lcd_pwr") == 0)
                gpio_direction_output(2, 1);
 
+       /*
+        * GPIO based LEDs
+        */
+       omap_cfg_reg(P18_1610_GPIO3);
+       omap_cfg_reg(MPUIO4);
+
        i2c_register_board_info(1, mistral_i2c_board_info,
                        ARRAY_SIZE(mistral_i2c_board_info));