mirror of https://gitee.com/openkylin/linux.git
229 lines
4.3 KiB
Plaintext
229 lines
4.3 KiB
Plaintext
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>;
|
|
};
|
|
};
|