Qualcomm PM8058 LED driver The Qualcomm PM8058 is a multi-functional device which contains an LED driver block for up to six LEDs: three normal LEDs, two "flash" LEDs and one "keypad backlight" LED. The names are quoted because sometimes these LED drivers are used for wildly different things than flash or keypad backlight: their names are more of a suggestion than a hard-wired usecase. Hardware-wise the different LEDs support slightly different output currents. The "flash" LEDs do not need to charge nor do they support external triggers. They are just powerful LED drivers. The LEDs appear as children to the PM8058 device, with the proper compatible string. For the PM8058 bindings see: mfd/qcom-pm8xxx.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: one of "qcom,pm8058-led" (for the normal LEDs at 0x131, 0x132 and 0x133) "qcom,pm8058-keypad-led" (for the "keypad" LED at 0x48) "qcom,pm8058-flash-led" (for the "flash" LEDs at 0x49 and 0xFB) Optional properties: - label: see Documentation/devicetree/bindings/leds/common.txt - default-state: see Documentation/devicetree/bindings/leds/common.txt - linux,default-trigger: see Documentation/devicetree/bindings/leds/common.txt Example: qcom,ssbi@500000 { pmicintc: pmic@0 { compatible = "qcom,pm8058"; led@48 { compatible = "qcom,pm8058-keypad-led"; reg = <0x48>; label = "pm8050:white:keypad"; default-state = "off"; }; led@131 { compatible = "qcom,pm8058-led"; reg = <0x131>; label = "pm8058:red"; default-state = "off"; }; led@132 { compatible = "qcom,pm8058-led"; reg = <0x132>; label = "pm8058:yellow"; default-state = "off"; linux,default-trigger = "mmc0"; }; led@133 { compatible = "qcom,pm8058-led"; reg = <0x133>; label = "pm8058:green"; default-state = "on"; linux,default-trigger = "heartbeat"; }; }; };