18c2ecf20Sopenharmony_ciQualcomm PM8058 LED driver 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciThe Qualcomm PM8058 is a multi-functional device which contains 48c2ecf20Sopenharmony_cian LED driver block for up to six LEDs: three normal LEDs, two 58c2ecf20Sopenharmony_ci"flash" LEDs and one "keypad backlight" LED. The names are 68c2ecf20Sopenharmony_ciquoted because sometimes these LED drivers are used for wildly 78c2ecf20Sopenharmony_cidifferent things than flash or keypad backlight: their names 88c2ecf20Sopenharmony_ciare more of a suggestion than a hard-wired usecase. 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciHardware-wise the different LEDs support slightly different 118c2ecf20Sopenharmony_cioutput currents. The "flash" LEDs do not need to charge nor 128c2ecf20Sopenharmony_cido they support external triggers. They are just powerful LED 138c2ecf20Sopenharmony_cidrivers. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciThe LEDs appear as children to the PM8058 device, with the 168c2ecf20Sopenharmony_ciproper compatible string. For the PM8058 bindings see: 178c2ecf20Sopenharmony_cimfd/qcom-pm8xxx.txt. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciEach LED is represented as a sub-node of the syscon device. Each 208c2ecf20Sopenharmony_cinode's name represents the name of the corresponding LED. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciLED sub-node properties: 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciRequired properties: 258c2ecf20Sopenharmony_ci- compatible: one of 268c2ecf20Sopenharmony_ci "qcom,pm8058-led" (for the normal LEDs at 0x131, 0x132 and 0x133) 278c2ecf20Sopenharmony_ci "qcom,pm8058-keypad-led" (for the "keypad" LED at 0x48) 288c2ecf20Sopenharmony_ci "qcom,pm8058-flash-led" (for the "flash" LEDs at 0x49 and 0xFB) 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciOptional properties: 318c2ecf20Sopenharmony_ci- label: see Documentation/devicetree/bindings/leds/common.txt 328c2ecf20Sopenharmony_ci- default-state: see Documentation/devicetree/bindings/leds/common.txt 338c2ecf20Sopenharmony_ci- linux,default-trigger: see Documentation/devicetree/bindings/leds/common.txt 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciExample: 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciqcom,ssbi@500000 { 388c2ecf20Sopenharmony_ci pmicintc: pmic@0 { 398c2ecf20Sopenharmony_ci compatible = "qcom,pm8058"; 408c2ecf20Sopenharmony_ci led@48 { 418c2ecf20Sopenharmony_ci compatible = "qcom,pm8058-keypad-led"; 428c2ecf20Sopenharmony_ci reg = <0x48>; 438c2ecf20Sopenharmony_ci label = "pm8050:white:keypad"; 448c2ecf20Sopenharmony_ci default-state = "off"; 458c2ecf20Sopenharmony_ci }; 468c2ecf20Sopenharmony_ci led@131 { 478c2ecf20Sopenharmony_ci compatible = "qcom,pm8058-led"; 488c2ecf20Sopenharmony_ci reg = <0x131>; 498c2ecf20Sopenharmony_ci label = "pm8058:red"; 508c2ecf20Sopenharmony_ci default-state = "off"; 518c2ecf20Sopenharmony_ci }; 528c2ecf20Sopenharmony_ci led@132 { 538c2ecf20Sopenharmony_ci compatible = "qcom,pm8058-led"; 548c2ecf20Sopenharmony_ci reg = <0x132>; 558c2ecf20Sopenharmony_ci label = "pm8058:yellow"; 568c2ecf20Sopenharmony_ci default-state = "off"; 578c2ecf20Sopenharmony_ci linux,default-trigger = "mmc0"; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci led@133 { 608c2ecf20Sopenharmony_ci compatible = "qcom,pm8058-led"; 618c2ecf20Sopenharmony_ci reg = <0x133>; 628c2ecf20Sopenharmony_ci label = "pm8058:green"; 638c2ecf20Sopenharmony_ci default-state = "on"; 648c2ecf20Sopenharmony_ci linux,default-trigger = "heartbeat"; 658c2ecf20Sopenharmony_ci }; 668c2ecf20Sopenharmony_ci }; 678c2ecf20Sopenharmony_ci}; 68