xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/zl6100.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel driver zl6100
2*4882a593Smuzhiyun====================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported chips:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL2004
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun    Prefix: 'zl2004'
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun    Addresses scanned: -
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6847.pdf
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL2005
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun    Prefix: 'zl2005'
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun    Addresses scanned: -
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6848.pdf
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL2006
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun    Prefix: 'zl2006'
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun    Addresses scanned: -
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6850.pdf
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL2008
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun    Prefix: 'zl2008'
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun    Addresses scanned: -
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6859.pdf
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL2105
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun    Prefix: 'zl2105'
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun    Addresses scanned: -
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6851.pdf
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL2106
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun    Prefix: 'zl2106'
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun    Addresses scanned: -
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6852.pdf
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL6100
55*4882a593Smuzhiyun
56*4882a593Smuzhiyun    Prefix: 'zl6100'
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun    Addresses scanned: -
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6876.pdf
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL6105
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun    Prefix: 'zl6105'
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun    Addresses scanned: -
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn6906.pdf
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL9101M
71*4882a593Smuzhiyun
72*4882a593Smuzhiyun    Prefix: 'zl9101'
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun    Addresses scanned: -
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn7669.pdf
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun  * Intersil / Zilker Labs ZL9117M
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun    Prefix: 'zl9117'
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun    Addresses scanned: -
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun    Datasheet: http://www.intersil.com/data/fn/fn7914.pdf
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun  * Ericsson BMR450, BMR451
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun    Prefix: 'bmr450', 'bmr451'
89*4882a593Smuzhiyun
90*4882a593Smuzhiyun    Addresses scanned: -
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun    Datasheet:
93*4882a593Smuzhiyun
94*4882a593Smuzhiyunhttp://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun  * Ericsson BMR462, BMR463, BMR464
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun    Prefixes: 'bmr462', 'bmr463', 'bmr464'
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun    Addresses scanned: -
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun    Datasheet:
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146256
105*4882a593Smuzhiyun
106*4882a593SmuzhiyunAuthor: Guenter Roeck <linux@roeck-us.net>
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun
109*4882a593SmuzhiyunDescription
110*4882a593Smuzhiyun-----------
111*4882a593Smuzhiyun
112*4882a593SmuzhiyunThis driver supports hardware monitoring for Intersil / Zilker Labs ZL6100 and
113*4882a593Smuzhiyuncompatible digital DC-DC controllers.
114*4882a593Smuzhiyun
115*4882a593SmuzhiyunThe driver is a client driver to the core PMBus driver. Please see
116*4882a593SmuzhiyunDocumentation/hwmon/pmbus.rst and Documentation.hwmon/pmbus-core for details
117*4882a593Smuzhiyunon PMBus client drivers.
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun
120*4882a593SmuzhiyunUsage Notes
121*4882a593Smuzhiyun-----------
122*4882a593Smuzhiyun
123*4882a593SmuzhiyunThis driver does not auto-detect devices. You will have to instantiate the
124*4882a593Smuzhiyundevices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
125*4882a593Smuzhiyundetails.
126*4882a593Smuzhiyun
127*4882a593Smuzhiyun.. warning::
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun  Do not access chip registers using the i2cdump command, and do not use
130*4882a593Smuzhiyun  any of the i2ctools commands on a command register used to save and restore
131*4882a593Smuzhiyun  configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by
132*4882a593Smuzhiyun  this driver interpret any access to those command registers (including read
133*4882a593Smuzhiyun  commands) as request to execute the command in question. Unless write accesses
134*4882a593Smuzhiyun  to those registers are protected, this may result in power loss, board resets,
135*4882a593Smuzhiyun  and/or Flash corruption. Worst case, your board may turn into a brick.
136*4882a593Smuzhiyun
137*4882a593Smuzhiyun
138*4882a593SmuzhiyunPlatform data support
139*4882a593Smuzhiyun---------------------
140*4882a593Smuzhiyun
141*4882a593SmuzhiyunThe driver supports standard PMBus driver platform data.
142*4882a593Smuzhiyun
143*4882a593Smuzhiyun
144*4882a593SmuzhiyunModule parameters
145*4882a593Smuzhiyun-----------------
146*4882a593Smuzhiyun
147*4882a593Smuzhiyundelay
148*4882a593Smuzhiyun-----
149*4882a593Smuzhiyun
150*4882a593SmuzhiyunIntersil/Zilker Labs DC-DC controllers require a minimum interval between I2C
151*4882a593Smuzhiyunbus accesses. According to Intersil, the minimum interval is 2 ms, though 1 ms
152*4882a593Smuzhiyunappears to be sufficient and has not caused any problems in testing. The problem
153*4882a593Smuzhiyunis known to affect all currently supported chips. For manual override, the
154*4882a593Smuzhiyundriver provides a writeable module parameter, 'delay', which can be used to set
155*4882a593Smuzhiyunthe interval to a value between 0 and 65,535 microseconds.
156*4882a593Smuzhiyun
157*4882a593Smuzhiyun
158*4882a593SmuzhiyunSysfs entries
159*4882a593Smuzhiyun-------------
160*4882a593Smuzhiyun
161*4882a593SmuzhiyunThe following attributes are supported. Limits are read-write; all other
162*4882a593Smuzhiyunattributes are read-only.
163*4882a593Smuzhiyun
164*4882a593Smuzhiyun======================= ========================================================
165*4882a593Smuzhiyunin1_label		"vin"
166*4882a593Smuzhiyunin1_input		Measured input voltage.
167*4882a593Smuzhiyunin1_min			Minimum input voltage.
168*4882a593Smuzhiyunin1_max			Maximum input voltage.
169*4882a593Smuzhiyunin1_lcrit		Critical minimum input voltage.
170*4882a593Smuzhiyunin1_crit		Critical maximum input voltage.
171*4882a593Smuzhiyunin1_min_alarm		Input voltage low alarm.
172*4882a593Smuzhiyunin1_max_alarm		Input voltage high alarm.
173*4882a593Smuzhiyunin1_lcrit_alarm		Input voltage critical low alarm.
174*4882a593Smuzhiyunin1_crit_alarm		Input voltage critical high alarm.
175*4882a593Smuzhiyun
176*4882a593Smuzhiyunin2_label		"vmon"
177*4882a593Smuzhiyunin2_input		Measured voltage on VMON (ZL2004) or VDRV (ZL9101M,
178*4882a593Smuzhiyun			ZL9117M) pin. Reported voltage is 16x the voltage on the
179*4882a593Smuzhiyun			pin (adjusted internally by the chip).
180*4882a593Smuzhiyunin2_lcrit		Critical minimum VMON/VDRV Voltage.
181*4882a593Smuzhiyunin2_crit		Critical maximum VMON/VDRV voltage.
182*4882a593Smuzhiyunin2_lcrit_alarm		VMON/VDRV voltage critical low alarm.
183*4882a593Smuzhiyunin2_crit_alarm		VMON/VDRV voltage critical high alarm.
184*4882a593Smuzhiyun
185*4882a593Smuzhiyun			vmon attributes are supported on ZL2004, ZL9101M,
186*4882a593Smuzhiyun			and ZL9117M only.
187*4882a593Smuzhiyun
188*4882a593SmuzhiyuninX_label		"vout1"
189*4882a593SmuzhiyuninX_input		Measured output voltage.
190*4882a593SmuzhiyuninX_lcrit		Critical minimum output Voltage.
191*4882a593SmuzhiyuninX_crit		Critical maximum output voltage.
192*4882a593SmuzhiyuninX_lcrit_alarm		Critical output voltage critical low alarm.
193*4882a593SmuzhiyuninX_crit_alarm		Critical output voltage critical high alarm.
194*4882a593Smuzhiyun
195*4882a593Smuzhiyun			X is 3 for ZL2004, ZL9101M, and ZL9117M, 2 otherwise.
196*4882a593Smuzhiyun
197*4882a593Smuzhiyuncurr1_label		"iout1"
198*4882a593Smuzhiyuncurr1_input		Measured output current.
199*4882a593Smuzhiyuncurr1_lcrit		Critical minimum output current.
200*4882a593Smuzhiyuncurr1_crit		Critical maximum output current.
201*4882a593Smuzhiyuncurr1_lcrit_alarm	Output current critical low alarm.
202*4882a593Smuzhiyuncurr1_crit_alarm	Output current critical high alarm.
203*4882a593Smuzhiyun
204*4882a593Smuzhiyuntemp[12]_input		Measured temperature.
205*4882a593Smuzhiyuntemp[12]_min		Minimum temperature.
206*4882a593Smuzhiyuntemp[12]_max		Maximum temperature.
207*4882a593Smuzhiyuntemp[12]_lcrit		Critical low temperature.
208*4882a593Smuzhiyuntemp[12]_crit		Critical high temperature.
209*4882a593Smuzhiyuntemp[12]_min_alarm	Chip temperature low alarm.
210*4882a593Smuzhiyuntemp[12]_max_alarm	Chip temperature high alarm.
211*4882a593Smuzhiyuntemp[12]_lcrit_alarm	Chip temperature critical low alarm.
212*4882a593Smuzhiyuntemp[12]_crit_alarm	Chip temperature critical high alarm.
213*4882a593Smuzhiyun======================= ========================================================
214