• Home
  • Raw
  • Download

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

1 // SPDX-License-Identifier: GPL-2.0-or-later
24 #define TPS53679_PROT_VR12_5MV 0x01 /* VR12.0 mode, 5-mV DAC */
25 #define TPS53679_PROT_VR12_5_10MV 0x02 /* VR12.5 mode, 10-mV DAC */
26 #define TPS53679_PROT_VR13_10MV 0x04 /* VR13.0 mode, 10-mV DAC */
27 #define TPS53679_PROT_IMVP8_5MV 0x05 /* IMVP8 mode, 5-mV DAC */
28 #define TPS53679_PROT_VR13_5MV 0x07 /* VR13.0 mode, 5-mV DAC */
45 for (i = 0; i < info->pages; i++) { in tps53679_identify_mode()
56 info->vrm_version[i] = vr13; in tps53679_identify_mode()
61 info->vrm_version[i] = vr12; in tps53679_identify_mode()
64 return -EINVAL; in tps53679_identify_mode()
76 /* On TPS53681, only channel A provides per-phase output current */ in tps53679_identify_phases()
80 info->phases[0] = (ret & 0x07) + 1; in tps53679_identify_phases()
95 dev_err(&client->dev, "Unexpected PMBus revision 0x%x\n", ret); in tps53679_identify_chip()
96 return -ENODEV; in tps53679_identify_chip()
103 dev_err(&client->dev, "Unexpected device ID 0x%x\n", buf[0]); in tps53679_identify_chip()
104 return -ENODEV; in tps53679_identify_chip()
110 * Common identification function for chips with multi-phase support.
147 int phase, int reg) in tps53681_read_word_data() argument
151 * the chip datasheet is a bit vague. It says "PHASE must be set to in tps53681_read_word_data()
152 * FFh to access all phases simultaneously. PHASE may also be set to in tps53681_read_word_data()
153 * 80h readack (!) the total phase current". in tps53681_read_word_data()
155 * current for all phases if the phase is set to 0xff. Instead, it in tps53681_read_word_data()
156 * appears to report the current of one of the phases. Override phase in tps53681_read_word_data()
159 if (reg == PMBUS_READ_IOUT && page == 0 && phase == 0xff) in tps53681_read_word_data()
161 return -ENODATA; in tps53681_read_word_data()
190 struct device *dev = &client->dev; in tps53679_probe()
194 if (dev->of_node) in tps53679_probe()
197 chip_id = i2c_match_id(tps53679_id, client)->driver_data; in tps53679_probe()
201 return -ENOMEM; in tps53679_probe()
206 info->pages = TPS53647_PAGE_NUM; in tps53679_probe()
207 info->identify = tps53679_identify; in tps53679_probe()
211 info->pages = TPS53679_PAGE_NUM; in tps53679_probe()
212 info->identify = tps53679_identify; in tps53679_probe()
215 info->pages = TPS53679_PAGE_NUM; in tps53679_probe()
216 info->phases[0] = 6; in tps53679_probe()
217 info->identify = tps53681_identify; in tps53679_probe()
218 info->read_word_data = tps53681_read_word_data; in tps53679_probe()
221 return -ENODEV; in tps53679_probe()