xref: /OK3568_Linux_fs/kernel/Documentation/leds/leds-mlxcpld.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun=======================================
2*4882a593SmuzhiyunKernel driver for Mellanox systems LEDs
3*4882a593Smuzhiyun=======================================
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunProvide system LED support for the nex Mellanox systems:
6*4882a593Smuzhiyun"msx6710", "msx6720", "msb7700", "msn2700", "msx1410",
7*4882a593Smuzhiyun"msn2410", "msb7800", "msn2740", "msn2100".
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunDescription
10*4882a593Smuzhiyun-----------
11*4882a593SmuzhiyunDriver provides the following LEDs for the systems "msx6710", "msx6720",
12*4882a593Smuzhiyun"msb7700", "msn2700", "msx1410", "msn2410", "msb7800", "msn2740":
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun  - mlxcpld:fan1:green
15*4882a593Smuzhiyun  - mlxcpld:fan1:red
16*4882a593Smuzhiyun  - mlxcpld:fan2:green
17*4882a593Smuzhiyun  - mlxcpld:fan2:red
18*4882a593Smuzhiyun  - mlxcpld:fan3:green
19*4882a593Smuzhiyun  - mlxcpld:fan3:red
20*4882a593Smuzhiyun  - mlxcpld:fan4:green
21*4882a593Smuzhiyun  - mlxcpld:fan4:red
22*4882a593Smuzhiyun  - mlxcpld:psu:green
23*4882a593Smuzhiyun  - mlxcpld:psu:red
24*4882a593Smuzhiyun  - mlxcpld:status:green
25*4882a593Smuzhiyun  - mlxcpld:status:red
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun "status"
28*4882a593Smuzhiyun  - CPLD reg offset: 0x20
29*4882a593Smuzhiyun  - Bits [3:0]
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun "psu"
32*4882a593Smuzhiyun  - CPLD reg offset: 0x20
33*4882a593Smuzhiyun  - Bits [7:4]
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun "fan1"
36*4882a593Smuzhiyun  - CPLD reg offset: 0x21
37*4882a593Smuzhiyun  - Bits [3:0]
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun "fan2"
40*4882a593Smuzhiyun  - CPLD reg offset: 0x21
41*4882a593Smuzhiyun  - Bits [7:4]
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun "fan3"
44*4882a593Smuzhiyun  - CPLD reg offset: 0x22
45*4882a593Smuzhiyun  - Bits [3:0]
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun "fan4"
48*4882a593Smuzhiyun  - CPLD reg offset: 0x22
49*4882a593Smuzhiyun  - Bits [7:4]
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun Color mask for all the above LEDs:
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun  [bit3,bit2,bit1,bit0] or
54*4882a593Smuzhiyun  [bit7,bit6,bit5,bit4]:
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun	- [0,0,0,0] = LED OFF
57*4882a593Smuzhiyun	- [0,1,0,1] = Red static ON
58*4882a593Smuzhiyun	- [1,1,0,1] = Green static ON
59*4882a593Smuzhiyun	- [0,1,1,0] = Red blink 3Hz
60*4882a593Smuzhiyun	- [1,1,1,0] = Green blink 3Hz
61*4882a593Smuzhiyun	- [0,1,1,1] = Red blink 6Hz
62*4882a593Smuzhiyun	- [1,1,1,1] = Green blink 6Hz
63*4882a593Smuzhiyun
64*4882a593SmuzhiyunDriver provides the following LEDs for the system "msn2100":
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun  - mlxcpld:fan:green
67*4882a593Smuzhiyun  - mlxcpld:fan:red
68*4882a593Smuzhiyun  - mlxcpld:psu1:green
69*4882a593Smuzhiyun  - mlxcpld:psu1:red
70*4882a593Smuzhiyun  - mlxcpld:psu2:green
71*4882a593Smuzhiyun  - mlxcpld:psu2:red
72*4882a593Smuzhiyun  - mlxcpld:status:green
73*4882a593Smuzhiyun  - mlxcpld:status:red
74*4882a593Smuzhiyun  - mlxcpld:uid:blue
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun "status"
77*4882a593Smuzhiyun  - CPLD reg offset: 0x20
78*4882a593Smuzhiyun  - Bits [3:0]
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun "fan"
81*4882a593Smuzhiyun  - CPLD reg offset: 0x21
82*4882a593Smuzhiyun  - Bits [3:0]
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun "psu1"
85*4882a593Smuzhiyun  - CPLD reg offset: 0x23
86*4882a593Smuzhiyun  - Bits [3:0]
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun "psu2"
89*4882a593Smuzhiyun  - CPLD reg offset: 0x23
90*4882a593Smuzhiyun  - Bits [7:4]
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun "uid"
93*4882a593Smuzhiyun  - CPLD reg offset: 0x24
94*4882a593Smuzhiyun  - Bits [3:0]
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun Color mask for all the above LEDs, excepted uid:
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun  [bit3,bit2,bit1,bit0] or
99*4882a593Smuzhiyun  [bit7,bit6,bit5,bit4]:
100*4882a593Smuzhiyun
101*4882a593Smuzhiyun	- [0,0,0,0] = LED OFF
102*4882a593Smuzhiyun	- [0,1,0,1] = Red static ON
103*4882a593Smuzhiyun	- [1,1,0,1] = Green static ON
104*4882a593Smuzhiyun	- [0,1,1,0] = Red blink 3Hz
105*4882a593Smuzhiyun	- [1,1,1,0] = Green blink 3Hz
106*4882a593Smuzhiyun	- [0,1,1,1] = Red blink 6Hz
107*4882a593Smuzhiyun	- [1,1,1,1] = Green blink 6Hz
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun Color mask for uid LED:
110*4882a593Smuzhiyun  [bit3,bit2,bit1,bit0]:
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun	- [0,0,0,0] = LED OFF
113*4882a593Smuzhiyun	- [1,1,0,1] = Blue static ON
114*4882a593Smuzhiyun	- [1,1,1,0] = Blue blink 3Hz
115*4882a593Smuzhiyun	- [1,1,1,1] = Blue blink 6Hz
116*4882a593Smuzhiyun
117*4882a593SmuzhiyunDriver supports HW blinking at 3Hz and 6Hz frequency (50% duty cycle).
118*4882a593SmuzhiyunFor 3Hz duty cylce is about 167 msec, for 6Hz is about 83 msec.
119