xref: /freebsd/sys/contrib/device-tree/Bindings/leds/leds-netxbig.txt (revision d4eeb02986980bf33dd56c41ceb9fc5f180c0d47)
1Binding for the CPLD LEDs (GPIO extension bus) found on some LaCie/Seagate
2boards (Example: 2Big/5Big Network v2, 2Big NAS).
3
4Required properties:
5- compatible: "lacie,netxbig-leds".
6- gpio-ext: Phandle for the gpio-ext bus.
7
8Optional properties:
9- timers: Timer array. Each timer entry is represented by three integers:
10  Mode (gpio-ext bus), delay_on and delay_off.
11
12Each LED is represented as a sub-node of the netxbig-leds device.
13
14Required 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
21Optional 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
25Example:
26
27netxbig-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};
93