1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * This header provides macros for the common LEDs device tree bindings.
4 *
5 * Copyright (C) 2015, Samsung Electronics Co., Ltd.
6 * Author: Jacek Anaszewski <j.anaszewski@samsung.com>
7 *
8 * Copyright (C) 2019 Jacek Anaszewski <jacek.anaszewski@gmail.com>
9 * Copyright (C) 2020 Pavel Machek <pavel@ucw.cz>
10 */
11
12#ifndef __DT_BINDINGS_LEDS_H
13#define __DT_BINDINGS_LEDS_H
14
15/* External trigger type */
16#define LEDS_TRIG_TYPE_EDGE	0
17#define LEDS_TRIG_TYPE_LEVEL	1
18
19/* Boost modes */
20#define LEDS_BOOST_OFF		0
21#define LEDS_BOOST_ADAPTIVE	1
22#define LEDS_BOOST_FIXED	2
23
24/* Standard LED colors */
25#define LED_COLOR_ID_WHITE	0
26#define LED_COLOR_ID_RED	1
27#define LED_COLOR_ID_GREEN	2
28#define LED_COLOR_ID_BLUE	3
29#define LED_COLOR_ID_AMBER	4
30#define LED_COLOR_ID_VIOLET	5
31#define LED_COLOR_ID_YELLOW	6
32#define LED_COLOR_ID_IR		7
33#define LED_COLOR_ID_MULTI	8	/* For multicolor LEDs */
34#define LED_COLOR_ID_RGB	9	/* For multicolor LEDs that can do arbitrary color,
35					   so this would include RGBW and similar */
36#define LED_COLOR_ID_PURPLE	10
37#define LED_COLOR_ID_ORANGE	11
38#define LED_COLOR_ID_PINK	12
39#define LED_COLOR_ID_CYAN	13
40#define LED_COLOR_ID_LIME	14
41#define LED_COLOR_ID_MAX	15
42
43/* Standard LED functions */
44/* Keyboard LEDs, usually it would be input4::capslock etc. */
45/*   Obsolete equivalent: "shift-key-light" */
46#define LED_FUNCTION_CAPSLOCK "capslock"
47#define LED_FUNCTION_SCROLLLOCK "scrolllock"
48#define LED_FUNCTION_NUMLOCK "numlock"
49#define LED_FUNCTION_FNLOCK "fnlock"
50/*   Obsolete equivalents: "tpacpi::thinklight" (IBM/Lenovo Thinkpads),
51     "lp5523:kb{1,2,3,4,5,6}" (Nokia N900) */
52#define LED_FUNCTION_KBD_BACKLIGHT "kbd_backlight"
53
54/* System LEDs, usually found on system body.
55   platform::mute (etc) is sometimes seen, :mute would be better */
56#define LED_FUNCTION_POWER "power"
57#define LED_FUNCTION_DISK "disk"
58
59/*   Obsolete: "platform:*:charging" (allwinner sun50i) */
60#define LED_FUNCTION_CHARGING "charging"
61/*   Used RGB notification LEDs common on phones.
62     Obsolete equivalents: "status-led:{red,green,blue}" (Motorola Droid 4),
63     "lp5523:{r,g,b}" (Nokia N900) */
64#define LED_FUNCTION_STATUS "status"
65
66#define LED_FUNCTION_MICMUTE "micmute"
67#define LED_FUNCTION_MUTE "mute"
68
69/* Used for player LEDs as found on game controllers from e.g. Nintendo, Sony. */
70#define LED_FUNCTION_PLAYER1 "player-1"
71#define LED_FUNCTION_PLAYER2 "player-2"
72#define LED_FUNCTION_PLAYER3 "player-3"
73#define LED_FUNCTION_PLAYER4 "player-4"
74#define LED_FUNCTION_PLAYER5 "player-5"
75
76/* Miscelleaus functions. Use functions above if you can. */
77#define LED_FUNCTION_ACTIVITY "activity"
78#define LED_FUNCTION_ALARM "alarm"
79#define LED_FUNCTION_BACKLIGHT "backlight"
80#define LED_FUNCTION_BLUETOOTH "bluetooth"
81#define LED_FUNCTION_BOOT "boot"
82#define LED_FUNCTION_CPU "cpu"
83#define LED_FUNCTION_DEBUG "debug"
84#define LED_FUNCTION_DISK_ACTIVITY "disk-activity"
85#define LED_FUNCTION_DISK_ERR "disk-err"
86#define LED_FUNCTION_DISK_READ "disk-read"
87#define LED_FUNCTION_DISK_WRITE "disk-write"
88#define LED_FUNCTION_FAULT "fault"
89#define LED_FUNCTION_FLASH "flash"
90#define LED_FUNCTION_HEARTBEAT "heartbeat"
91#define LED_FUNCTION_INDICATOR "indicator"
92#define LED_FUNCTION_LAN "lan"
93#define LED_FUNCTION_MAIL "mail"
94#define LED_FUNCTION_MTD "mtd"
95#define LED_FUNCTION_PANIC "panic"
96#define LED_FUNCTION_PROGRAMMING "programming"
97#define LED_FUNCTION_RX "rx"
98#define LED_FUNCTION_SD "sd"
99#define LED_FUNCTION_STANDBY "standby"
100#define LED_FUNCTION_TORCH "torch"
101#define LED_FUNCTION_TX "tx"
102#define LED_FUNCTION_USB "usb"
103#define LED_FUNCTION_WAN "wan"
104#define LED_FUNCTION_WAN_ONLINE "wan-online"
105#define LED_FUNCTION_WLAN "wlan"
106#define LED_FUNCTION_WLAN_2GHZ "wlan-2ghz"
107#define LED_FUNCTION_WLAN_5GHZ "wlan-5ghz"
108#define LED_FUNCTION_WLAN_6GHZ "wlan-6ghz"
109#define LED_FUNCTION_WPS "wps"
110
111#endif /* __DT_BINDINGS_LEDS_H */
112