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 */ 56