1*1aeff621SFenglin Wu# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*1aeff621SFenglin Wu%YAML 1.2 3*1aeff621SFenglin Wu--- 4*1aeff621SFenglin Wu$id: http://devicetree.org/schemas/leds/qcom,spmi-flash-led.yaml# 5*1aeff621SFenglin Wu$schema: http://devicetree.org/meta-schemas/core.yaml# 6*1aeff621SFenglin Wu 7*1aeff621SFenglin Wutitle: Flash LED device inside Qualcomm Technologies, Inc. PMICs 8*1aeff621SFenglin Wu 9*1aeff621SFenglin Wumaintainers: 10*1aeff621SFenglin Wu - Fenglin Wu <quic_fenglinw@quicinc.com> 11*1aeff621SFenglin Wu 12*1aeff621SFenglin Wudescription: | 13*1aeff621SFenglin Wu Flash LED controller is present inside some Qualcomm Technologies, Inc. PMICs. 14*1aeff621SFenglin Wu The flash LED module can have different number of LED channels supported 15*1aeff621SFenglin Wu e.g. 3 or 4. There are some different registers between them but they can 16*1aeff621SFenglin Wu both support maximum current up to 1.5 A per channel and they can also support 17*1aeff621SFenglin Wu ganging 2 channels together to supply maximum current up to 2 A. The current 18*1aeff621SFenglin Wu will be split symmetrically on each channel and they will be enabled and 19*1aeff621SFenglin Wu disabled at the same time. 20*1aeff621SFenglin Wu 21*1aeff621SFenglin Wuproperties: 22*1aeff621SFenglin Wu compatible: 23*1aeff621SFenglin Wu items: 24*1aeff621SFenglin Wu - enum: 25*1aeff621SFenglin Wu - qcom,pm8150c-flash-led 26*1aeff621SFenglin Wu - qcom,pm8150l-flash-led 27*1aeff621SFenglin Wu - qcom,pm8350c-flash-led 28*1aeff621SFenglin Wu - const: qcom,spmi-flash-led 29*1aeff621SFenglin Wu 30*1aeff621SFenglin Wu reg: 31*1aeff621SFenglin Wu maxItems: 1 32*1aeff621SFenglin Wu 33*1aeff621SFenglin WupatternProperties: 34*1aeff621SFenglin Wu "^led-[0-3]$": 35*1aeff621SFenglin Wu type: object 36*1aeff621SFenglin Wu $ref: common.yaml# 37*1aeff621SFenglin Wu unevaluatedProperties: false 38*1aeff621SFenglin Wu description: 39*1aeff621SFenglin Wu Represents the physical LED components which are connected to the 40*1aeff621SFenglin Wu flash LED channels' output. 41*1aeff621SFenglin Wu 42*1aeff621SFenglin Wu properties: 43*1aeff621SFenglin Wu led-sources: 44*1aeff621SFenglin Wu description: 45*1aeff621SFenglin Wu The HW indices of the flash LED channels that connect to the 46*1aeff621SFenglin Wu physical LED 47*1aeff621SFenglin Wu allOf: 48*1aeff621SFenglin Wu - minItems: 1 49*1aeff621SFenglin Wu maxItems: 2 50*1aeff621SFenglin Wu items: 51*1aeff621SFenglin Wu enum: [1, 2, 3, 4] 52*1aeff621SFenglin Wu 53*1aeff621SFenglin Wu led-max-microamp: 54*1aeff621SFenglin Wu anyOf: 55*1aeff621SFenglin Wu - minimum: 5000 56*1aeff621SFenglin Wu maximum: 500000 57*1aeff621SFenglin Wu multipleOf: 5000 58*1aeff621SFenglin Wu - minimum: 10000 59*1aeff621SFenglin Wu maximum: 1000000 60*1aeff621SFenglin Wu multipleOf: 10000 61*1aeff621SFenglin Wu 62*1aeff621SFenglin Wu flash-max-microamp: 63*1aeff621SFenglin Wu anyOf: 64*1aeff621SFenglin Wu - minimum: 12500 65*1aeff621SFenglin Wu maximum: 1500000 66*1aeff621SFenglin Wu multipleOf: 12500 67*1aeff621SFenglin Wu - minimum: 25000 68*1aeff621SFenglin Wu maximum: 2000000 69*1aeff621SFenglin Wu multipleOf: 25000 70*1aeff621SFenglin Wu 71*1aeff621SFenglin Wu flash-max-timeout-us: 72*1aeff621SFenglin Wu minimum: 10000 73*1aeff621SFenglin Wu maximum: 1280000 74*1aeff621SFenglin Wu multipleOf: 10000 75*1aeff621SFenglin Wu 76*1aeff621SFenglin Wu required: 77*1aeff621SFenglin Wu - led-sources 78*1aeff621SFenglin Wu - led-max-microamp 79*1aeff621SFenglin Wu 80*1aeff621SFenglin Wurequired: 81*1aeff621SFenglin Wu - compatible 82*1aeff621SFenglin Wu - reg 83*1aeff621SFenglin Wu 84*1aeff621SFenglin WuadditionalProperties: false 85*1aeff621SFenglin Wu 86*1aeff621SFenglin Wuexamples: 87*1aeff621SFenglin Wu - | 88*1aeff621SFenglin Wu #include <dt-bindings/leds/common.h> 89*1aeff621SFenglin Wu spmi { 90*1aeff621SFenglin Wu #address-cells = <1>; 91*1aeff621SFenglin Wu #size-cells = <0>; 92*1aeff621SFenglin Wu led-controller@ee00 { 93*1aeff621SFenglin Wu compatible = "qcom,pm8350c-flash-led", "qcom,spmi-flash-led"; 94*1aeff621SFenglin Wu reg = <0xee00>; 95*1aeff621SFenglin Wu 96*1aeff621SFenglin Wu led-0 { 97*1aeff621SFenglin Wu function = LED_FUNCTION_FLASH; 98*1aeff621SFenglin Wu color = <LED_COLOR_ID_WHITE>; 99*1aeff621SFenglin Wu led-sources = <1>, <4>; 100*1aeff621SFenglin Wu led-max-microamp = <300000>; 101*1aeff621SFenglin Wu flash-max-microamp = <2000000>; 102*1aeff621SFenglin Wu flash-max-timeout-us = <1280000>; 103*1aeff621SFenglin Wu function-enumerator = <0>; 104*1aeff621SFenglin Wu }; 105*1aeff621SFenglin Wu 106*1aeff621SFenglin Wu led-1 { 107*1aeff621SFenglin Wu function = LED_FUNCTION_FLASH; 108*1aeff621SFenglin Wu color = <LED_COLOR_ID_YELLOW>; 109*1aeff621SFenglin Wu led-sources = <2>, <3>; 110*1aeff621SFenglin Wu led-max-microamp = <300000>; 111*1aeff621SFenglin Wu flash-max-microamp = <2000000>; 112*1aeff621SFenglin Wu flash-max-timeout-us = <1280000>; 113*1aeff621SFenglin Wu function-enumerator = <1>; 114*1aeff621SFenglin Wu }; 115*1aeff621SFenglin Wu }; 116*1aeff621SFenglin Wu }; 117