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