# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/leds/leds-lp55xx.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: TI/National Semiconductor LP55xx and LP8501 LED Drivers maintainers: - Jacek Anaszewski <jacek.anaszewski@gmail.com> - Pavel Machek <pavel@ucw.cz> description: | Bindings for the TI/National Semiconductor LP55xx and LP8501 multi channel LED Drivers. For more product information please see the link below: https://www.ti.com/lit/gpn/lp5521 https://www.ti.com/lit/gpn/lp5523 https://www.ti.com/lit/gpn/lp55231 https://www.ti.com/lit/gpn/lp5562 https://www.ti.com/lit/gpn/lp8501 properties: compatible: enum: - national,lp5521 - national,lp5523 - ti,lp55231 - ti,lp5562 - ti,lp8501 reg: maxItems: 1 description: I2C slave address clock-mode: $ref: /schemas/types.yaml#/definitions/uint8 description: | Input clock mode enum: - 0 # automode - 1 # internal - 2 # external enable-gpios: maxItems: 1 description: | GPIO attached to the chip's enable pin label: true pwr-sel: $ref: /schemas/types.yaml#/definitions/uint8 description: | LP8501 specific property. Power selection for output channels. enum: - 0 # D1~9 are connected to VDD - 1 # D1~6 with VDD, D7~9 with VOUT - 2 # D1~6 with VOUT, D7~9 with VDD - 3 # D1~9 are connected to VOUT '#address-cells': const: 1 '#size-cells': const: 0 ti,charge-pump-mode: description: Set the operating mode of the internal charge pump as defined in <dt-bindings/leds/leds-lp55xx.h>. $ref: /schemas/types.yaml#/definitions/uint32 default: 3 # auto maximum: 3 patternProperties: '^multi-led@[0-8]$': type: object $ref: leds-class-multicolor.yaml# unevaluatedProperties: false properties: reg: maximum: 8 '#address-cells': const: 1 '#size-cells': const: 0 patternProperties: "^led@[0-8]$": type: object $ref: common.yaml# unevaluatedProperties: false properties: led-cur: $ref: /schemas/types.yaml#/definitions/uint8 description: | Current setting at each LED channel (mA x10, 0 if LED is not connected) minimum: 0 maximum: 255 max-cur: $ref: /schemas/types.yaml#/definitions/uint8 description: Maximum current at each LED channel. reg: maximum: 8 required: - reg "^led@[0-8]$": type: object $ref: common.yaml# unevaluatedProperties: false properties: led-cur: $ref: /schemas/types.yaml#/definitions/uint8 description: | Current setting at each LED channel (mA x10, 0 if LED is not connected) minimum: 0 maximum: 255 max-cur: $ref: /schemas/types.yaml#/definitions/uint8 description: Maximum current at each LED channel. reg: description: | Output channel for the LED. This is zero based channel identifier and the data sheet is a one based channel identifier. reg value to output to LED output number enum: - 0 # LED output D1 - 1 # LED output D2 - 2 # LED output D3 - 3 # LED output D4 - 4 # LED output D5 - 5 # LED output D6 - 6 # LED output D7 - 7 # LED output D8 - 8 # LED output D9 chan-name: $ref: /schemas/types.yaml#/definitions/string description: name of channel required: - compatible - reg additionalProperties: false examples: - | #include <dt-bindings/leds/common.h> #include <dt-bindings/leds/leds-lp55xx.h> i2c { #address-cells = <1>; #size-cells = <0>; led-controller@32 { #address-cells = <1>; #size-cells = <0>; compatible = "ti,lp8501"; reg = <0x32>; clock-mode = /bits/ 8 <2>; pwr-sel = /bits/ 8 <3>; /* D1~9 connected to VOUT */ ti,charge-pump-mode = <LP55XX_CP_BYPASS>; led@0 { reg = <0>; chan-name = "d1"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@1 { reg = <1>; chan-name = "d2"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@2 { reg = <2>; chan-name = "d3"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@3 { reg = <3>; chan-name = "d4"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@4 { reg = <4>; chan-name = "d5"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@5 { reg = <5>; chan-name = "d6"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@6 { reg = <6>; chan-name = "d7"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@7 { reg = <7>; chan-name = "d8"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; led@8 { reg = <8>; chan-name = "d9"; led-cur = /bits/ 8 <0x14>; max-cur = /bits/ 8 <0x20>; }; }; led-controller@33 { #address-cells = <1>; #size-cells = <0>; compatible = "national,lp5523"; reg = <0x33>; clock-mode = /bits/ 8 <0>; multi-led@2 { #address-cells = <1>; #size-cells = <0>; reg = <0x2>; color = <LED_COLOR_ID_RGB>; function = LED_FUNCTION_STANDBY; linux,default-trigger = "heartbeat"; led@0 { led-cur = /bits/ 8 <50>; max-cur = /bits/ 8 <100>; reg = <0x0>; color = <LED_COLOR_ID_GREEN>; }; led@1 { led-cur = /bits/ 8 <50>; max-cur = /bits/ 8 <100>; reg = <0x1>; color = <LED_COLOR_ID_BLUE>; }; led@6 { led-cur = /bits/ 8 <50>; max-cur = /bits/ 8 <100>; reg = <0x6>; color = <LED_COLOR_ID_RED>; }; }; }; }; ...