Jacek Anaszewski | 2269fe0 | 2015-04-28 00:18:44 -0700 | [diff] [blame] | 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) |
Jacek Anaszewski | 8bdc893 | 2015-06-08 02:02:21 -0700 | [diff] [blame] | 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. |
Jacek Anaszewski | 2269fe0 | 2015-04-28 00:18:44 -0700 | [diff] [blame] | 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 | |
Jacek Anaszewski | 8bdc893 | 2015-06-08 02:02:21 -0700 | [diff] [blame] | 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 | |
Jacek Anaszewski | 2269fe0 | 2015-04-28 00:18:44 -0700 | [diff] [blame] | 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. |
Ingi Kim | 10238ad | 2015-10-22 10:14:07 +0900 | [diff] [blame] | 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. |
Jacek Anaszewski | 2269fe0 | 2015-04-28 00:18:44 -0700 | [diff] [blame] | 33 | |
| 34 | Optional properties of the LED child node: |
| 35 | - label : see Documentation/devicetree/bindings/leds/common.txt |
| 36 | |
Jacek Anaszewski | 8bdc893 | 2015-06-08 02:02:21 -0700 | [diff] [blame] | 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" |
Jacek Anaszewski | 2269fe0 | 2015-04-28 00:18:44 -0700 | [diff] [blame] | 42 | |
| 43 | aat1290 { |
| 44 | compatible = "skyworks,aat1290"; |
| 45 | flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>; |
| 46 | enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>; |
| 47 | |
Jacek Anaszewski | 8bdc893 | 2015-06-08 02:02:21 -0700 | [diff] [blame] | 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 | |
Jacek Anaszewski | 2269fe0 | 2015-04-28 00:18:44 -0700 | [diff] [blame] | 53 | camera_flash: flash-led { |
| 54 | label = "aat1290-flash"; |
| 55 | led-max-microamp = <520833>; |
| 56 | flash-max-microamp = <1012500>; |
Ingi Kim | 10238ad | 2015-10-22 10:14:07 +0900 | [diff] [blame] | 57 | flash-max-timeout-us = <1940000>; |
Jacek Anaszewski | 2269fe0 | 2015-04-28 00:18:44 -0700 | [diff] [blame] | 58 | }; |
| 59 | }; |
Jacek Anaszewski | 8bdc893 | 2015-06-08 02:02:21 -0700 | [diff] [blame] | 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 | }; |