Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: leds: Add Texas Instruments TPS6131x flash LED driver

Document Texas Instruments TPS61310/TPS61311 flash LED driver devicetree
bindings.

Signed-off-by: Matthias Fend <matthias.fend@emfend.at>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250514-leds-tps6131x-v5-1-a4fb9e7f2c47@emfend.at
Signed-off-by: Lee Jones <lee@kernel.org>

authored by

Matthias Fend and committed by
Lee Jones
0d12bb1a 6a09ae82

+120
+120
Documentation/devicetree/bindings/leds/ti,tps61310.yaml
··· 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 + 7 + title: Texas Instruments TPS6131X flash LED driver 8 + 9 + maintainers: 10 + - Matthias Fend <matthias.fend@emfend.at> 11 + 12 + description: | 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 + 26 + properties: 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 + 89 + required: 90 + - compatible 91 + - reg 92 + - led 93 + 94 + additionalProperties: false 95 + 96 + examples: 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 + };