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