Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame^] | 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 | }; |