xref: /openbmc/linux/Documentation/devicetree/bindings/leds/qcom,spmi-flash-led.yaml (revision 1aeff621689120db60cb7029e5a0fde7d01f7fb6)
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