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- Supports up to two power rail. 24- Provides 8 pulse-width modulations (PWMs), and can be configured up 25 to 8-phase operation for rail 1 and up to 4-phase operation for rail 26 2. 27- Supports two pages 0 and 1 for telemetry and also pages 2 and 3 for 28 configuration. 29- Can configured VOUT readout in direct or VID format and allows 30 setting of different formats on rails 1 and 2. For VID the following 31 protocols are available: VR13 mode with 5-mV DAC; VR13 mode with 32 10-mV DAC, IMVP9 mode with 5-mV DAC. 33 34Device supports: 35- SVID interface. 36- AVSBus interface. 37 38Device complaint with: 39- PMBus rev 1.3 interface. 40 41Device supports direct format for reading output current, output voltage, 42input and output power and temperature. 43Device supports linear format for reading input voltage and input power. 44Device supports VID and direct formats for reading output voltage. 45The below VID modes are supported: VR12, VR13, IMVP9. 46 47The driver provides the next attributes for the current: 48- for current in: input, maximum alarm; 49- for current out input, maximum alarm and highest values; 50- for phase current: input and label. 51attributes. 52The driver exports the following attributes via the 'sysfs' files, where 53- 'n' is number of telemetry pages (from 1 to 2); 54- 'k' is number of configured phases (from 1 to 8); 55- indexes 1, 1*n for "iin"; 56- indexes n+1, n+2 for "iout"; 57- indexes 2*n+1 ... 2*n + k for phases. 58 59**curr[1-{2n}]_alarm** 60 61**curr[{n+1}-{n+2}]_highest** 62 63**curr[1-{2n+k}]_input** 64 65**curr[1-{2n+k}]_label** 66 67The driver provides the next attributes for the voltage: 68- for voltage in: input, high critical threshold, high critical alarm, all only 69 from page 0; 70- for voltage out: input, low and high critical thresholds, low and high 71 critical alarms, from pages 0 and 1; 72The driver exports the following attributes via the 'sysfs' files, where 73- 'n' is number of telemetry pages (from 1 to 2); 74- indexes 1 for "iin"; 75- indexes n+1, n+2 for "vout"; 76 77**in[1-{2n+1}]_crit** 78 79**in[1-{2n+1}]_crit_alarm** 80 81**in[1-{2n+1}]_input** 82 83**in[1-{2n+1}]_label** 84 85**in[2-{n+1}]_lcrit** 86 87**in[2-{n+1}1_lcrit_alarm** 88 89The driver provides the next attributes for the power: 90- for power in alarm and input. 91- for power out: highest and input. 92The driver exports the following attributes via the 'sysfs' files, where 93- 'n' is number of telemetry pages (from 1 to 2); 94- indexes 1 for "pin"; 95- indexes n+1, n+2 for "pout"; 96 97**power1_alarm** 98 99**power[2-{n+1}]_highest** 100 101**power[1-{2n+1}]_input** 102 103**power[1-{2n+1}]_label** 104 105The driver provides the next attributes for the temperature (only from page 0): 106 107 108**temp1_crit** 109 110**temp1_crit_alarm** 111 112**temp1_input** 113 114**temp1_max** 115 116**temp1_max_alarm** 117