Documentation / devicetree / bindings / leds / adi,ltc3220.yaml


Based on kernel version 7.3. Page generated on 2026-10-19 13:17 EDT.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/leds/adi,ltc3220.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices LTC3220 LED Driver

maintainers:
  - Edelweise Escala <edelweise.escala@analog.com>

description: >
  The LTC3220 is a multi-display LED driver, which contains a high-efficiency,
  low-noise charge pump to provide power to up to 18 LED current sources.
  The LEDs are individually configurable to 64-step linear brightness control,
  blinking and gradation control via 2-wire I2C interface.
 
  For more product information please see the link below
    https://www.analog.com/en/products/ltc3220.html

properties:
  compatible:
    const: adi,ltc3220

  reg:
    maxItems: 1
 
  '#address-cells':
    const: 1
 
  '#size-cells':
    const: 0

  reset-gpios:
    maxItems: 1

patternProperties:
  '^led@([1-9a-f]|1[0-2])$':
    type: object
    $ref: /schemas/leds/common.yaml#
    unevaluatedProperties: false
    properties:
      reg:
        description:
          Output channel for the LED (1-18 maps to LED outputs D1-D18).
          Unit-address must be in hexadecimal (1-12 hex = 1-18 decimal).
          For aggregated LED control, define only one LED node with reg = <0x1>
          and use led-sources to list all controlled outputs. Only reg 1 should
          be present when using led-sources.
        items:
          - minimum: 1
            maximum: 18

    required:
      - reg

    if:
      required:
        - led-sources
    then:
      properties:
        reg:
          items:
            - const: 1

required:
  - compatible
  - reg
  - '#address-cells'
  - '#size-cells'

additionalProperties: false

examples:
  - |
    // Independent LEDs
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/leds/common.h>
 
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        led-controller@1c {
            compatible = "adi,ltc3220";
            reg = <0x1c>;
            #address-cells = <1>;
            #size-cells = <0>;
            reset-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
 
            led@1 {
                reg = <0x1>;
                function = LED_FUNCTION_INDICATOR;
                function-enumerator = <1>;
            };
 
            led@2 {
                reg = <0x2>;
                function = LED_FUNCTION_INDICATOR;
                function-enumerator = <2>;
            };
 
            led@3 {
                reg = <0x3>;
                function = LED_FUNCTION_INDICATOR;
                function-enumerator = <3>;
            };
        };
    };

  - |
    // Aggregated LED
    #include <dt-bindings/leds/common.h>
 
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        led-controller@1c {
            compatible = "adi,ltc3220";
            reg = <0x1c>;
            #address-cells = <1>;
            #size-cells = <0>;
 
            led@1 {
                reg = <0x1>;
                led-sources = <0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12>;
                function = LED_FUNCTION_BACKLIGHT;
            };
        };
    };

...