]>
Commit | Line | Data |
---|---|---|
53633a89 TR |
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> | |
93743d24 TR |
92 | |
93 | pmic { | |
53633a89 TR |
94 | #address-cells = <1>; |
95 | #size-cells = <0>; | |
93743d24 | 96 | |
53633a89 TR |
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 | }; |