Guenter Roeck | 502b5a0 | 2010-09-29 20:12:08 -0700 | [diff] [blame] | 1 | Kernel driver lineage-pem |
| 2 | ========================= |
| 3 | |
| 4 | Supported devices: |
| 5 | * Lineage Compact Power Line Power Entry Modules |
| 6 | Prefix: 'lineage-pem' |
| 7 | Addresses scanned: - |
| 8 | Documentation: |
| 9 | http://www.lineagepower.com/oem/pdf/CPLI2C.pdf |
| 10 | |
| 11 | Author: Guenter Roeck <guenter.roeck@ericsson.com> |
| 12 | |
| 13 | |
| 14 | Description |
| 15 | ----------- |
| 16 | |
| 17 | This driver supports various Lineage Compact Power Line DC/DC and AC/DC |
| 18 | converters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others. |
| 19 | |
| 20 | Lineage CPL power entry modules are nominally PMBus compliant. However, most |
| 21 | standard PMBus commands are not supported. Specifically, all hardware monitoring |
| 22 | and status reporting commands are non-standard. For this reason, a standard |
| 23 | PMBus driver can not be used. |
| 24 | |
| 25 | |
| 26 | Usage Notes |
| 27 | ----------- |
| 28 | |
| 29 | This driver does not probe for Lineage CPL devices, since there is no register |
| 30 | which can be safely used to identify the chip. You will have to instantiate |
| 31 | the devices explicitly. |
| 32 | |
| 33 | Example: the following will load the driver for a Lineage PEM at address 0x40 |
| 34 | on I2C bus #1: |
| 35 | $ modprobe lineage-pem |
| 36 | $ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device |
| 37 | |
| 38 | All Lineage CPL power entry modules have a built-in I2C bus master selector |
| 39 | (PCA9541). To ensure device access, this driver should only be used as client |
| 40 | driver to the pca9541 I2C master selector driver. |
| 41 | |
| 42 | |
| 43 | Sysfs entries |
| 44 | ------------- |
| 45 | |
| 46 | All Lineage CPL devices report output voltage and device temperature as well as |
| 47 | alarms for output voltage, temperature, input voltage, input current, input power, |
| 48 | and fan status. |
| 49 | |
| 50 | Input voltage, input current, input power, and fan speed measurement is only |
| 51 | supported on newer devices. The driver detects if those attributes are supported, |
| 52 | and only creates respective sysfs entries if they are. |
| 53 | |
| 54 | in1_input Output voltage (mV) |
| 55 | in1_min_alarm Output undervoltage alarm |
| 56 | in1_max_alarm Output overvoltage alarm |
| 57 | in1_crit Output voltage critical alarm |
| 58 | |
| 59 | in2_input Input voltage (mV, optional) |
| 60 | in2_alarm Input voltage alarm |
| 61 | |
| 62 | curr1_input Input current (mA, optional) |
| 63 | curr1_alarm Input overcurrent alarm |
| 64 | |
| 65 | power1_input Input power (uW, optional) |
| 66 | power1_alarm Input power alarm |
| 67 | |
| 68 | fan1_input Fan 1 speed (rpm, optional) |
| 69 | fan2_input Fan 2 speed (rpm, optional) |
| 70 | fan3_input Fan 3 speed (rpm, optional) |
| 71 | |
| 72 | temp1_input |
| 73 | temp1_max |
| 74 | temp1_crit |
| 75 | temp1_alarm |
| 76 | temp1_crit_alarm |
| 77 | temp1_fault |