Lines Matching +full:multi +full:- +full:phase

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Hardware monitoring driver for Infineon Multi-phase Digital VR Controllers
17 #define XDPE122_PROT_VR12_5MV 0x01 /* VR12.0 mode, 5-mV DAC */
18 #define XDPE122_PROT_VR12_5_10MV 0x02 /* VR12.5 mode, 10-mV DAC */
19 #define XDPE122_PROT_IMVP9_10MV 0x03 /* IMVP9 mode, 10-mV DAC */
24 int phase, int reg) in xdpe122_read_word_data() argument
35 ret = pmbus_read_word_data(client, page, phase, reg); in xdpe122_read_word_data()
46 val >>= -exponent; in xdpe122_read_word_data()
49 switch (info->vrm_version[page]) { in xdpe122_read_word_data()
52 return 1 + DIV_ROUND_CLOSEST(val - 500, 10); in xdpe122_read_word_data()
56 return 1 + DIV_ROUND_CLOSEST(val - 250, 5); in xdpe122_read_word_data()
60 return 1 + DIV_ROUND_CLOSEST(val - 200, 10); in xdpe122_read_word_data()
64 return DIV_ROUND_CLOSEST((1550 - val) * 100, in xdpe122_read_word_data()
68 return -EINVAL; in xdpe122_read_word_data()
71 return -ENODATA; in xdpe122_read_word_data()
87 info->format[PSC_VOLTAGE_OUT] = linear; in xdpe122_identify()
90 info->format[PSC_VOLTAGE_OUT] = vid; in xdpe122_identify()
91 info->read_word_data = xdpe122_read_word_data; in xdpe122_identify()
94 return -ENODEV; in xdpe122_identify()
108 info->vrm_version[i] = vr13; in xdpe122_identify()
111 info->vrm_version[i] = vr12; in xdpe122_identify()
114 info->vrm_version[i] = imvp9; in xdpe122_identify()
117 info->vrm_version[i] = amd625mv; in xdpe122_identify()
120 return -EINVAL; in xdpe122_identify()
158 info = devm_kmemdup(&client->dev, &xdpe122_info, sizeof(*info), in xdpe122_probe()
161 return -ENOMEM; in xdpe122_probe()