summaryrefslogtreecommitdiff
path: root/Documentation/hwmon/zl6100.rst
blob: d42ed9d3ac69a6411f6ec6e5ac4e350b3f0a2bbd (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
Kernel driver zl6100
====================

Supported chips:

  * Renesas / Intersil / Zilker Labs ZL2004

    Prefix: 'zl2004'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl2004-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL2005

    Prefix: 'zl2005'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl2005-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL2006

    Prefix: 'zl2006'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl2006-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL2008

    Prefix: 'zl2008'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl2008-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL2105

    Prefix: 'zl2105'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl2105-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL2106

    Prefix: 'zl2106'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl2106-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL6100

    Prefix: 'zl6100'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl6100-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL6105

    Prefix: 'zl6105'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl6105-datasheet.pdf

  * Renesas / Intersil / Zilker Labs ZL8802

    Prefix: 'zl8802'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl8802-datasheet

  * Renesas / Intersil / Zilker Labs ZL9101M

    Prefix: 'zl9101'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl9101m-datasheet

  * Renesas / Intersil / Zilker Labs ZL9117M

    Prefix: 'zl9117'

    Addresses scanned: -

    Datasheet: https://www.renesas.com/us/en/document/dst/zl9117m-datasheet

  * Renesas / Intersil / Zilker Labs ZLS1003, ZLS4009

    Prefix: 'zls1003', zls4009

    Addresses scanned: -

    Datasheet: Not published

  * Flex BMR450, BMR451

    Prefix: 'bmr450', 'bmr451'

    Addresses scanned: -

    Datasheet:

https://flexpowermodules.com/resources/fpm-techspec-bmr450-digital-pol-regulators-20a

  * Flex BMR462, BMR463, BMR464

    Prefixes: 'bmr462', 'bmr463', 'bmr464'

    Addresses scanned: -

    Datasheet: https://flexpowermodules.com/resources/fpm-techspec-bmr462

  * Flex BMR465, BMR467

    Prefixes: 'bmr465', 'bmr467'

    Addresses scanned: -

    Datasheet: https://flexpowermodules.com/resources/fpm-techspec-bmr465-digital-pol

  * Flex BMR466

    Prefixes: 'bmr466'

    Addresses scanned: -

    Datasheet: https://flexpowermodules.com/resources/fpm-techspec-bmr466-8x12

  * Flex BMR469

    Prefixes: 'bmr469'

    Addresses scanned: -

    Datasheet: https://flexpowermodules.com/resources/fpm-techspec-bmr4696001

Author: Guenter Roeck <linux@roeck-us.net>


Description
-----------

This driver supports hardware monitoring for Renesas / Intersil / Zilker Labs
ZL6100 and compatible digital DC-DC controllers.

The driver is a client driver to the core PMBus driver. Please see
Documentation/hwmon/pmbus.rst and Documentation.hwmon/pmbus-core for details
on PMBus client drivers.


Usage Notes
-----------

This driver does not auto-detect devices. You will have to instantiate the
devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
details.

.. warning::

  Do not access chip registers using the i2cdump command, and do not use
  any of the i2ctools commands on a command register used to save and restore
  configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by
  this driver interpret any access to those command registers (including read
  commands) as request to execute the command in question. Unless write accesses
  to those registers are protected, this may result in power loss, board resets,
  and/or Flash corruption. Worst case, your board may turn into a brick.


Platform data support
---------------------

The driver supports standard PMBus driver platform data.


Module parameters
-----------------

delay
-----

Renesas/Intersil/Zilker Labs DC-DC controllers require a minimum interval
between I2C bus accesses. According to Intersil, the minimum interval is 2 ms,
though 1 ms appears to be sufficient and has not caused any problems in testing.
The problem is known to affect all currently supported chips. For manual override,
the driver provides a writeable module parameter, 'delay', which can be used
to set the interval to a value between 0 and 65,535 microseconds.


Sysfs entries
-------------

The following attributes are supported. Limits are read-write; all other
attributes are read-only.

======================= ========================================================
in1_label		"vin"
in1_input		Measured input voltage.
in1_min			Minimum input voltage.
in1_max			Maximum input voltage.
in1_lcrit		Critical minimum input voltage.
in1_crit		Critical maximum input voltage.
in1_min_alarm		Input voltage low alarm.
in1_max_alarm		Input voltage high alarm.
in1_lcrit_alarm		Input voltage critical low alarm.
in1_crit_alarm		Input voltage critical high alarm.

in2_label		"vmon"
in2_input		Measured voltage on VMON (ZL2004) or VDRV (ZL9101M,
			ZL9117M) pin. Reported voltage is 16x the voltage on the
			pin (adjusted internally by the chip).
in2_lcrit		Critical minimum VMON/VDRV Voltage.
in2_crit		Critical maximum VMON/VDRV voltage.
in2_lcrit_alarm		VMON/VDRV voltage critical low alarm.
in2_crit_alarm		VMON/VDRV voltage critical high alarm.

			vmon attributes are supported on ZL2004, ZL8802,
			ZL9101M, ZL9117M and ZLS4009 only.

inX_label		"vout[12]"
inX_input		Measured output voltage.
inX_lcrit		Critical minimum output Voltage.
inX_crit		Critical maximum output voltage.
inX_lcrit_alarm		Critical output voltage critical low alarm.
inX_crit_alarm		Critical output voltage critical high alarm.

			X is 3 for ZL2004, ZL9101M, and ZL9117M,
			3, 4 for ZL8802 and 2 otherwise.

curr1_label		"iin"
curr1_input		Measured input current.

			iin attributes are supported on ZL8802 only

currY_label		"iout[12]"
currY_input		Measured output current.
currY_lcrit		Critical minimum output current.
currY_crit		Critical maximum output current.
currY_lcrit_alarm	Output current critical low alarm.
currY_crit_alarm	Output current critical high alarm.

			Y is 2, 3 for ZL8802, 1 otherwise

temp[12]_input		Measured temperature.
temp[12]_min		Minimum temperature.
temp[12]_max		Maximum temperature.
temp[12]_lcrit		Critical low temperature.
temp[12]_crit		Critical high temperature.
temp[12]_min_alarm	Chip temperature low alarm.
temp[12]_max_alarm	Chip temperature high alarm.
temp[12]_lcrit_alarm	Chip temperature critical low alarm.
temp[12]_crit_alarm	Chip temperature critical high alarm.
======================= ========================================================