1/* 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 9#ifndef __LEDS_KIRKWOOD_NETXBIG_H 10#define __LEDS_KIRKWOOD_NETXBIG_H 11 12struct netxbig_gpio_ext { 13 unsigned *addr; 14 int num_addr; 15 unsigned *data; 16 int num_data; 17 unsigned enable; 18}; 19 20enum 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 31struct netxbig_led_timer { 32 unsigned long delay_on; 33 unsigned long delay_off; 34 enum netxbig_led_mode mode; 35}; 36 37struct 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 45struct 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 53#endif /* __LEDS_KIRKWOOD_NETXBIG_H */ 54