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