1Kernel driver zl6100
2====================
3
4Supported chips:
5  * Intersil / Zilker Labs ZL2004
6    Prefix: 'zl2004'
7    Addresses scanned: -
8    Datasheet: http://www.intersil.com/data/fn/fn6847.pdf
9  * Intersil / Zilker Labs ZL2005
10    Prefix: 'zl2005'
11    Addresses scanned: -
12    Datasheet: http://www.intersil.com/data/fn/fn6848.pdf
13  * Intersil / Zilker Labs ZL2006
14    Prefix: 'zl2006'
15    Addresses scanned: -
16    Datasheet: http://www.intersil.com/data/fn/fn6850.pdf
17  * Intersil / Zilker Labs ZL2008
18    Prefix: 'zl2008'
19    Addresses scanned: -
20    Datasheet: http://www.intersil.com/data/fn/fn6859.pdf
21  * Intersil / Zilker Labs ZL2105
22    Prefix: 'zl2105'
23    Addresses scanned: -
24    Datasheet: http://www.intersil.com/data/fn/fn6851.pdf
25  * Intersil / Zilker Labs ZL2106
26    Prefix: 'zl2106'
27    Addresses scanned: -
28    Datasheet: http://www.intersil.com/data/fn/fn6852.pdf
29  * Intersil / Zilker Labs ZL6100
30    Prefix: 'zl6100'
31    Addresses scanned: -
32    Datasheet: http://www.intersil.com/data/fn/fn6876.pdf
33  * Intersil / Zilker Labs ZL6105
34    Prefix: 'zl6105'
35    Addresses scanned: -
36    Datasheet: http://www.intersil.com/data/fn/fn6906.pdf
37  * Intersil / Zilker Labs ZL9101M
38    Prefix: 'zl9101'
39    Addresses scanned: -
40    Datasheet: http://www.intersil.com/data/fn/fn7669.pdf
41  * Intersil / Zilker Labs ZL9117M
42    Prefix: 'zl9117'
43    Addresses scanned: -
44    Datasheet: http://www.intersil.com/data/fn/fn7914.pdf
45  * Ericsson BMR450, BMR451
46    Prefix: 'bmr450', 'bmr451'
47    Addresses scanned: -
48    Datasheet:
49http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401
50  * Ericsson BMR462, BMR463, BMR464
51    Prefixes: 'bmr462', 'bmr463', 'bmr464'
52    Addresses scanned: -
53    Datasheet:
54http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146256
55
56
57Author: Guenter Roeck <linux@roeck-us.net>
58
59
60Description
61-----------
62
63This driver supports hardware montoring for Intersil / Zilker Labs ZL6100 and
64compatible digital DC-DC controllers.
65
66The driver is a client driver to the core PMBus driver. Please see
67Documentation/hwmon/pmbus and Documentation.hwmon/pmbus-core for details
68on PMBus client drivers.
69
70
71Usage Notes
72-----------
73
74This driver does not auto-detect devices. You will have to instantiate the
75devices explicitly. Please see Documentation/i2c/instantiating-devices for
76details.
77
78WARNING: Do not access chip registers using the i2cdump command, and do not use
79any of the i2ctools commands on a command register used to save and restore
80configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by
81this driver interpret any access to those command registers (including read
82commands) as request to execute the command in question. Unless write accesses
83to those registers are protected, this may result in power loss, board resets,
84and/or Flash corruption. Worst case, your board may turn into a brick.
85
86
87Platform data support
88---------------------
89
90The driver supports standard PMBus driver platform data.
91
92
93Module parameters
94-----------------
95
96delay
97-----
98
99Intersil/Zilker Labs DC-DC controllers require a minimum interval between I2C
100bus accesses. According to Intersil, the minimum interval is 2 ms, though 1 ms
101appears to be sufficient and has not caused any problems in testing. The problem
102is known to affect all currently supported chips. For manual override, the
103driver provides a writeable module parameter, 'delay', which can be used to set
104the interval to a value between 0 and 65,535 microseconds.
105
106
107Sysfs entries
108-------------
109
110The following attributes are supported. Limits are read-write; all other
111attributes are read-only.
112
113in1_label		"vin"
114in1_input		Measured input voltage.
115in1_min			Minimum input voltage.
116in1_max			Maximum input voltage.
117in1_lcrit		Critical minimum input voltage.
118in1_crit		Critical maximum input voltage.
119in1_min_alarm		Input voltage low alarm.
120in1_max_alarm		Input voltage high alarm.
121in1_lcrit_alarm		Input voltage critical low alarm.
122in1_crit_alarm		Input voltage critical high alarm.
123
124in2_label		"vmon"
125in2_input		Measured voltage on VMON (ZL2004) or VDRV (ZL9101M,
126			ZL9117M) pin. Reported voltage is 16x the voltage on the
127			pin (adjusted internally by the chip).
128in2_lcrit		Critical minimum VMON/VDRV Voltage.
129in2_crit		Critical maximum VMON/VDRV voltage.
130in2_lcrit_alarm		VMON/VDRV voltage critical low alarm.
131in2_crit_alarm		VMON/VDRV voltage critical high alarm.
132
133			vmon attributes are supported on ZL2004, ZL9101M,
134			and ZL9117M only.
135
136inX_label		"vout1"
137inX_input		Measured output voltage.
138inX_lcrit		Critical minimum output Voltage.
139inX_crit		Critical maximum output voltage.
140inX_lcrit_alarm		Critical output voltage critical low alarm.
141inX_crit_alarm		Critical output voltage critical high alarm.
142
143			X is 3 for ZL2004, ZL9101M, and ZL9117M, 2 otherwise.
144
145curr1_label		"iout1"
146curr1_input		Measured output current.
147curr1_lcrit		Critical minimum output current.
148curr1_crit		Critical maximum output current.
149curr1_lcrit_alarm	Output current critical low alarm.
150curr1_crit_alarm	Output current critical high alarm.
151
152temp[12]_input		Measured temperature.
153temp[12]_min		Minimum temperature.
154temp[12]_max		Maximum temperature.
155temp[12]_lcrit		Critical low temperature.
156temp[12]_crit		Critical high temperature.
157temp[12]_min_alarm	Chip temperature low alarm.
158temp[12]_max_alarm	Chip temperature high alarm.
159temp[12]_lcrit_alarm	Chip temperature critical low alarm.
160temp[12]_crit_alarm	Chip temperature critical high alarm.
161