2015-04-28 15:18:44 +08:00
|
|
|
* Skyworks Solutions, Inc. AAT1290 Current Regulator for Flash LEDs
|
|
|
|
|
|
|
|
The device is controlled through two pins: FL_EN and EN_SET. The pins when,
|
|
|
|
asserted high, enable flash strobe and movie mode (max 1/2 of flash current)
|
2015-06-08 17:02:21 +08:00
|
|
|
respectively. In order to add a capability of selecting the strobe signal source
|
|
|
|
(e.g. CPU or camera sensor) there is an additional switch required, independent
|
|
|
|
of the flash chip. The switch is controlled with pin control.
|
2015-04-28 15:18:44 +08:00
|
|
|
|
|
|
|
Required properties:
|
|
|
|
|
|
|
|
- compatible : Must be "skyworks,aat1290".
|
|
|
|
- flen-gpios : Must be device tree identifier of the flash device FL_EN pin.
|
|
|
|
- enset-gpios : Must be device tree identifier of the flash device EN_SET pin.
|
|
|
|
|
2015-06-08 17:02:21 +08:00
|
|
|
Optional properties:
|
|
|
|
- pinctrl-names : Must contain entries: "default", "host", "isp". Entries
|
|
|
|
"default" and "host" must refer to the same pin configuration
|
|
|
|
node, which sets the host as a strobe signal provider. Entry
|
|
|
|
"isp" must refer to the pin configuration node, which sets the
|
|
|
|
ISP as a strobe signal provider.
|
|
|
|
|
2015-04-28 15:18:44 +08:00
|
|
|
A discrete LED element connected to the device must be represented by a child
|
|
|
|
node - see Documentation/devicetree/bindings/leds/common.txt.
|
|
|
|
|
|
|
|
Required properties of the LED child node:
|
|
|
|
- led-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
|
|
|
|
- flash-max-microamp : see Documentation/devicetree/bindings/leds/common.txt
|
|
|
|
Maximum flash LED supply current can be calculated using
|
|
|
|
following formula: I = 1A * 162kohm / Rset.
|
|
|
|
- flash-timeout-us : see Documentation/devicetree/bindings/leds/common.txt
|
|
|
|
Maximum flash timeout can be calculated using following
|
|
|
|
formula: T = 8.82 * 10^9 * Ct.
|
|
|
|
|
|
|
|
Optional properties of the LED child node:
|
|
|
|
- label : see Documentation/devicetree/bindings/leds/common.txt
|
|
|
|
|
2015-06-08 17:02:21 +08:00
|
|
|
Example (by Ct = 220nF, Rset = 160kohm and exynos4412-trats2 board with
|
|
|
|
a switch that allows for routing strobe signal either from the host or from
|
|
|
|
the camera sensor):
|
|
|
|
|
|
|
|
#include "exynos4412.dtsi"
|
2015-04-28 15:18:44 +08:00
|
|
|
|
|
|
|
aat1290 {
|
|
|
|
compatible = "skyworks,aat1290";
|
|
|
|
flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
|
|
|
|
enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
|
|
|
|
|
2015-06-08 17:02:21 +08:00
|
|
|
pinctrl-names = "default", "host", "isp";
|
|
|
|
pinctrl-0 = <&camera_flash_host>;
|
|
|
|
pinctrl-1 = <&camera_flash_host>;
|
|
|
|
pinctrl-2 = <&camera_flash_isp>;
|
|
|
|
|
2015-04-28 15:18:44 +08:00
|
|
|
camera_flash: flash-led {
|
|
|
|
label = "aat1290-flash";
|
|
|
|
led-max-microamp = <520833>;
|
|
|
|
flash-max-microamp = <1012500>;
|
|
|
|
flash-timeout-us = <1940000>;
|
|
|
|
};
|
|
|
|
};
|
2015-06-08 17:02:21 +08:00
|
|
|
|
|
|
|
&pinctrl_0 {
|
|
|
|
camera_flash_host: camera-flash-host {
|
|
|
|
samsung,pins = "gpj1-0";
|
|
|
|
samsung,pin-function = <1>;
|
|
|
|
samsung,pin-val = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
camera_flash_isp: camera-flash-isp {
|
|
|
|
samsung,pins = "gpj1-0";
|
|
|
|
samsung,pin-function = <1>;
|
|
|
|
samsung,pin-val = <1>;
|
|
|
|
};
|
|
|
|
};
|