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