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