GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / leds / leds-netxbig.txt
1 Binding for the CPLD LEDs (GPIO extension bus) found on some LaCie/Seagate
2 boards (Example: 2Big/5Big Network v2, 2Big NAS).
3
4 Required properties:
5 - compatible: "lacie,netxbig-leds".
6 - gpio-ext: Phandle for the gpio-ext bus.
7
8 Optional properties:
9 - timers: Timer array. Each timer entry is represented by three integers:
10   Mode (gpio-ext bus), delay_on and delay_off.
11
12 Each LED is represented as a sub-node of the netxbig-leds device.
13
14 Required sub-node properties:
15 - mode-addr: Mode register address on gpio-ext bus.
16 - mode-val: Mode to value mapping. Each entry is represented by two integers:
17   A mode and the corresponding value on the gpio-ext bus.
18 - bright-addr: Brightness register address on gpio-ext bus.
19 - max-brightness: Maximum brightness value.
20
21 Optional sub-node properties:
22 - label: Name for this LED. If omitted, the label is taken from the node name.
23 - linux,default-trigger: Trigger assigned to the LED.
24
25 Example:
26
27 netxbig-leds {
28         compatible = "lacie,netxbig-leds";
29
30         gpio-ext = &gpio_ext;
31
32         timers = <NETXBIG_LED_TIMER1 500 500
33                   NETXBIG_LED_TIMER2 500 1000>;
34
35         blue-power {
36                 label = "netxbig:blue:power";
37                 mode-addr = <0>;
38                 mode-val = <NETXBIG_LED_OFF 0
39                             NETXBIG_LED_ON 1
40                             NETXBIG_LED_TIMER1 3
41                             NETXBIG_LED_TIMER2 7>;
42                 bright-addr = <1>;
43                 max-brightness = <7>;
44         };
45         red-power {
46                 label = "netxbig:red:power";
47                 mode-addr = <0>;
48                 mode-val = <NETXBIG_LED_OFF 0
49                             NETXBIG_LED_ON 2
50                             NETXBIG_LED_TIMER1 4>;
51                 bright-addr = <1>;
52                 max-brightness = <7>;
53         };
54         blue-sata0 {
55                 label = "netxbig:blue:sata0";
56                 mode-addr = <3>;
57                 mode-val = <NETXBIG_LED_OFF 0
58                             NETXBIG_LED_ON 7
59                             NETXBIG_LED_SATA 1
60                             NETXBIG_LED_TIMER1 3>;
61                 bright-addr = <2>;
62                 max-brightness = <7>;
63         };
64         red-sata0 {
65                 label = "netxbig:red:sata0";
66                 mode-addr = <3>;
67                 mode-val = <NETXBIG_LED_OFF 0
68                             NETXBIG_LED_ON 2
69                             NETXBIG_LED_TIMER1 4>;
70                 bright-addr = <2>;
71                 max-brightness = <7>;
72         };
73         blue-sata1 {
74                 label = "netxbig:blue:sata1";
75                 mode-addr = <4>;
76                 mode-val = <NETXBIG_LED_OFF 0
77                             NETXBIG_LED_ON 7
78                             NETXBIG_LED_SATA 1
79                             NETXBIG_LED_TIMER1 3>;
80                 bright-addr = <2>;
81                 max-brightness = <7>;
82         };
83         red-sata1 {
84                 label = "netxbig:red:sata1";
85                 mode-addr = <4>;
86                 mode-val = <NETXBIG_LED_OFF 0
87                             NETXBIG_LED_ON 2
88                             NETXBIG_LED_TIMER1 4>;
89                 bright-addr = <2>;
90                 max-brightness = <7>;
91         };
92 };