Kernel driver zl6100

Supported chips:

http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146401

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

Description

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

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

Usage Notes

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

Warning

Do not access chip registers using the i2cdump command, and do not useany of the i2ctools commands on a command register used to save and restoreconfiguration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported bythis driver interpret any access to those command registers (including readcommands) as request to execute the command in question. Unless write accessesto 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

Intersil/Zilker Labs DC-DC controllers require a minimum interval between I2Cbus accesses. According to Intersil, the minimum interval is 2 ms, though 1 msappears to be sufficient and has not caused any problems in testing. The problemis known to affect all currently supported chips. For manual override, thedriver provides a writeable module parameter, ‘delay’, which can be used to setthe interval to a value between 0 and 65,535 microseconds.

Sysfs entries

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

in1_label“vin”
in1_inputMeasured input voltage.
in1_minMinimum input voltage.
in1_maxMaximum input voltage.
in1_lcritCritical minimum input voltage.
in1_critCritical maximum input voltage.
in1_min_alarmInput voltage low alarm.
in1_max_alarmInput voltage high alarm.
in1_lcrit_alarmInput voltage critical low alarm.
in1_crit_alarmInput voltage critical high alarm.
in2_label“vmon”
in2_inputMeasured voltage on VMON (ZL2004) or VDRV (ZL9101M,ZL9117M) pin. Reported voltage is 16x the voltage on thepin (adjusted internally by the chip).
in2_lcritCritical minimum VMON/VDRV Voltage.
in2_critCritical maximum VMON/VDRV voltage.
in2_lcrit_alarmVMON/VDRV voltage critical low alarm.
in2_crit_alarm

VMON/VDRV voltage critical high alarm.

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

inX_label“vout1”
inX_inputMeasured output voltage.
inX_lcritCritical minimum output Voltage.
inX_critCritical maximum output voltage.
inX_lcrit_alarmCritical output voltage critical low alarm.
inX_crit_alarm

Critical output voltage critical high alarm.

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

curr1_label“iout1”
curr1_inputMeasured output current.
curr1_lcritCritical minimum output current.
curr1_critCritical maximum output current.
curr1_lcrit_alarmOutput current critical low alarm.
curr1_crit_alarmOutput current critical high alarm.
temp[12]_inputMeasured temperature.
temp[12]_minMinimum temperature.
temp[12]_maxMaximum temperature.
temp[12]_lcritCritical low temperature.
temp[12]_critCritical high temperature.
temp[12]_min_alarmChip temperature low alarm.
temp[12]_max_alarmChip temperature high alarm.
temp[12]_lcrit_alarmChip temperature critical low alarm.
temp[12]_crit_alarmChip temperature critical high alarm.