1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/skyworks,aat1290.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Skyworks Solutions, Inc. AAT1290 Current Regulator for Flash LEDs
8
9maintainers:
10  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
11  - Krzysztof Kozlowski <krzk@kernel.org>
12
13description: |
14  The device is controlled through two pins:: FL_EN and EN_SET. The pins when,
15  asserted high, enable flash strobe and movie mode (max 1/2 of flash current)
16  respectively. In order to add a capability of selecting the strobe signal
17  source (e.g. CPU or camera sensor) there is an additional switch required,
18  independent of the flash chip. The switch is controlled with pin control.
19
20properties:
21  compatible:
22    const: skyworks,aat1290
23
24  enset-gpios:
25    maxItems: 1
26    description: EN_SET pin
27
28  flen-gpios:
29    maxItems: 1
30    description: FL_EN pin
31
32  led:
33    $ref: common.yaml#
34    unevaluatedProperties: false
35
36    properties:
37      led-max-microamp: true
38
39      flash-max-microamp:
40        description: |
41          Maximum flash LED supply current can be calculated using following
42          formula:: I = 1A * 162 kOhm / Rset.
43
44      flash-max-timeout-us:
45        description: |
46          Maximum flash timeout can be calculated using following formula::
47            T = 8.82 * 10^9 * Ct.
48
49    required:
50      - flash-max-microamp
51      - flash-max-timeout-us
52      - led-max-microamp
53
54  pinctrl-names:
55    items:
56      - const: default
57      - const: host
58      - const: isp
59
60  pinctrl-0: true
61  pinctrl-1: true
62  pinctrl-2: true
63
64required:
65  - compatible
66  - enset-gpios
67  - flen-gpios
68  - led
69
70additionalProperties: false
71
72examples:
73  - |
74    #include <dt-bindings/gpio/gpio.h>
75    #include <dt-bindings/leds/common.h>
76
77    // Ct = 220 nF, Rset = 160 kOhm
78    led-controller {
79        compatible = "skyworks,aat1290";
80        flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
81        enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
82
83        pinctrl-names = "default", "host", "isp";
84        pinctrl-0 = <&camera_flash_host>;
85        pinctrl-1 = <&camera_flash_host>;
86        pinctrl-2 = <&camera_flash_isp>;
87
88        led {
89            function = LED_FUNCTION_FLASH;
90            color = <LED_COLOR_ID_WHITE>;
91            led-max-microamp = <520833>;
92            flash-max-microamp = <1012500>;
93            flash-max-timeout-us = <1940000>;
94        };
95    };
96