blob: d2be19a51acde32102710cdf0db536fe4d364f01 [file] [log] [blame]
Simon Guinot24467832010-10-07 16:38:49 +02001/*
Simon Guinot24467832010-10-07 16:38:49 +02002 * 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 Kamat00d19552014-01-02 01:58:45 -08009#ifndef __LEDS_KIRKWOOD_NETXBIG_H
10#define __LEDS_KIRKWOOD_NETXBIG_H
Simon Guinot24467832010-10-07 16:38:49 +020011
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
Sachin Kamat00d19552014-01-02 01:58:45 -080053#endif /* __LEDS_KIRKWOOD_NETXBIG_H */