Guenter Roeck | 200855e | 2011-07-29 22:21:53 -0700 | [diff] [blame] | 1 | Kernel driver zl6100 |
| 2 | ==================== |
| 3 | |
| 4 | Supported 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 ZL2006 |
| 10 | Prefix: 'zl2006' |
| 11 | Addresses scanned: - |
| 12 | Datasheet: http://www.intersil.com/data/fn/fn6850.pdf |
| 13 | * Intersil / Zilker Labs ZL2008 |
| 14 | Prefix: 'zl2008' |
| 15 | Addresses scanned: - |
| 16 | Datasheet: http://www.intersil.com/data/fn/fn6859.pdf |
| 17 | * Intersil / Zilker Labs ZL2105 |
| 18 | Prefix: 'zl2105' |
| 19 | Addresses scanned: - |
| 20 | Datasheet: http://www.intersil.com/data/fn/fn6851.pdf |
| 21 | * Intersil / Zilker Labs ZL2106 |
| 22 | Prefix: 'zl2106' |
| 23 | Addresses scanned: - |
| 24 | Datasheet: http://www.intersil.com/data/fn/fn6852.pdf |
| 25 | * Intersil / Zilker Labs ZL6100 |
| 26 | Prefix: 'zl6100' |
| 27 | Addresses scanned: - |
| 28 | Datasheet: http://www.intersil.com/data/fn/fn6876.pdf |
| 29 | * Intersil / Zilker Labs ZL6105 |
| 30 | Prefix: 'zl6105' |
| 31 | Addresses scanned: - |
| 32 | Datasheet: http://www.intersil.com/data/fn/fn6906.pdf |
| 33 | |
| 34 | Author: Guenter Roeck <guenter.roeck@ericsson.com> |
| 35 | |
| 36 | |
| 37 | Description |
| 38 | ----------- |
| 39 | |
| 40 | This driver supports hardware montoring for Intersil / Zilker Labs ZL6100 and |
| 41 | compatible digital DC-DC controllers. |
| 42 | |
| 43 | The driver is a client driver to the core PMBus driver. Please see |
| 44 | Documentation/hwmon/pmbus and Documentation.hwmon/pmbus-core for details |
| 45 | on PMBus client drivers. |
| 46 | |
| 47 | |
| 48 | Usage Notes |
| 49 | ----------- |
| 50 | |
| 51 | This driver does not auto-detect devices. You will have to instantiate the |
| 52 | devices explicitly. Please see Documentation/i2c/instantiating-devices for |
| 53 | details. |
| 54 | |
| 55 | WARNING: Do not access chip registers using the i2cdump command, and do not use |
| 56 | any of the i2ctools commands on a command register used to save and restore |
| 57 | configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by |
| 58 | this driver interpret any access to those command registers (including read |
| 59 | commands) as request to execute the command in question. Unless write accesses |
| 60 | to those registers are protected, this may result in power loss, board resets, |
| 61 | and/or Flash corruption. Worst case, your board may turn into a brick. |
| 62 | |
| 63 | |
| 64 | Platform data support |
| 65 | --------------------- |
| 66 | |
| 67 | The driver supports standard PMBus driver platform data. |
| 68 | |
| 69 | |
| 70 | Module parameters |
| 71 | ----------------- |
| 72 | |
| 73 | delay |
| 74 | ----- |
| 75 | |
| 76 | Some Intersil/Zilker Labs DC-DC controllers require a minimum interval between |
| 77 | I2C bus accesses. According to Intersil, the minimum interval is 2 ms, though |
| 78 | 1 ms appears to be sufficient and has not caused any problems in testing. |
| 79 | The problem is known to affect ZL6100, ZL2105, and ZL2008. It is known not to |
| 80 | affect ZL2004 and ZL6105. The driver automatically sets the interval to 1 ms |
| 81 | except for ZL2004 and ZL6105. To enable manual override, the driver provides a |
| 82 | writeable module parameter, 'delay', which can be used to set the interval to |
| 83 | a value between 0 and 65,535 microseconds. |
| 84 | |
| 85 | |
| 86 | Sysfs entries |
| 87 | ------------- |
| 88 | |
| 89 | The following attributes are supported. Limits are read-write; all other |
| 90 | attributes are read-only. |
| 91 | |
| 92 | in1_label "vin" |
| 93 | in1_input Measured input voltage. |
| 94 | in1_min Minimum input voltage. |
| 95 | in1_max Maximum input voltage. |
| 96 | in1_lcrit Critical minumum input voltage. |
| 97 | in1_crit Critical maximum input voltage. |
| 98 | in1_min_alarm Input voltage low alarm. |
| 99 | in1_max_alarm Input voltage high alarm. |
| 100 | in1_lcrit_alarm Input voltage critical low alarm. |
| 101 | in1_crit_alarm Input voltage critical high alarm. |
| 102 | |
| 103 | in2_label "vout1" |
| 104 | in2_input Measured output voltage. |
| 105 | in2_lcrit Critical minumum output Voltage. |
| 106 | in2_crit Critical maximum output voltage. |
| 107 | in2_lcrit_alarm Critical output voltage critical low alarm. |
| 108 | in2_crit_alarm Critical output voltage critical high alarm. |
| 109 | |
| 110 | curr1_label "iout1" |
| 111 | curr1_input Measured output current. |
| 112 | curr1_lcrit Critical minimum output current. |
| 113 | curr1_crit Critical maximum output current. |
| 114 | curr1_lcrit_alarm Output current critical low alarm. |
| 115 | curr1_crit_alarm Output current critical high alarm. |
| 116 | |
| 117 | temp[12]_input Measured temperature. |
| 118 | temp[12]_min Minimum temperature. |
| 119 | temp[12]_max Maximum temperature. |
| 120 | temp[12]_lcrit Critical low temperature. |
| 121 | temp[12]_crit Critical high temperature. |
| 122 | temp[12]_min_alarm Chip temperature low alarm. |
| 123 | temp[12]_max_alarm Chip temperature high alarm. |
| 124 | temp[12]_lcrit_alarm Chip temperature critical low alarm. |
| 125 | temp[12]_crit_alarm Chip temperature critical high alarm. |