GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / leds / leds-aat1290.txt
1 * Skyworks Solutions, Inc. AAT1290 Current Regulator for Flash LEDs
2
3 The device is controlled through two pins: FL_EN and EN_SET. The pins when,
4 asserted high, enable flash strobe and movie mode (max 1/2 of flash current)
5 respectively. In order to add a capability of selecting the strobe signal source
6 (e.g. CPU or camera sensor) there is an additional switch required, independent
7 of the flash chip. The switch is controlled with pin control.
8
9 Required properties:
10
11 - compatible : Must be "skyworks,aat1290".
12 - flen-gpios : Must be device tree identifier of the flash device FL_EN pin.
13 - enset-gpios : Must be device tree identifier of the flash device EN_SET pin.
14
15 Optional properties:
16 - pinctrl-names : Must contain entries: "default", "host", "isp". Entries
17                 "default" and "host" must refer to the same pin configuration
18                 node, which sets the host as a strobe signal provider. Entry
19                 "isp" must refer to the pin configuration node, which sets the
20                 ISP as a strobe signal provider.
21
22 A discrete LED element connected to the device must be represented by a child
23 node - see Documentation/devicetree/bindings/leds/common.txt.
24
25 Required properties of the LED child node:
26 - led-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
27 - flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
28                        Maximum flash LED supply current can be calculated using
29                        following formula: I = 1A * 162kohm / Rset.
30 - flash-max-timeout-us : see Documentation/devicetree/bindings/leds/common.txt
31                          Maximum flash timeout can be calculated using following
32                          formula: T = 8.82 * 10^9 * Ct.
33
34 Optional properties of the LED child node:
35 - label : see Documentation/devicetree/bindings/leds/common.txt
36
37 Example (by Ct = 220nF, Rset = 160kohm and exynos4412-trats2 board with
38 a switch that allows for routing strobe signal either from the host or from
39 the camera sensor):
40
41 #include "exynos4412.dtsi"
42
43 aat1290 {
44         compatible = "skyworks,aat1290";
45         flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
46         enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
47
48         pinctrl-names = "default", "host", "isp";
49         pinctrl-0 = <&camera_flash_host>;
50         pinctrl-1 = <&camera_flash_host>;
51         pinctrl-2 = <&camera_flash_isp>;
52
53         camera_flash: flash-led {
54                 label = "aat1290-flash";
55                 led-max-microamp = <520833>;
56                 flash-max-microamp = <1012500>;
57                 flash-max-timeout-us = <1940000>;
58         };
59 };
60
61 &pinctrl_0 {
62         camera_flash_host: camera-flash-host {
63                 samsung,pins = "gpj1-0";
64                 samsung,pin-function = <1>;
65                 samsung,pin-val = <0>;
66         };
67
68         camera_flash_isp: camera-flash-isp {
69                 samsung,pins = "gpj1-0";
70                 samsung,pin-function = <1>;
71                 samsung,pin-val = <1>;
72         };
73 };