1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * leds-lp3944.h - platform data structure for lp3944 led controller
4 *
5 * Copyright (C) 2009 Antonio Ospite <ospite@studenti.unina.it>
6 */
7
8#ifndef __LINUX_LEDS_LP3944_H
9#define __LINUX_LEDS_LP3944_H
10
11#define LP3944_LED0 0
12#define LP3944_LED1 1
13#define LP3944_LED2 2
14#define LP3944_LED3 3
15#define LP3944_LED4 4
16#define LP3944_LED5 5
17#define LP3944_LED6 6
18#define LP3944_LED7 7
19#define LP3944_LEDS_MAX 8
20
21#define LP3944_LED_STATUS_MASK	0x03
22enum lp3944_status {
23	LP3944_LED_STATUS_OFF  = 0x0,
24	LP3944_LED_STATUS_ON   = 0x1,
25	LP3944_LED_STATUS_DIM0 = 0x2,
26	LP3944_LED_STATUS_DIM1 = 0x3
27};
28
29enum lp3944_type {
30	LP3944_LED_TYPE_NONE,
31	LP3944_LED_TYPE_LED,
32	LP3944_LED_TYPE_LED_INVERTED,
33};
34
35struct lp3944_led {
36	char *name;
37	enum lp3944_type type;
38	enum lp3944_status status;
39};
40
41struct lp3944_platform_data {
42	struct lp3944_led leds[LP3944_LEDS_MAX];
43	u8 leds_size;
44};
45
46#endif /* __LINUX_LEDS_LP3944_H */
47