blob: 85c0c58617f6da50d3ac0f7f4177df3d9aeb68ab [file] [log] [blame]
Jacek Anaszewski2269fe02015-04-28 00:18:44 -07001* 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)
Jacek Anaszewski8bdc8932015-06-08 02:02:21 -07005respectively. 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.
Jacek Anaszewski2269fe02015-04-28 00:18:44 -07008
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
Jacek Anaszewski8bdc8932015-06-08 02:02:21 -070015Optional 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
Jacek Anaszewski2269fe02015-04-28 00:18:44 -070022A 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.
Ingi Kim10238ad2015-10-22 10:14:07 +090030- 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.
Jacek Anaszewski2269fe02015-04-28 00:18:44 -070033
34Optional properties of the LED child node:
35- label : see Documentation/devicetree/bindings/leds/common.txt
36
Jacek Anaszewski8bdc8932015-06-08 02:02:21 -070037Example (by Ct = 220nF, Rset = 160kohm and exynos4412-trats2 board with
38a switch that allows for routing strobe signal either from the host or from
39the camera sensor):
40
41#include "exynos4412.dtsi"
Jacek Anaszewski2269fe02015-04-28 00:18:44 -070042
43aat1290 {
44 compatible = "skyworks,aat1290";
45 flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
46 enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
47
Jacek Anaszewski8bdc8932015-06-08 02:02:21 -070048 pinctrl-names = "default", "host", "isp";
49 pinctrl-0 = <&camera_flash_host>;
50 pinctrl-1 = <&camera_flash_host>;
51 pinctrl-2 = <&camera_flash_isp>;
52
Jacek Anaszewski2269fe02015-04-28 00:18:44 -070053 camera_flash: flash-led {
54 label = "aat1290-flash";
55 led-max-microamp = <520833>;
56 flash-max-microamp = <1012500>;
Ingi Kim10238ad2015-10-22 10:14:07 +090057 flash-max-timeout-us = <1940000>;
Jacek Anaszewski2269fe02015-04-28 00:18:44 -070058 };
59};
Jacek Anaszewski8bdc8932015-06-08 02:02:21 -070060
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};