Simon Guinot | 2446783 | 2010-10-07 16:38:49 +0200 | [diff] [blame] | 1 | /* |
Simon Guinot | 2446783 | 2010-10-07 16:38:49 +0200 | [diff] [blame] | 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 | |
Sachin Kamat | 00d1955 | 2014-01-02 01:58:45 -0800 | [diff] [blame] | 9 | #ifndef __LEDS_KIRKWOOD_NETXBIG_H |
| 10 | #define __LEDS_KIRKWOOD_NETXBIG_H |
Simon Guinot | 2446783 | 2010-10-07 16:38:49 +0200 | [diff] [blame] | 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; |
| 43 | }; |
| 44 | |
| 45 | struct netxbig_led_platform_data { |
| 46 | struct netxbig_gpio_ext *gpio_ext; |
| 47 | struct netxbig_led_timer *timer; |
| 48 | int num_timer; |
| 49 | struct netxbig_led *leds; |
| 50 | int num_leds; |
| 51 | }; |
| 52 | |
Sachin Kamat | 00d1955 | 2014-01-02 01:58:45 -0800 | [diff] [blame] | 53 | #endif /* __LEDS_KIRKWOOD_NETXBIG_H */ |