18c2ecf20Sopenharmony_ciDevice Tree Bindings for Register Bit LEDs
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRegister bit leds are used with syscon multifunctional devices
48c2ecf20Sopenharmony_ciwhere single bits in a certain register can turn on/off a
58c2ecf20Sopenharmony_cisingle LED. The register bit LEDs appear as children to the
68c2ecf20Sopenharmony_cisyscon device, with the proper compatible string. For the
78c2ecf20Sopenharmony_cisyscon bindings see:
88c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/mfd/syscon.yaml
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciEach LED is represented as a sub-node of the syscon device. Each
118c2ecf20Sopenharmony_cinode's name represents the name of the corresponding LED.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciLED sub-node properties:
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciRequired properties:
168c2ecf20Sopenharmony_ci- compatible : must be "register-bit-led"
178c2ecf20Sopenharmony_ci- offset : register offset to the register controlling this LED
188c2ecf20Sopenharmony_ci- mask : bit mask for the bit controlling this LED in the register
198c2ecf20Sopenharmony_ci  typically 0x01, 0x02, 0x04 ...
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciOptional properties:
228c2ecf20Sopenharmony_ci- label : (optional)
238c2ecf20Sopenharmony_ci  see Documentation/devicetree/bindings/leds/common.txt
248c2ecf20Sopenharmony_ci- linux,default-trigger : (optional)
258c2ecf20Sopenharmony_ci  see Documentation/devicetree/bindings/leds/common.txt
268c2ecf20Sopenharmony_ci- default-state: (optional) The initial state of the LED
278c2ecf20Sopenharmony_ci  see Documentation/devicetree/bindings/leds/common.txt
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciExample:
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_cisyscon: syscon@10000000 {
328c2ecf20Sopenharmony_ci	compatible = "arm,realview-pb1176-syscon", "syscon";
338c2ecf20Sopenharmony_ci	reg = <0x10000000 0x1000>;
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci	led@8.0 {
368c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
378c2ecf20Sopenharmony_ci		offset = <0x08>;
388c2ecf20Sopenharmony_ci		mask = <0x01>;
398c2ecf20Sopenharmony_ci		label = "versatile:0";
408c2ecf20Sopenharmony_ci		linux,default-trigger = "heartbeat";
418c2ecf20Sopenharmony_ci		default-state = "on";
428c2ecf20Sopenharmony_ci	};
438c2ecf20Sopenharmony_ci	led@8.1 {
448c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
458c2ecf20Sopenharmony_ci		offset = <0x08>;
468c2ecf20Sopenharmony_ci		mask = <0x02>;
478c2ecf20Sopenharmony_ci		label = "versatile:1";
488c2ecf20Sopenharmony_ci		linux,default-trigger = "mmc0";
498c2ecf20Sopenharmony_ci		default-state = "off";
508c2ecf20Sopenharmony_ci	};
518c2ecf20Sopenharmony_ci	led@8.2 {
528c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
538c2ecf20Sopenharmony_ci		offset = <0x08>;
548c2ecf20Sopenharmony_ci		mask = <0x04>;
558c2ecf20Sopenharmony_ci		label = "versatile:2";
568c2ecf20Sopenharmony_ci		linux,default-trigger = "cpu0";
578c2ecf20Sopenharmony_ci		default-state = "off";
588c2ecf20Sopenharmony_ci	};
598c2ecf20Sopenharmony_ci	led@8.3 {
608c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
618c2ecf20Sopenharmony_ci		offset = <0x08>;
628c2ecf20Sopenharmony_ci		mask = <0x08>;
638c2ecf20Sopenharmony_ci		label = "versatile:3";
648c2ecf20Sopenharmony_ci		default-state = "off";
658c2ecf20Sopenharmony_ci	};
668c2ecf20Sopenharmony_ci	led@8.4 {
678c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
688c2ecf20Sopenharmony_ci		offset = <0x08>;
698c2ecf20Sopenharmony_ci		mask = <0x10>;
708c2ecf20Sopenharmony_ci		label = "versatile:4";
718c2ecf20Sopenharmony_ci		default-state = "off";
728c2ecf20Sopenharmony_ci	};
738c2ecf20Sopenharmony_ci	led@8.5 {
748c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
758c2ecf20Sopenharmony_ci		offset = <0x08>;
768c2ecf20Sopenharmony_ci		mask = <0x20>;
778c2ecf20Sopenharmony_ci		label = "versatile:5";
788c2ecf20Sopenharmony_ci		default-state = "off";
798c2ecf20Sopenharmony_ci	};
808c2ecf20Sopenharmony_ci	led@8.6 {
818c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
828c2ecf20Sopenharmony_ci		offset = <0x08>;
838c2ecf20Sopenharmony_ci		mask = <0x40>;
848c2ecf20Sopenharmony_ci		label = "versatile:6";
858c2ecf20Sopenharmony_ci		default-state = "off";
868c2ecf20Sopenharmony_ci	};
878c2ecf20Sopenharmony_ci	led@8.7 {
888c2ecf20Sopenharmony_ci		compatible = "register-bit-led";
898c2ecf20Sopenharmony_ci		offset = <0x08>;
908c2ecf20Sopenharmony_ci		mask = <0x80>;
918c2ecf20Sopenharmony_ci		label = "versatile:7";
928c2ecf20Sopenharmony_ci		default-state = "off";
938c2ecf20Sopenharmony_ci	};
948c2ecf20Sopenharmony_ci};
95