mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 19:45:08 +07:00
2976b17989
This patch adds device tree support for the netxbig LEDs. This also introduces a additionnal DT binding for the GPIO extension bus (netxbig-gpio-ext) used to configure the LEDs. Since this bus could also be used to control other devices, then it seems more suitable to have it in a separate DT binding. Signed-off-by: Simon Guinot <simon.guinot@sequanux.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
55 lines
1.1 KiB
C
55 lines
1.1 KiB
C
/*
|
|
* Platform data structure for netxbig LED driver
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public
|
|
* License version 2. This program is licensed "as is" without any
|
|
* warranty of any kind, whether express or implied.
|
|
*/
|
|
|
|
#ifndef __LEDS_KIRKWOOD_NETXBIG_H
|
|
#define __LEDS_KIRKWOOD_NETXBIG_H
|
|
|
|
struct netxbig_gpio_ext {
|
|
unsigned *addr;
|
|
int num_addr;
|
|
unsigned *data;
|
|
int num_data;
|
|
unsigned enable;
|
|
};
|
|
|
|
enum netxbig_led_mode {
|
|
NETXBIG_LED_OFF,
|
|
NETXBIG_LED_ON,
|
|
NETXBIG_LED_SATA,
|
|
NETXBIG_LED_TIMER1,
|
|
NETXBIG_LED_TIMER2,
|
|
NETXBIG_LED_MODE_NUM,
|
|
};
|
|
|
|
#define NETXBIG_LED_INVALID_MODE NETXBIG_LED_MODE_NUM
|
|
|
|
struct netxbig_led_timer {
|
|
unsigned long delay_on;
|
|
unsigned long delay_off;
|
|
enum netxbig_led_mode mode;
|
|
};
|
|
|
|
struct netxbig_led {
|
|
const char *name;
|
|
const char *default_trigger;
|
|
int mode_addr;
|
|
int *mode_val;
|
|
int bright_addr;
|
|
int bright_max;
|
|
};
|
|
|
|
struct netxbig_led_platform_data {
|
|
struct netxbig_gpio_ext *gpio_ext;
|
|
struct netxbig_led_timer *timer;
|
|
int num_timer;
|
|
struct netxbig_led *leds;
|
|
int num_leds;
|
|
};
|
|
|
|
#endif /* __LEDS_KIRKWOOD_NETXBIG_H */
|