1* Skyworks Solutions, Inc. AAT1290 Current Regulator for Flash LEDs
2
3The device is controlled through two pins: FL_EN and EN_SET. The pins when,
4asserted high, enable flash strobe and movie mode (max 1/2 of flash current)
5respectively. 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
7of the flash chip. The switch is controlled with pin control.
8
9Required 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
15Optional 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
22A discrete LED element connected to the device must be represented by a child
23node - see Documentation/devicetree/bindings/leds/common.txt.
24
25Required 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
34Optional properties of the LED child node:
35- function : see Documentation/devicetree/bindings/leds/common.txt
36- color : see Documentation/devicetree/bindings/leds/common.txt
37- label : see Documentation/devicetree/bindings/leds/common.txt (deprecated)
38
39Example (by Ct = 220nF, Rset = 160kohm and exynos4412-trats2 board with
40a switch that allows for routing strobe signal either from the host or from
41the camera sensor):
42
43#include "exynos4412.dtsi"
44#include <dt-bindings/leds/common.h>
45
46led-controller {
47	compatible = "skyworks,aat1290";
48	flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
49	enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
50
51	pinctrl-names = "default", "host", "isp";
52	pinctrl-0 = <&camera_flash_host>;
53	pinctrl-1 = <&camera_flash_host>;
54	pinctrl-2 = <&camera_flash_isp>;
55
56	camera_flash: led {
57		function = LED_FUNCTION_FLASH;
58		color = <LED_COLOR_ID_WHITE>;
59		led-max-microamp = <520833>;
60		flash-max-microamp = <1012500>;
61		flash-max-timeout-us = <1940000>;
62	};
63};
64
65&pinctrl_0 {
66	camera_flash_host: camera-flash-host {
67		samsung,pins = "gpj1-0";
68		samsung,pin-function = <1>;
69		samsung,pin-val = <0>;
70	};
71
72	camera_flash_isp: camera-flash-isp {
73		samsung,pins = "gpj1-0";
74		samsung,pin-function = <1>;
75		samsung,pin-val = <1>;
76	};
77};
78