xref: /OK3568_Linux_fs/kernel/Documentation/hwmon/lineage-pem.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunKernel driver lineage-pem
2*4882a593Smuzhiyun=========================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunSupported devices:
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun  * Lineage Compact Power Line Power Entry Modules
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun    Prefix: 'lineage-pem'
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun    Addresses scanned: -
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun    Documentation:
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunAuthor: Guenter Roeck <linux@roeck-us.net>
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunDescription
20*4882a593Smuzhiyun-----------
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunThis driver supports various Lineage Compact Power Line DC/DC and AC/DC
23*4882a593Smuzhiyunconverters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunLineage CPL power entry modules are nominally PMBus compliant. However, most
26*4882a593Smuzhiyunstandard PMBus commands are not supported. Specifically, all hardware monitoring
27*4882a593Smuzhiyunand status reporting commands are non-standard. For this reason, a standard
28*4882a593SmuzhiyunPMBus driver can not be used.
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunUsage Notes
32*4882a593Smuzhiyun-----------
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunThis driver does not probe for Lineage CPL devices, since there is no register
35*4882a593Smuzhiyunwhich can be safely used to identify the chip. You will have to instantiate
36*4882a593Smuzhiyunthe devices explicitly.
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunExample: the following will load the driver for a Lineage PEM at address 0x40
39*4882a593Smuzhiyunon I2C bus #1::
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	$ modprobe lineage-pem
42*4882a593Smuzhiyun	$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
43*4882a593Smuzhiyun
44*4882a593SmuzhiyunAll Lineage CPL power entry modules have a built-in I2C bus master selector
45*4882a593Smuzhiyun(PCA9541). To ensure device access, this driver should only be used as client
46*4882a593Smuzhiyundriver to the pca9541 I2C master selector driver.
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun
49*4882a593SmuzhiyunSysfs entries
50*4882a593Smuzhiyun-------------
51*4882a593Smuzhiyun
52*4882a593SmuzhiyunAll Lineage CPL devices report output voltage and device temperature as well as
53*4882a593Smuzhiyunalarms for output voltage, temperature, input voltage, input current, input power,
54*4882a593Smuzhiyunand fan status.
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunInput voltage, input current, input power, and fan speed measurement is only
57*4882a593Smuzhiyunsupported on newer devices. The driver detects if those attributes are supported,
58*4882a593Smuzhiyunand only creates respective sysfs entries if they are.
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun======================= ===============================
61*4882a593Smuzhiyunin1_input		Output voltage (mV)
62*4882a593Smuzhiyunin1_min_alarm		Output undervoltage alarm
63*4882a593Smuzhiyunin1_max_alarm		Output overvoltage alarm
64*4882a593Smuzhiyunin1_crit		Output voltage critical alarm
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunin2_input		Input voltage (mV, optional)
67*4882a593Smuzhiyunin2_alarm		Input voltage alarm
68*4882a593Smuzhiyun
69*4882a593Smuzhiyuncurr1_input		Input current (mA, optional)
70*4882a593Smuzhiyuncurr1_alarm		Input overcurrent alarm
71*4882a593Smuzhiyun
72*4882a593Smuzhiyunpower1_input		Input power (uW, optional)
73*4882a593Smuzhiyunpower1_alarm		Input power alarm
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunfan1_input		Fan 1 speed (rpm, optional)
76*4882a593Smuzhiyunfan2_input		Fan 2 speed (rpm, optional)
77*4882a593Smuzhiyunfan3_input		Fan 3 speed (rpm, optional)
78*4882a593Smuzhiyun
79*4882a593Smuzhiyuntemp1_input
80*4882a593Smuzhiyuntemp1_max
81*4882a593Smuzhiyuntemp1_crit
82*4882a593Smuzhiyuntemp1_alarm
83*4882a593Smuzhiyuntemp1_crit_alarm
84*4882a593Smuzhiyuntemp1_fault
85*4882a593Smuzhiyun======================= ===============================
86