| * 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) |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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-max-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: |
| - function : see Documentation/devicetree/bindings/leds/common.txt |
| - color : see Documentation/devicetree/bindings/leds/common.txt |
| - label : see Documentation/devicetree/bindings/leds/common.txt (deprecated) |
| |
| 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" |
| #include <dt-bindings/leds/common.h> |
| |
| led-controller { |
| compatible = "skyworks,aat1290"; |
| flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>; |
| enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>; |
| |
| pinctrl-names = "default", "host", "isp"; |
| pinctrl-0 = <&camera_flash_host>; |
| pinctrl-1 = <&camera_flash_host>; |
| pinctrl-2 = <&camera_flash_isp>; |
| |
| camera_flash: led { |
| function = LED_FUNCTION_FLASH; |
| color = <LED_COLOR_ID_WHITE>; |
| led-max-microamp = <520833>; |
| flash-max-microamp = <1012500>; |
| flash-max-timeout-us = <1940000>; |
| }; |
| }; |
| |
| &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>; |
| }; |
| }; |