1.. SPDX-License-Identifier: GPL-2.0 2 3Kernel driver mp2975 4==================== 5 6Supported chips: 7 8 * MPS MP12254 9 10 Prefix: 'mp2975' 11 12Author: 13 14 Vadim Pasternak <vadimp@nvidia.com> 15 16Description 17----------- 18 19This driver implements support for Monolithic Power Systems, Inc. (MPS) 20vendor dual-loop, digital, multi-phase controller MP2975. 21 22This device: 23 24- Supports up to two power rail. 25- Provides 8 pulse-width modulations (PWMs), and can be configured up 26 to 8-phase operation for rail 1 and up to 4-phase operation for rail 27 2. 28- Supports two pages 0 and 1 for telemetry and also pages 2 and 3 for 29 configuration. 30- Can configured VOUT readout in direct or VID format and allows 31 setting of different formats on rails 1 and 2. For VID the following 32 protocols are available: VR13 mode with 5-mV DAC; VR13 mode with 33 10-mV DAC, IMVP9 mode with 5-mV DAC. 34 35Device supports: 36 37- SVID interface. 38- AVSBus interface. 39 40Device complaint with: 41 42- PMBus rev 1.3 interface. 43 44Device supports direct format for reading output current, output voltage, 45input and output power and temperature. 46Device supports linear format for reading input voltage and input power. 47Device supports VID and direct formats for reading output voltage. 48The below VID modes are supported: VR12, VR13, IMVP9. 49 50The driver provides the next attributes for the current: 51 52- for current in: input, maximum alarm; 53- for current out input, maximum alarm and highest values; 54- for phase current: input and label. 55 attributes. 56 57The driver exports the following attributes via the 'sysfs' files, where 58 59- 'n' is number of telemetry pages (from 1 to 2); 60- 'k' is number of configured phases (from 1 to 8); 61- indexes 1, 1*n for "iin"; 62- indexes n+1, n+2 for "iout"; 63- indexes 2*n+1 ... 2*n + k for phases. 64 65**curr[1-{2n}]_alarm** 66 67**curr[{n+1}-{n+2}]_highest** 68 69**curr[1-{2n+k}]_input** 70 71**curr[1-{2n+k}]_label** 72 73The driver provides the next attributes for the voltage: 74 75- for voltage in: input, high critical threshold, high critical alarm, all only 76 from page 0; 77- for voltage out: input, low and high critical thresholds, low and high 78 critical alarms, from pages 0 and 1; 79 80The driver exports the following attributes via the 'sysfs' files, where 81 82- 'n' is number of telemetry pages (from 1 to 2); 83- indexes 1 for "iin"; 84- indexes n+1, n+2 for "vout"; 85 86**in[1-{2n+1}]_crit** 87 88**in[1-{2n+1}]_crit_alarm** 89 90**in[1-{2n+1}]_input** 91 92**in[1-{2n+1}]_label** 93 94**in[2-{n+1}]_lcrit** 95 96**in[2-{n+1}1_lcrit_alarm** 97 98The driver provides the next attributes for the power: 99 100- for power in alarm and input. 101- for power out: highest and input. 102 103The driver exports the following attributes via the 'sysfs' files, where 104 105- 'n' is number of telemetry pages (from 1 to 2); 106- indexes 1 for "pin"; 107- indexes n+1, n+2 for "pout"; 108 109**power1_alarm** 110 111**power[2-{n+1}]_highest** 112 113**power[1-{2n+1}]_input** 114 115**power[1-{2n+1}]_label** 116 117The driver provides the next attributes for the temperature (only from page 0): 118 119 120**temp1_crit** 121 122**temp1_crit_alarm** 123 124**temp1_input** 125 126**temp1_max** 127 128**temp1_max_alarm** 129