dt-bindings: leds: Convert leds-lp55xx to yaml
Convert the leds-lp55xx.txt to yaml binding. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Dan Murphy <dmurphy@ti.com> Signed-off-by: Pavel Machek <pavel@ucw.cz>
This commit is contained in:
Родитель
55d5d3b46b
Коммит
a89d385daa
|
@ -1,228 +0,0 @@
|
|||
Binding for TI/National Semiconductor LP55xx Led Drivers
|
||||
|
||||
Required properties:
|
||||
- compatible: one of
|
||||
national,lp5521
|
||||
national,lp5523
|
||||
ti,lp55231
|
||||
ti,lp5562
|
||||
ti,lp8501
|
||||
|
||||
- reg: I2C slave address
|
||||
- clock-mode: Input clock mode, (0: automode, 1: internal, 2: external)
|
||||
|
||||
Each child has own specific current settings
|
||||
- led-cur: Current setting at each led channel (mA x10, 0 if led is not connected)
|
||||
- max-cur: Maximun current at each led channel.
|
||||
|
||||
Optional properties:
|
||||
- enable-gpio: GPIO attached to the chip's enable pin
|
||||
- label: Used for naming LEDs
|
||||
- pwr-sel: LP8501 specific property. Power selection for output channels.
|
||||
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
|
||||
|
||||
Alternatively, each child can have a specific channel name and trigger:
|
||||
- chan-name (optional): name of channel
|
||||
- linux,default-trigger (optional): see
|
||||
Documentation/devicetree/bindings/leds/common.txt
|
||||
|
||||
example 1) LP5521
|
||||
3 LED channels, external clock used. Channel names are 'lp5521_pri:channel0',
|
||||
'lp5521_pri:channel1' and 'lp5521_pri:channel2', with a heartbeat trigger
|
||||
on channel 0.
|
||||
|
||||
lp5521@32 {
|
||||
compatible = "national,lp5521";
|
||||
reg = <0x32>;
|
||||
label = "lp5521_pri";
|
||||
clock-mode = /bits/ 8 <2>;
|
||||
|
||||
chan0 {
|
||||
led-cur = /bits/ 8 <0x2f>;
|
||||
max-cur = /bits/ 8 <0x5f>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
|
||||
chan1 {
|
||||
led-cur = /bits/ 8 <0x2f>;
|
||||
max-cur = /bits/ 8 <0x5f>;
|
||||
};
|
||||
|
||||
chan2 {
|
||||
led-cur = /bits/ 8 <0x2f>;
|
||||
max-cur = /bits/ 8 <0x5f>;
|
||||
};
|
||||
};
|
||||
|
||||
example 2) LP5523
|
||||
9 LED channels with specific name. Internal clock used.
|
||||
The I2C slave address is configurable with ASEL1 and ASEL0 pins.
|
||||
Available addresses are 32/33/34/35h.
|
||||
|
||||
ASEL1 ASEL0 Address
|
||||
-------------------------
|
||||
GND GND 32h
|
||||
GND VEN 33h
|
||||
VEN GND 34h
|
||||
VEN VEN 35h
|
||||
|
||||
lp5523@32 {
|
||||
compatible = "national,lp5523";
|
||||
reg = <0x32>;
|
||||
clock-mode = /bits/ 8 <1>;
|
||||
|
||||
chan0 {
|
||||
chan-name = "d1";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan1 {
|
||||
chan-name = "d2";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan2 {
|
||||
chan-name = "d3";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan3 {
|
||||
chan-name = "d4";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan4 {
|
||||
chan-name = "d5";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan5 {
|
||||
chan-name = "d6";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan6 {
|
||||
chan-name = "d7";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan7 {
|
||||
chan-name = "d8";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan8 {
|
||||
chan-name = "d9";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
};
|
||||
|
||||
example 3) LP5562
|
||||
4 channels are defined.
|
||||
|
||||
lp5562@30 {
|
||||
compatible = "ti,lp5562";
|
||||
reg = <0x30>;
|
||||
clock-mode = /bits/8 <2>;
|
||||
|
||||
chan0 {
|
||||
chan-name = "R";
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
};
|
||||
|
||||
chan1 {
|
||||
chan-name = "G";
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
};
|
||||
|
||||
chan2 {
|
||||
chan-name = "B";
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
};
|
||||
|
||||
chan3 {
|
||||
chan-name = "W";
|
||||
led-cur = /bits/ 8 <0x20>;
|
||||
max-cur = /bits/ 8 <0x60>;
|
||||
};
|
||||
};
|
||||
|
||||
example 4) LP8501
|
||||
9 channels are defined. The 'pwr-sel' is LP8501 specific property.
|
||||
Others are same as LP5523.
|
||||
|
||||
lp8501@32 {
|
||||
compatible = "ti,lp8501";
|
||||
reg = <0x32>;
|
||||
clock-mode = /bits/ 8 <2>;
|
||||
pwr-sel = /bits/ 8 <3>; /* D1~9 connected to VOUT */
|
||||
|
||||
chan0 {
|
||||
chan-name = "d1";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan1 {
|
||||
chan-name = "d2";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan2 {
|
||||
chan-name = "d3";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan3 {
|
||||
chan-name = "d4";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan4 {
|
||||
chan-name = "d5";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan5 {
|
||||
chan-name = "d6";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan6 {
|
||||
chan-name = "d7";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan7 {
|
||||
chan-name = "d8";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
|
||||
chan8 {
|
||||
chan-name = "d9";
|
||||
led-cur = /bits/ 8 <0x14>;
|
||||
max-cur = /bits/ 8 <0x20>;
|
||||
};
|
||||
};
|
|
@ -0,0 +1,220 @@
|
|||
# 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-gpio:
|
||||
maxItems: 1
|
||||
description: |
|
||||
GPIO attached to the chip's enable pin
|
||||
|
||||
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
|
||||
|
||||
patternProperties:
|
||||
"(^led@[0-9a-f]$|led)":
|
||||
type: object
|
||||
$ref: common.yaml#
|
||||
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: Maximun 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
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/leds/common.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 */
|
||||
|
||||
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_MULTI>;
|
||||
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>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
...
|
Загрузка…
Ссылка в новой задаче