| Device Tree Bindings for Register Bit LEDs | |
| Register bit leds are used with syscon multifunctional devices | |
| where single bits in a certain register can turn on/off a | |
| single LED. The register bit LEDs appear as children to the | |
| syscon device, with the proper compatible string. For the | |
| syscon bindings see: | |
| Documentation/devicetree/bindings/mfd/syscon.txt | |
| Each LED is represented as a sub-node of the syscon device. Each | |
| node's name represents the name of the corresponding LED. | |
| LED sub-node properties: | |
| Required properties: | |
| - compatible : must be "register-bit-led" | |
| - offset : register offset to the register controlling this LED | |
| - mask : bit mask for the bit controlling this LED in the register | |
| typically 0x01, 0x02, 0x04 ... | |
| Optional properties: | |
| - label : (optional) | |
| see Documentation/devicetree/bindings/leds/common.txt | |
| - linux,default-trigger : (optional) | |
| see Documentation/devicetree/bindings/leds/common.txt | |
| - default-state: (optional) The initial state of the LED | |
| see Documentation/devicetree/bindings/leds/common.txt | |
| Example: | |
| syscon: syscon@10000000 { | |
| compatible = "arm,realview-pb1176-syscon", "syscon"; | |
| reg = <0x10000000 0x1000>; | |
| led@08.0 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x01>; | |
| label = "versatile:0"; | |
| linux,default-trigger = "heartbeat"; | |
| default-state = "on"; | |
| }; | |
| led@08.1 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x02>; | |
| label = "versatile:1"; | |
| linux,default-trigger = "mmc0"; | |
| default-state = "off"; | |
| }; | |
| led@08.2 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x04>; | |
| label = "versatile:2"; | |
| linux,default-trigger = "cpu0"; | |
| default-state = "off"; | |
| }; | |
| led@08.3 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x08>; | |
| label = "versatile:3"; | |
| default-state = "off"; | |
| }; | |
| led@08.4 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x10>; | |
| label = "versatile:4"; | |
| default-state = "off"; | |
| }; | |
| led@08.5 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x20>; | |
| label = "versatile:5"; | |
| default-state = "off"; | |
| }; | |
| led@08.6 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x40>; | |
| label = "versatile:6"; | |
| default-state = "off"; | |
| }; | |
| led@08.7 { | |
| compatible = "register-bit-led"; | |
| offset = <0x08>; | |
| mask = <0x80>; | |
| label = "versatile:7"; | |
| default-state = "off"; | |
| }; | |
| }; |