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