xref: /openbmc/linux/Documentation/hwmon/lineage-pem.rst (revision c39f2d9db0fd81ea20bb5cce9b3f082ca63753e2)
1*7ebd8b66SMauro Carvalho ChehabKernel driver lineage-pem
2*7ebd8b66SMauro Carvalho Chehab=========================
3*7ebd8b66SMauro Carvalho Chehab
4*7ebd8b66SMauro Carvalho ChehabSupported devices:
5*7ebd8b66SMauro Carvalho Chehab
6*7ebd8b66SMauro Carvalho Chehab  * Lineage Compact Power Line Power Entry Modules
7*7ebd8b66SMauro Carvalho Chehab
8*7ebd8b66SMauro Carvalho Chehab    Prefix: 'lineage-pem'
9*7ebd8b66SMauro Carvalho Chehab
10*7ebd8b66SMauro Carvalho Chehab    Addresses scanned: -
11*7ebd8b66SMauro Carvalho Chehab
12*7ebd8b66SMauro Carvalho Chehab    Documentation:
13*7ebd8b66SMauro Carvalho Chehab
14*7ebd8b66SMauro Carvalho Chehab	http://www.lineagepower.com/oem/pdf/CPLI2C.pdf
15*7ebd8b66SMauro Carvalho Chehab
16*7ebd8b66SMauro Carvalho ChehabAuthor: Guenter Roeck <linux@roeck-us.net>
17*7ebd8b66SMauro Carvalho Chehab
18*7ebd8b66SMauro Carvalho Chehab
19*7ebd8b66SMauro Carvalho ChehabDescription
20*7ebd8b66SMauro Carvalho Chehab-----------
21*7ebd8b66SMauro Carvalho Chehab
22*7ebd8b66SMauro Carvalho ChehabThis driver supports various Lineage Compact Power Line DC/DC and AC/DC
23*7ebd8b66SMauro Carvalho Chehabconverters such as CP1800, CP2000AC, CP2000DC, CP2100DC, and others.
24*7ebd8b66SMauro Carvalho Chehab
25*7ebd8b66SMauro Carvalho ChehabLineage CPL power entry modules are nominally PMBus compliant. However, most
26*7ebd8b66SMauro Carvalho Chehabstandard PMBus commands are not supported. Specifically, all hardware monitoring
27*7ebd8b66SMauro Carvalho Chehaband status reporting commands are non-standard. For this reason, a standard
28*7ebd8b66SMauro Carvalho ChehabPMBus driver can not be used.
29*7ebd8b66SMauro Carvalho Chehab
30*7ebd8b66SMauro Carvalho Chehab
31*7ebd8b66SMauro Carvalho ChehabUsage Notes
32*7ebd8b66SMauro Carvalho Chehab-----------
33*7ebd8b66SMauro Carvalho Chehab
34*7ebd8b66SMauro Carvalho ChehabThis driver does not probe for Lineage CPL devices, since there is no register
35*7ebd8b66SMauro Carvalho Chehabwhich can be safely used to identify the chip. You will have to instantiate
36*7ebd8b66SMauro Carvalho Chehabthe devices explicitly.
37*7ebd8b66SMauro Carvalho Chehab
38*7ebd8b66SMauro Carvalho ChehabExample: the following will load the driver for a Lineage PEM at address 0x40
39*7ebd8b66SMauro Carvalho Chehabon I2C bus #1::
40*7ebd8b66SMauro Carvalho Chehab
41*7ebd8b66SMauro Carvalho Chehab	$ modprobe lineage-pem
42*7ebd8b66SMauro Carvalho Chehab	$ echo lineage-pem 0x40 > /sys/bus/i2c/devices/i2c-1/new_device
43*7ebd8b66SMauro Carvalho Chehab
44*7ebd8b66SMauro Carvalho ChehabAll Lineage CPL power entry modules have a built-in I2C bus master selector
45*7ebd8b66SMauro Carvalho Chehab(PCA9541). To ensure device access, this driver should only be used as client
46*7ebd8b66SMauro Carvalho Chehabdriver to the pca9541 I2C master selector driver.
47*7ebd8b66SMauro Carvalho Chehab
48*7ebd8b66SMauro Carvalho Chehab
49*7ebd8b66SMauro Carvalho ChehabSysfs entries
50*7ebd8b66SMauro Carvalho Chehab-------------
51*7ebd8b66SMauro Carvalho Chehab
52*7ebd8b66SMauro Carvalho ChehabAll Lineage CPL devices report output voltage and device temperature as well as
53*7ebd8b66SMauro Carvalho Chehabalarms for output voltage, temperature, input voltage, input current, input power,
54*7ebd8b66SMauro Carvalho Chehaband fan status.
55*7ebd8b66SMauro Carvalho Chehab
56*7ebd8b66SMauro Carvalho ChehabInput voltage, input current, input power, and fan speed measurement is only
57*7ebd8b66SMauro Carvalho Chehabsupported on newer devices. The driver detects if those attributes are supported,
58*7ebd8b66SMauro Carvalho Chehaband only creates respective sysfs entries if they are.
59*7ebd8b66SMauro Carvalho Chehab
60*7ebd8b66SMauro Carvalho Chehab======================= ===============================
61*7ebd8b66SMauro Carvalho Chehabin1_input		Output voltage (mV)
62*7ebd8b66SMauro Carvalho Chehabin1_min_alarm		Output undervoltage alarm
63*7ebd8b66SMauro Carvalho Chehabin1_max_alarm		Output overvoltage alarm
64*7ebd8b66SMauro Carvalho Chehabin1_crit		Output voltage critical alarm
65*7ebd8b66SMauro Carvalho Chehab
66*7ebd8b66SMauro Carvalho Chehabin2_input		Input voltage (mV, optional)
67*7ebd8b66SMauro Carvalho Chehabin2_alarm		Input voltage alarm
68*7ebd8b66SMauro Carvalho Chehab
69*7ebd8b66SMauro Carvalho Chehabcurr1_input		Input current (mA, optional)
70*7ebd8b66SMauro Carvalho Chehabcurr1_alarm		Input overcurrent alarm
71*7ebd8b66SMauro Carvalho Chehab
72*7ebd8b66SMauro Carvalho Chehabpower1_input		Input power (uW, optional)
73*7ebd8b66SMauro Carvalho Chehabpower1_alarm		Input power alarm
74*7ebd8b66SMauro Carvalho Chehab
75*7ebd8b66SMauro Carvalho Chehabfan1_input		Fan 1 speed (rpm, optional)
76*7ebd8b66SMauro Carvalho Chehabfan2_input		Fan 2 speed (rpm, optional)
77*7ebd8b66SMauro Carvalho Chehabfan3_input		Fan 3 speed (rpm, optional)
78*7ebd8b66SMauro Carvalho Chehab
79*7ebd8b66SMauro Carvalho Chehabtemp1_input
80*7ebd8b66SMauro Carvalho Chehabtemp1_max
81*7ebd8b66SMauro Carvalho Chehabtemp1_crit
82*7ebd8b66SMauro Carvalho Chehabtemp1_alarm
83*7ebd8b66SMauro Carvalho Chehabtemp1_crit_alarm
84*7ebd8b66SMauro Carvalho Chehabtemp1_fault
85*7ebd8b66SMauro Carvalho Chehab======================= ===============================
86