aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/leds/leds-lp55xx.txt
blob: 1ed6bb0ce7775ef5b2bfea6d27a98a135183403a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
Binding for National Semiconductor LP55xx Led Drivers

Required properties:
- compatible: "national,lp5521" or "national,lp5523"
- 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:
- label: Used for naming LEDs

Alternatively, each child can have specific channel name
- chan-name: Name of each channel name

example 1) LP5521
3 LED channels, external clock used. Channel names are 'lp5521_pri:channel0',
'lp5521_pri:channel1' and 'lp5521_pri:channel2'

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

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