xref: /openbmc/linux/Documentation/hwmon/mp2975.rst (revision cdd38c5f1ce4398ec58fec95904b75824daab7b5)
12c6fcbb2SVadim Pasternak.. SPDX-License-Identifier: GPL-2.0
22c6fcbb2SVadim Pasternak
32c6fcbb2SVadim PasternakKernel driver mp2975
42c6fcbb2SVadim Pasternak====================
52c6fcbb2SVadim Pasternak
62c6fcbb2SVadim PasternakSupported chips:
72c6fcbb2SVadim Pasternak
82c6fcbb2SVadim Pasternak  * MPS MP12254
92c6fcbb2SVadim Pasternak
102c6fcbb2SVadim Pasternak    Prefix: 'mp2975'
112c6fcbb2SVadim Pasternak
122c6fcbb2SVadim PasternakAuthor:
132c6fcbb2SVadim Pasternak
142c6fcbb2SVadim Pasternak	Vadim Pasternak <vadimp@nvidia.com>
152c6fcbb2SVadim Pasternak
162c6fcbb2SVadim PasternakDescription
172c6fcbb2SVadim Pasternak-----------
182c6fcbb2SVadim Pasternak
192c6fcbb2SVadim PasternakThis driver implements support for Monolithic Power Systems, Inc. (MPS)
202c6fcbb2SVadim Pasternakvendor dual-loop, digital, multi-phase controller MP2975.
212c6fcbb2SVadim Pasternak
222c6fcbb2SVadim PasternakThis device:
23*9d8c4f0cSMauro Carvalho Chehab
242c6fcbb2SVadim Pasternak- Supports up to two power rail.
252c6fcbb2SVadim Pasternak- Provides 8 pulse-width modulations (PWMs), and can be configured up
262c6fcbb2SVadim Pasternak  to 8-phase operation for rail 1 and up to 4-phase operation for rail
272c6fcbb2SVadim Pasternak  2.
282c6fcbb2SVadim Pasternak- Supports two pages 0 and 1 for telemetry and also pages 2 and 3 for
292c6fcbb2SVadim Pasternak  configuration.
302c6fcbb2SVadim Pasternak- Can configured VOUT readout in direct or VID format and allows
312c6fcbb2SVadim Pasternak  setting of different formats on rails 1 and 2. For VID the following
322c6fcbb2SVadim Pasternak  protocols are available: VR13 mode with 5-mV DAC; VR13 mode with
332c6fcbb2SVadim Pasternak  10-mV DAC, IMVP9 mode with 5-mV DAC.
342c6fcbb2SVadim Pasternak
352c6fcbb2SVadim PasternakDevice supports:
36*9d8c4f0cSMauro Carvalho Chehab
372c6fcbb2SVadim Pasternak- SVID interface.
382c6fcbb2SVadim Pasternak- AVSBus interface.
392c6fcbb2SVadim Pasternak
402c6fcbb2SVadim PasternakDevice complaint with:
41*9d8c4f0cSMauro Carvalho Chehab
422c6fcbb2SVadim Pasternak- PMBus rev 1.3 interface.
432c6fcbb2SVadim Pasternak
442c6fcbb2SVadim PasternakDevice supports direct format for reading output current, output voltage,
452c6fcbb2SVadim Pasternakinput and output power and temperature.
462c6fcbb2SVadim PasternakDevice supports linear format for reading input voltage and input power.
472c6fcbb2SVadim PasternakDevice supports VID and direct formats for reading output voltage.
482c6fcbb2SVadim PasternakThe below VID modes are supported: VR12, VR13, IMVP9.
492c6fcbb2SVadim Pasternak
502c6fcbb2SVadim PasternakThe driver provides the next attributes for the current:
51*9d8c4f0cSMauro Carvalho Chehab
522c6fcbb2SVadim Pasternak- for current in: input, maximum alarm;
532c6fcbb2SVadim Pasternak- for current out input, maximum alarm and highest values;
542c6fcbb2SVadim Pasternak- for phase current: input and label.
552c6fcbb2SVadim Pasternak  attributes.
56*9d8c4f0cSMauro Carvalho Chehab
572c6fcbb2SVadim PasternakThe driver exports the following attributes via the 'sysfs' files, where
58*9d8c4f0cSMauro Carvalho Chehab
592c6fcbb2SVadim Pasternak- 'n' is number of telemetry pages (from 1 to 2);
602c6fcbb2SVadim Pasternak- 'k' is number of configured phases (from 1 to 8);
612c6fcbb2SVadim Pasternak- indexes 1, 1*n for "iin";
622c6fcbb2SVadim Pasternak- indexes n+1, n+2 for "iout";
632c6fcbb2SVadim Pasternak- indexes 2*n+1 ... 2*n + k for phases.
642c6fcbb2SVadim Pasternak
652c6fcbb2SVadim Pasternak**curr[1-{2n}]_alarm**
662c6fcbb2SVadim Pasternak
672c6fcbb2SVadim Pasternak**curr[{n+1}-{n+2}]_highest**
682c6fcbb2SVadim Pasternak
692c6fcbb2SVadim Pasternak**curr[1-{2n+k}]_input**
702c6fcbb2SVadim Pasternak
712c6fcbb2SVadim Pasternak**curr[1-{2n+k}]_label**
722c6fcbb2SVadim Pasternak
732c6fcbb2SVadim PasternakThe driver provides the next attributes for the voltage:
74*9d8c4f0cSMauro Carvalho Chehab
752c6fcbb2SVadim Pasternak- for voltage in: input, high critical threshold, high critical alarm, all only
762c6fcbb2SVadim Pasternak  from page 0;
772c6fcbb2SVadim Pasternak- for voltage out: input, low and high critical thresholds, low and high
782c6fcbb2SVadim Pasternak  critical alarms, from pages 0 and 1;
79*9d8c4f0cSMauro Carvalho Chehab
802c6fcbb2SVadim PasternakThe driver exports the following attributes via the 'sysfs' files, where
81*9d8c4f0cSMauro Carvalho Chehab
822c6fcbb2SVadim Pasternak- 'n' is number of telemetry pages (from 1 to 2);
832c6fcbb2SVadim Pasternak- indexes 1 for "iin";
842c6fcbb2SVadim Pasternak- indexes n+1, n+2 for "vout";
852c6fcbb2SVadim Pasternak
862c6fcbb2SVadim Pasternak**in[1-{2n+1}]_crit**
872c6fcbb2SVadim Pasternak
882c6fcbb2SVadim Pasternak**in[1-{2n+1}]_crit_alarm**
892c6fcbb2SVadim Pasternak
902c6fcbb2SVadim Pasternak**in[1-{2n+1}]_input**
912c6fcbb2SVadim Pasternak
922c6fcbb2SVadim Pasternak**in[1-{2n+1}]_label**
932c6fcbb2SVadim Pasternak
942c6fcbb2SVadim Pasternak**in[2-{n+1}]_lcrit**
952c6fcbb2SVadim Pasternak
962c6fcbb2SVadim Pasternak**in[2-{n+1}1_lcrit_alarm**
972c6fcbb2SVadim Pasternak
982c6fcbb2SVadim PasternakThe driver provides the next attributes for the power:
99*9d8c4f0cSMauro Carvalho Chehab
1002c6fcbb2SVadim Pasternak- for power in alarm and input.
1012c6fcbb2SVadim Pasternak- for power out: highest and input.
102*9d8c4f0cSMauro Carvalho Chehab
1032c6fcbb2SVadim PasternakThe driver exports the following attributes via the 'sysfs' files, where
104*9d8c4f0cSMauro Carvalho Chehab
1052c6fcbb2SVadim Pasternak- 'n' is number of telemetry pages (from 1 to 2);
1062c6fcbb2SVadim Pasternak- indexes 1 for "pin";
1072c6fcbb2SVadim Pasternak- indexes n+1, n+2 for "pout";
1082c6fcbb2SVadim Pasternak
1092c6fcbb2SVadim Pasternak**power1_alarm**
1102c6fcbb2SVadim Pasternak
1112c6fcbb2SVadim Pasternak**power[2-{n+1}]_highest**
1122c6fcbb2SVadim Pasternak
1132c6fcbb2SVadim Pasternak**power[1-{2n+1}]_input**
1142c6fcbb2SVadim Pasternak
1152c6fcbb2SVadim Pasternak**power[1-{2n+1}]_label**
1162c6fcbb2SVadim Pasternak
1172c6fcbb2SVadim PasternakThe driver provides the next attributes for the temperature (only from page 0):
1182c6fcbb2SVadim Pasternak
1192c6fcbb2SVadim Pasternak
1202c6fcbb2SVadim Pasternak**temp1_crit**
1212c6fcbb2SVadim Pasternak
1222c6fcbb2SVadim Pasternak**temp1_crit_alarm**
1232c6fcbb2SVadim Pasternak
1242c6fcbb2SVadim Pasternak**temp1_input**
1252c6fcbb2SVadim Pasternak
1262c6fcbb2SVadim Pasternak**temp1_max**
1272c6fcbb2SVadim Pasternak
1282c6fcbb2SVadim Pasternak**temp1_max_alarm**
129