| # 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>; |
| }; |
| }; |
| }; |
| }; |
| |
| ... |