1*7d5c8db6SSvyatoslav Ryhel# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7d5c8db6SSvyatoslav Ryhel%YAML 1.2 3*7d5c8db6SSvyatoslav Ryhel--- 4*7d5c8db6SSvyatoslav Ryhel$id: http://devicetree.org/schemas/leds/ti,lm3560.yaml# 5*7d5c8db6SSvyatoslav Ryhel$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7d5c8db6SSvyatoslav Ryhel 7*7d5c8db6SSvyatoslav Ryheltitle: TI LM3560 Synchronous Boost Flash Driver 8*7d5c8db6SSvyatoslav Ryhel 9*7d5c8db6SSvyatoslav Ryhelmaintainers: 10*7d5c8db6SSvyatoslav Ryhel - Svyatoslav Ryhel <clamor95@gmail.com> 11*7d5c8db6SSvyatoslav Ryhel 12*7d5c8db6SSvyatoslav Ryheldescription: 13*7d5c8db6SSvyatoslav Ryhel The LM3560 is a 2-MHz fixed frequency synchronous boost converter with two 14*7d5c8db6SSvyatoslav Ryhel 1000-mA constant current drivers for high-current white LEDs. The dual high- 15*7d5c8db6SSvyatoslav Ryhel side current sources allow for grounded cathode LED operation and can be 16*7d5c8db6SSvyatoslav Ryhel tied together for providing flash currents at up to 2 A through a single LED. 17*7d5c8db6SSvyatoslav Ryhel An adaptive regulation method ensures the current for each LED remains in 18*7d5c8db6SSvyatoslav Ryhel regulation and maximizes efficiency. 19*7d5c8db6SSvyatoslav Ryhel 20*7d5c8db6SSvyatoslav Ryhelproperties: 21*7d5c8db6SSvyatoslav Ryhel compatible: 22*7d5c8db6SSvyatoslav Ryhel enum: 23*7d5c8db6SSvyatoslav Ryhel - ti,lm3559 24*7d5c8db6SSvyatoslav Ryhel - ti,lm3560 25*7d5c8db6SSvyatoslav Ryhel 26*7d5c8db6SSvyatoslav Ryhel reg: 27*7d5c8db6SSvyatoslav Ryhel maxItems: 1 28*7d5c8db6SSvyatoslav Ryhel 29*7d5c8db6SSvyatoslav Ryhel '#address-cells': 30*7d5c8db6SSvyatoslav Ryhel const: 1 31*7d5c8db6SSvyatoslav Ryhel 32*7d5c8db6SSvyatoslav Ryhel '#size-cells': 33*7d5c8db6SSvyatoslav Ryhel const: 0 34*7d5c8db6SSvyatoslav Ryhel 35*7d5c8db6SSvyatoslav Ryhel enable-gpios: 36*7d5c8db6SSvyatoslav Ryhel description: GPIO connected to the HWEN pin. 37*7d5c8db6SSvyatoslav Ryhel maxItems: 1 38*7d5c8db6SSvyatoslav Ryhel 39*7d5c8db6SSvyatoslav Ryhel vin-supply: 40*7d5c8db6SSvyatoslav Ryhel description: Supply connected to the IN line. 41*7d5c8db6SSvyatoslav Ryhel 42*7d5c8db6SSvyatoslav Ryhel flash-max-timeout-us: 43*7d5c8db6SSvyatoslav Ryhel minimum: 32000 44*7d5c8db6SSvyatoslav Ryhel maximum: 1024000 45*7d5c8db6SSvyatoslav Ryhel default: 32000 46*7d5c8db6SSvyatoslav Ryhel 47*7d5c8db6SSvyatoslav Ryhel ti,peak-current-microamp: 48*7d5c8db6SSvyatoslav Ryhel description: 49*7d5c8db6SSvyatoslav Ryhel The LM3560 features 4 selectable current limits 1.6A, 2.3A, 3A, and 3.6A 50*7d5c8db6SSvyatoslav Ryhel (in case of LM3559 - 1.4A, 2.1A, 2.7A, and 3.2A). When the current limit 51*7d5c8db6SSvyatoslav Ryhel is reached, the LM3559/LM3560 stops switching for the remainder of the 52*7d5c8db6SSvyatoslav Ryhel switching cycle. 53*7d5c8db6SSvyatoslav Ryhel 54*7d5c8db6SSvyatoslav RyhelpatternProperties: 55*7d5c8db6SSvyatoslav Ryhel '^led@[01]$': 56*7d5c8db6SSvyatoslav Ryhel type: object 57*7d5c8db6SSvyatoslav Ryhel $ref: /schemas/leds/common.yaml# 58*7d5c8db6SSvyatoslav Ryhel description: LED control bank nodes. 59*7d5c8db6SSvyatoslav Ryhel unevaluatedProperties: false 60*7d5c8db6SSvyatoslav Ryhel 61*7d5c8db6SSvyatoslav Ryhel properties: 62*7d5c8db6SSvyatoslav Ryhel reg: 63*7d5c8db6SSvyatoslav Ryhel description: Control bank selection (0 = bank A, 1 = bank B). 64*7d5c8db6SSvyatoslav Ryhel maximum: 1 65*7d5c8db6SSvyatoslav Ryhel 66*7d5c8db6SSvyatoslav Ryhel required: 67*7d5c8db6SSvyatoslav Ryhel - reg 68*7d5c8db6SSvyatoslav Ryhel - flash-max-microamp 69*7d5c8db6SSvyatoslav Ryhel - led-max-microamp 70*7d5c8db6SSvyatoslav Ryhel 71*7d5c8db6SSvyatoslav RyhelallOf: 72*7d5c8db6SSvyatoslav Ryhel - $ref: /schemas/leds/common.yaml# 73*7d5c8db6SSvyatoslav Ryhel - if: 74*7d5c8db6SSvyatoslav Ryhel properties: 75*7d5c8db6SSvyatoslav Ryhel compatible: 76*7d5c8db6SSvyatoslav Ryhel contains: 77*7d5c8db6SSvyatoslav Ryhel const: ti,lm3559 78*7d5c8db6SSvyatoslav Ryhel then: 79*7d5c8db6SSvyatoslav Ryhel properties: 80*7d5c8db6SSvyatoslav Ryhel ti,peak-current-microamp: 81*7d5c8db6SSvyatoslav Ryhel enum: [1400000, 2100000, 2700000, 3200000] 82*7d5c8db6SSvyatoslav Ryhel default: 1400000 83*7d5c8db6SSvyatoslav Ryhel patternProperties: 84*7d5c8db6SSvyatoslav Ryhel '^led@[01]$': 85*7d5c8db6SSvyatoslav Ryhel properties: 86*7d5c8db6SSvyatoslav Ryhel flash-max-microamp: 87*7d5c8db6SSvyatoslav Ryhel minimum: 56250 88*7d5c8db6SSvyatoslav Ryhel maximum: 900000 89*7d5c8db6SSvyatoslav Ryhel led-max-microamp: 90*7d5c8db6SSvyatoslav Ryhel minimum: 28125 91*7d5c8db6SSvyatoslav Ryhel maximum: 225000 92*7d5c8db6SSvyatoslav Ryhel 93*7d5c8db6SSvyatoslav Ryhel - if: 94*7d5c8db6SSvyatoslav Ryhel properties: 95*7d5c8db6SSvyatoslav Ryhel compatible: 96*7d5c8db6SSvyatoslav Ryhel contains: 97*7d5c8db6SSvyatoslav Ryhel const: ti,lm3560 98*7d5c8db6SSvyatoslav Ryhel then: 99*7d5c8db6SSvyatoslav Ryhel properties: 100*7d5c8db6SSvyatoslav Ryhel ti,peak-current-microamp: 101*7d5c8db6SSvyatoslav Ryhel enum: [1600000, 2300000, 3000000, 3600000] 102*7d5c8db6SSvyatoslav Ryhel default: 1600000 103*7d5c8db6SSvyatoslav Ryhel patternProperties: 104*7d5c8db6SSvyatoslav Ryhel '^led@[01]$': 105*7d5c8db6SSvyatoslav Ryhel properties: 106*7d5c8db6SSvyatoslav Ryhel flash-max-microamp: 107*7d5c8db6SSvyatoslav Ryhel minimum: 62500 108*7d5c8db6SSvyatoslav Ryhel maximum: 1000000 109*7d5c8db6SSvyatoslav Ryhel led-max-microamp: 110*7d5c8db6SSvyatoslav Ryhel minimum: 31250 111*7d5c8db6SSvyatoslav Ryhel maximum: 250000 112*7d5c8db6SSvyatoslav Ryhel 113*7d5c8db6SSvyatoslav Ryhelrequired: 114*7d5c8db6SSvyatoslav Ryhel - compatible 115*7d5c8db6SSvyatoslav Ryhel - reg 116*7d5c8db6SSvyatoslav Ryhel - '#address-cells' 117*7d5c8db6SSvyatoslav Ryhel - '#size-cells' 118*7d5c8db6SSvyatoslav Ryhel 119*7d5c8db6SSvyatoslav RyheladditionalProperties: false 120*7d5c8db6SSvyatoslav Ryhel 121*7d5c8db6SSvyatoslav Ryhelexamples: 122*7d5c8db6SSvyatoslav Ryhel - | 123*7d5c8db6SSvyatoslav Ryhel #include <dt-bindings/gpio/gpio.h> 124*7d5c8db6SSvyatoslav Ryhel #include <dt-bindings/leds/common.h> 125*7d5c8db6SSvyatoslav Ryhel 126*7d5c8db6SSvyatoslav Ryhel i2c { 127*7d5c8db6SSvyatoslav Ryhel #address-cells = <1>; 128*7d5c8db6SSvyatoslav Ryhel #size-cells = <0>; 129*7d5c8db6SSvyatoslav Ryhel 130*7d5c8db6SSvyatoslav Ryhel led-controller@53 { 131*7d5c8db6SSvyatoslav Ryhel compatible = "ti,lm3560"; 132*7d5c8db6SSvyatoslav Ryhel reg = <0x53>; 133*7d5c8db6SSvyatoslav Ryhel 134*7d5c8db6SSvyatoslav Ryhel enable-gpios = <&gpio 28 GPIO_ACTIVE_HIGH>; 135*7d5c8db6SSvyatoslav Ryhel vin-supply = <&vdd_3v3_sys>; 136*7d5c8db6SSvyatoslav Ryhel 137*7d5c8db6SSvyatoslav Ryhel flash-max-timeout-us = <1024000>; 138*7d5c8db6SSvyatoslav Ryhel ti,peak-current-microamp = <1600000>; 139*7d5c8db6SSvyatoslav Ryhel 140*7d5c8db6SSvyatoslav Ryhel #address-cells = <1>; 141*7d5c8db6SSvyatoslav Ryhel #size-cells = <0>; 142*7d5c8db6SSvyatoslav Ryhel 143*7d5c8db6SSvyatoslav Ryhel led@0 { 144*7d5c8db6SSvyatoslav Ryhel reg = <0>; 145*7d5c8db6SSvyatoslav Ryhel 146*7d5c8db6SSvyatoslav Ryhel function = LED_FUNCTION_FLASH; 147*7d5c8db6SSvyatoslav Ryhel color = <LED_COLOR_ID_WHITE>; 148*7d5c8db6SSvyatoslav Ryhel 149*7d5c8db6SSvyatoslav Ryhel flash-max-microamp = <562500>; 150*7d5c8db6SSvyatoslav Ryhel led-max-microamp = <156250>; 151*7d5c8db6SSvyatoslav Ryhel }; 152*7d5c8db6SSvyatoslav Ryhel 153*7d5c8db6SSvyatoslav Ryhel led@1 { 154*7d5c8db6SSvyatoslav Ryhel reg = <1>; 155*7d5c8db6SSvyatoslav Ryhel 156*7d5c8db6SSvyatoslav Ryhel function = LED_FUNCTION_FLASH; 157*7d5c8db6SSvyatoslav Ryhel color = <LED_COLOR_ID_YELLOW>; 158*7d5c8db6SSvyatoslav Ryhel 159*7d5c8db6SSvyatoslav Ryhel flash-max-microamp = <562500>; 160*7d5c8db6SSvyatoslav Ryhel led-max-microamp = <156250>; 161*7d5c8db6SSvyatoslav Ryhel }; 162*7d5c8db6SSvyatoslav Ryhel }; 163*7d5c8db6SSvyatoslav Ryhel }; 164