GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / leds / skyworks,aat1290.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/skyworks,aat1290.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Skyworks Solutions, Inc. AAT1290 Current Regulator for Flash LEDs
8
9 maintainers:
10   - Jacek Anaszewski <jacek.anaszewski@gmail.com>
11   - Krzysztof Kozlowski <krzk@kernel.org>
12
13 description: |
14   The device is controlled through two pins:: FL_EN and EN_SET. The pins when,
15   asserted high, enable flash strobe and movie mode (max 1/2 of flash current)
16   respectively. In order to add a capability of selecting the strobe signal
17   source (e.g. CPU or camera sensor) there is an additional switch required,
18   independent of the flash chip. The switch is controlled with pin control.
19
20 properties:
21   compatible:
22     const: skyworks,aat1290
23
24   enset-gpios:
25     maxItems: 1
26     description: EN_SET pin
27
28   flen-gpios:
29     maxItems: 1
30     description: FL_EN pin
31
32   led:
33     $ref: common.yaml#
34     unevaluatedProperties: false
35
36     properties:
37       led-max-microamp: true
38
39       flash-max-microamp:
40         description: |
41           Maximum flash LED supply current can be calculated using following
42           formula:: I = 1A * 162 kOhm / Rset.
43
44       flash-max-timeout-us:
45         description: |
46           Maximum flash timeout can be calculated using following formula::
47             T = 8.82 * 10^9 * Ct.
48
49     required:
50       - flash-max-microamp
51       - flash-max-timeout-us
52       - led-max-microamp
53
54   pinctrl-names:
55     items:
56       - const: default
57       - const: host
58       - const: isp
59
60   pinctrl-0: true
61   pinctrl-1: true
62   pinctrl-2: true
63
64 required:
65   - compatible
66   - enset-gpios
67   - flen-gpios
68   - led
69
70 additionalProperties: false
71
72 examples:
73   - |
74     #include <dt-bindings/gpio/gpio.h>
75     #include <dt-bindings/leds/common.h>
76
77     // Ct = 220 nF, Rset = 160 kOhm
78     led-controller {
79         compatible = "skyworks,aat1290";
80         flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
81         enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
82
83         pinctrl-names = "default", "host", "isp";
84         pinctrl-0 = <&camera_flash_host>;
85         pinctrl-1 = <&camera_flash_host>;
86         pinctrl-2 = <&camera_flash_isp>;
87
88         led {
89             function = LED_FUNCTION_FLASH;
90             color = <LED_COLOR_ID_WHITE>;
91             led-max-microamp = <520833>;
92             flash-max-microamp = <1012500>;
93             flash-max-timeout-us = <1940000>;
94         };
95     };