-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
leds: add LED driver for Big Network series LEDs
This patch add a LED class driver for LEDs found on the LaCie 2Big and 5Big Network v2 boards. The LEDs are wired to a CPLD and are controlled through a GPIO extension bus. Signed-off-by: Simon Guinot <sguinot@lacie.com> Signed-off-by: Nicolas Pitre <nico@fluxnic.net>
- Loading branch information
Simon Guinot
authored and
Nicolas Pitre
committed
Oct 7, 2010
1 parent
e5971bb
commit 2446783
Showing
4 changed files
with
514 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
/* | ||
* arch/arm/mach-kirkwood/include/mach/leds-netxbig.h | ||
* | ||
* Platform data structure for netxbig LED driver | ||
* | ||
* This file is licensed under the terms of the GNU General Public | ||
* License version 2. This program is licensed "as is" without any | ||
* warranty of any kind, whether express or implied. | ||
*/ | ||
|
||
#ifndef __MACH_LEDS_NETXBIG_H | ||
#define __MACH_LEDS_NETXBIG_H | ||
|
||
struct netxbig_gpio_ext { | ||
unsigned *addr; | ||
int num_addr; | ||
unsigned *data; | ||
int num_data; | ||
unsigned enable; | ||
}; | ||
|
||
enum netxbig_led_mode { | ||
NETXBIG_LED_OFF, | ||
NETXBIG_LED_ON, | ||
NETXBIG_LED_SATA, | ||
NETXBIG_LED_TIMER1, | ||
NETXBIG_LED_TIMER2, | ||
NETXBIG_LED_MODE_NUM, | ||
}; | ||
|
||
#define NETXBIG_LED_INVALID_MODE NETXBIG_LED_MODE_NUM | ||
|
||
struct netxbig_led_timer { | ||
unsigned long delay_on; | ||
unsigned long delay_off; | ||
enum netxbig_led_mode mode; | ||
}; | ||
|
||
struct netxbig_led { | ||
const char *name; | ||
const char *default_trigger; | ||
int mode_addr; | ||
int *mode_val; | ||
int bright_addr; | ||
}; | ||
|
||
struct netxbig_led_platform_data { | ||
struct netxbig_gpio_ext *gpio_ext; | ||
struct netxbig_led_timer *timer; | ||
int num_timer; | ||
struct netxbig_led *leds; | ||
int num_leds; | ||
}; | ||
|
||
#endif /* __MACH_LEDS_NETXBIG_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.