hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
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
Kernel driver lineage-pem
=========================
 
Supported devices:
 
  * Lineage Compact Power Line Power Entry Modules
 
    Prefix: 'lineage-pem'
 
    Addresses scanned: -
 
    Documentation:
 
   http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
 
Author: Guenter Roeck <linux@roeck-us.net>
 
 
Description
-----------
 
This driver supports various Lineage Compact Power Line DC/DC and AC/DC
converters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others.
 
Lineage CPL power entry modules are nominally PMBus compliant. However, most
standard PMBus commands are not supported. Specifically, all hardware monitoring
and status reporting commands are non-standard. For this reason, a standard
PMBus driver can not be used.
 
 
Usage Notes
-----------
 
This driver does not probe for Lineage CPL devices, since there is no register
which can be safely used to identify the chip. You will have to instantiate
the devices explicitly.
 
Example: the following will load the driver for a Lineage PEM at address 0x40
on I2C bus #1::
 
   $ modprobe lineage-pem
   $ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
 
All Lineage CPL power entry modules have a built-in I2C bus master selector
(PCA9541). To ensure device access, this driver should only be used as client
driver to the pca9541 I2C master selector driver.
 
 
Sysfs entries
-------------
 
All Lineage CPL devices report output voltage and device temperature as well as
alarms for output voltage, temperature, input voltage, input current, input power,
and fan status.
 
Input voltage, input current, input power, and fan speed measurement is only
supported on newer devices. The driver detects if those attributes are supported,
and only creates respective sysfs entries if they are.
 
======================= ===============================
in1_input        Output voltage (mV)
in1_min_alarm        Output undervoltage alarm
in1_max_alarm        Output overvoltage alarm
in1_crit        Output voltage critical alarm
 
in2_input        Input voltage (mV, optional)
in2_alarm        Input voltage alarm
 
curr1_input        Input current (mA, optional)
curr1_alarm        Input overcurrent alarm
 
power1_input        Input power (uW, optional)
power1_alarm        Input power alarm
 
fan1_input        Fan 1 speed (rpm, optional)
fan2_input        Fan 2 speed (rpm, optional)
fan3_input        Fan 3 speed (rpm, optional)
 
temp1_input
temp1_max
temp1_crit
temp1_alarm
temp1_crit_alarm
temp1_fault
======================= ===============================