xref: /freebsd/sys/contrib/device-tree/Bindings/leds/ti,tps61310.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/ti,tps61310.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Texas Instruments TPS6131X flash LED driver
8
9maintainers:
10  - Matthias Fend <matthias.fend@emfend.at>
11
12description: |
13  The TPS61310/TPS61311 is a flash LED driver with I2C interface.
14  Its power stage is capable of supplying a maximum total current of roughly 1500mA.
15  The TPS6131x provides three constant-current sinks, capable of sinking
16  up to 2 x 400mA (LED1 and LED3) and 800mA (LED2) in flash mode.
17  In torch mode, each sink (LED1, LED2, LED3) supports currents up to 175mA.
18  Since the three current sinks share most of the control components such as
19  flash timer, control logic, safety timer and the operating mode, they cannot
20  be used completely independently of each other. Therefore, only one LED is
21  supported, but the current sinks can be combined accordingly.
22
23  The data sheet can be found at:
24    https://www.ti.com/lit/ds/symlink/tps61310.pdf
25
26properties:
27  compatible:
28    oneOf:
29      - items:
30          - enum:
31              - ti,tps61311
32          - const: ti,tps61310
33      - items:
34          - const: ti,tps61310
35
36  reg:
37    maxItems: 1
38
39  reset-gpios:
40    maxItems: 1
41    description: GPIO connected to NRESET pin
42
43  ti,valley-current-limit:
44    type: boolean
45    description:
46      Reduce the valley peak current limit from 1750mA to 1250mA (TPS61310) or
47      from 2480mA to 1800mA (TPS61311).
48
49  led:
50    type: object
51    $ref: common.yaml#
52    unevaluatedProperties: false
53
54    properties:
55      led-sources:
56        minItems: 1
57        maxItems: 3
58        items:
59          enum: [1, 2, 3]
60
61      led-max-microamp:
62        oneOf:
63          - minimum: 50000
64            maximum: 350000
65            multipleOf: 50000
66          - minimum: 25000
67            maximum: 525000
68            multipleOf: 25000
69
70      flash-max-microamp:
71        oneOf:
72          - minimum: 50000
73            maximum: 800000
74            multipleOf: 50000
75          - minimum: 25000
76            maximum: 1500000
77            multipleOf: 25000
78
79      flash-max-timeout-us:
80        enum: [ 5300, 10700, 16000, 21300, 26600, 32000, 37300, 68200, 71500,
81                102200, 136300, 170400, 204500, 340800, 579300, 852000 ]
82
83    required:
84      - led-sources
85      - led-max-microamp
86      - flash-max-microamp
87      - flash-max-timeout-us
88
89required:
90  - compatible
91  - reg
92  - led
93
94additionalProperties: false
95
96examples:
97  - |
98    #include <dt-bindings/leds/common.h>
99    #include <dt-bindings/gpio/gpio.h>
100
101    i2c {
102      #address-cells = <1>;
103      #size-cells = <0>;
104
105      led-controller@33 {
106        compatible = "ti,tps61311", "ti,tps61310";
107        reg = <0x33>;
108
109        reset-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
110
111        led {
112          function = LED_FUNCTION_FLASH;
113          color = <LED_COLOR_ID_WHITE>;
114          led-sources = <1>, <2>, <3>;
115          led-max-microamp = <525000>;
116          flash-max-microamp = <1500000>;
117          flash-max-timeout-us = <852000>;
118        };
119      };
120    };
121