Commit 5757cc04 authored by Kyungmin Park's avatar Kyungmin Park Committed by Tony Lindgren

[PATCH] ARM: OMAP: ARM: OMAP: LEDs driver support

ARM: OMAP: LEDs driver support

OMAP GPIO LEDs support
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent 97850725
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <linux/mtd/onenand.h> #include <linux/mtd/onenand.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/leds.h>
#include <asm/hardware.h> #include <asm/hardware.h>
#include <asm/mach-types.h> #include <asm/mach-types.h>
...@@ -31,6 +32,7 @@ ...@@ -31,6 +32,7 @@
#include <asm/mach/flash.h> #include <asm/mach/flash.h>
#include <asm/arch/gpio.h> #include <asm/arch/gpio.h>
#include <asm/arch/led.h>
#include <asm/arch/mux.h> #include <asm/arch/mux.h>
#include <asm/arch/usb.h> #include <asm/arch/usb.h>
#include <asm/arch/board.h> #include <asm/arch/board.h>
...@@ -139,10 +141,45 @@ static struct platform_device apollon_lcd_device = { ...@@ -139,10 +141,45 @@ static struct platform_device apollon_lcd_device = {
.id = -1, .id = -1,
}; };
static struct omap_led_config apollon_led_config[] = {
{
.cdev = {
.name = "apollon:led0",
},
.gpio = LED0_GPIO13,
},
{
.cdev = {
.name = "apollon:led1",
},
.gpio = LED1_GPIO14,
},
{
.cdev = {
.name = "apollon:led2",
},
.gpio = LED2_GPIO15,
},
};
static struct omap_led_platform_data apollon_led_data = {
.nr_leds = ARRAY_SIZE(apollon_led_config),
.leds = apollon_led_config,
};
static struct platform_device apollon_led_device = {
.name = "omap-led",
.id = -1,
.dev = {
.platform_data = &apollon_led_data,
},
};
static struct platform_device *apollon_devices[] __initdata = { static struct platform_device *apollon_devices[] __initdata = {
&apollon_onenand_device, &apollon_onenand_device,
&apollon_smc91x_device, &apollon_smc91x_device,
&apollon_lcd_device, &apollon_lcd_device,
&apollon_led_device,
}; };
static inline void __init apollon_init_smc91x(void) static inline void __init apollon_init_smc91x(void)
......
...@@ -70,6 +70,12 @@ config LEDS_OMAP_PWM ...@@ -70,6 +70,12 @@ config LEDS_OMAP_PWM
This options enables support for LEDs connected to GPIO lines This options enables support for LEDs connected to GPIO lines
controlled by a PWM timer on OMAP CPUs. controlled by a PWM timer on OMAP CPUs.
config LEDS_OMAP
tristate "LED Support for OMAP GPIO LEDs"
depends LEDS_CLASS && ARCH_OMAP
help
This option enables support for the LEDs on OMAP processors.
comment "LED Triggers" comment "LED Triggers"
config LEDS_TRIGGERS config LEDS_TRIGGERS
......
...@@ -11,6 +11,7 @@ obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o ...@@ -11,6 +11,7 @@ obj-$(CONFIG_LEDS_SPITZ) += leds-spitz.o
obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o obj-$(CONFIG_LEDS_IXP4XX) += leds-ixp4xx-gpio.o
obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o obj-$(CONFIG_LEDS_TOSA) += leds-tosa.o
obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o
obj-$(CONFIG_LEDS_OMAP) += leds-omap.o
obj-$(CONFIG_LEDS_OMAP_PWM) += leds-omap-pwm.o obj-$(CONFIG_LEDS_OMAP_PWM) += leds-omap-pwm.o
# LED Triggers # LED Triggers
......
/*
* linux/include/asm-arm/arch-omap/led.h
*
* Copyright (C) 2006 Samsung Electronics
* Kyungmin Park <kyungmin.park@samsung.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef ASMARM_ARCH_LED_H
#define ASMARM_ARCH_LED_H
struct omap_led_config {
struct led_classdev cdev;
s16 gpio;
};
struct omap_led_platform_data {
s16 nr_leds;
struct omap_led_config *leds;
};
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment