Commit | Line | Data |
---|---|---|
24467832 SG |
1 | /* |
2 | * arch/arm/mach-kirkwood/include/mach/leds-netxbig.h | |
3 | * | |
4 | * Platform data structure for netxbig LED driver | |
5 | * | |
6 | * This file is licensed under the terms of the GNU General Public | |
7 | * License version 2. This program is licensed "as is" without any | |
8 | * warranty of any kind, whether express or implied. | |
9 | */ | |
10 | ||
11 | #ifndef __MACH_LEDS_NETXBIG_H | |
12 | #define __MACH_LEDS_NETXBIG_H | |
13 | ||
14 | struct netxbig_gpio_ext { | |
15 | unsigned *addr; | |
16 | int num_addr; | |
17 | unsigned *data; | |
18 | int num_data; | |
19 | unsigned enable; | |
20 | }; | |
21 | ||
22 | enum netxbig_led_mode { | |
23 | NETXBIG_LED_OFF, | |
24 | NETXBIG_LED_ON, | |
25 | NETXBIG_LED_SATA, | |
26 | NETXBIG_LED_TIMER1, | |
27 | NETXBIG_LED_TIMER2, | |
28 | NETXBIG_LED_MODE_NUM, | |
29 | }; | |
30 | ||
31 | #define NETXBIG_LED_INVALID_MODE NETXBIG_LED_MODE_NUM | |
32 | ||
33 | struct netxbig_led_timer { | |
34 | unsigned long delay_on; | |
35 | unsigned long delay_off; | |
36 | enum netxbig_led_mode mode; | |
37 | }; | |
38 | ||
39 | struct netxbig_led { | |
40 | const char *name; | |
41 | const char *default_trigger; | |
42 | int mode_addr; | |
43 | int *mode_val; | |
44 | int bright_addr; | |
45 | }; | |
46 | ||
47 | struct netxbig_led_platform_data { | |
48 | struct netxbig_gpio_ext *gpio_ext; | |
49 | struct netxbig_led_timer *timer; | |
50 | int num_timer; | |
51 | struct netxbig_led *leds; | |
52 | int num_leds; | |
53 | }; | |
54 | ||
55 | #endif /* __MACH_LEDS_NETXBIG_H */ |