1*971dfd8cSVadim Pasternak.. SPDX-License-Identifier: GPL-2.0 2*971dfd8cSVadim Pasternak 3*971dfd8cSVadim PasternakKernel driver xdpe122 4*971dfd8cSVadim Pasternak===================== 5*971dfd8cSVadim Pasternak 6*971dfd8cSVadim PasternakSupported chips: 7*971dfd8cSVadim Pasternak 8*971dfd8cSVadim Pasternak * Infineon XDPE12254 9*971dfd8cSVadim Pasternak 10*971dfd8cSVadim Pasternak Prefix: 'xdpe12254' 11*971dfd8cSVadim Pasternak 12*971dfd8cSVadim Pasternak * Infineon XDPE12284 13*971dfd8cSVadim Pasternak 14*971dfd8cSVadim Pasternak Prefix: 'xdpe12284' 15*971dfd8cSVadim Pasternak 16*971dfd8cSVadim PasternakAuthors: 17*971dfd8cSVadim Pasternak 18*971dfd8cSVadim Pasternak Vadim Pasternak <vadimp@mellanox.com> 19*971dfd8cSVadim Pasternak 20*971dfd8cSVadim PasternakDescription 21*971dfd8cSVadim Pasternak----------- 22*971dfd8cSVadim Pasternak 23*971dfd8cSVadim PasternakThis driver implements support for Infineon Multi-phase XDPE122 family 24*971dfd8cSVadim Pasternakdual loop voltage regulators. 25*971dfd8cSVadim PasternakThe family includes XDPE12284 and XDPE12254 devices. 26*971dfd8cSVadim PasternakThe devices from this family complaint with: 27*971dfd8cSVadim Pasternak- Intel VR13 and VR13HC rev 1.3, IMVP8 rev 1.2 and IMPVP9 rev 1.3 DC-DC 28*971dfd8cSVadim Pasternak converter specification. 29*971dfd8cSVadim Pasternak- Intel SVID rev 1.9. protocol. 30*971dfd8cSVadim Pasternak- PMBus rev 1.3 interface. 31*971dfd8cSVadim Pasternak 32*971dfd8cSVadim PasternakDevices support linear format for reading input voltage, input and output current, 33*971dfd8cSVadim Pasternakinput and output power and temperature. 34*971dfd8cSVadim PasternakDevice supports VID format for reading output voltage. The below modes are 35*971dfd8cSVadim Pasternaksupported: 36*971dfd8cSVadim Pasternak- VR12.0 mode, 5-mV DAC - 0x01. 37*971dfd8cSVadim Pasternak- VR12.5 mode, 10-mV DAC - 0x02. 38*971dfd8cSVadim Pasternak- IMVP9 mode, 5-mV DAC - 0x03. 39*971dfd8cSVadim Pasternak- AMD mode 6.25mV - 0x10. 40*971dfd8cSVadim Pasternak 41*971dfd8cSVadim PasternakDevices support two pages for telemetry. 42*971dfd8cSVadim Pasternak 43*971dfd8cSVadim PasternakThe driver provides for current: input, maximum and critical thresholds 44*971dfd8cSVadim Pasternakand maximum and critical alarms. Critical thresholds and critical alarm are 45*971dfd8cSVadim Pasternaksupported only for current output. 46*971dfd8cSVadim PasternakThe driver exports the following attributes for via the sysfs files, where 47*971dfd8cSVadim Pasternakindexes 1, 2 are for "iin" and 3, 4 for "iout": 48*971dfd8cSVadim Pasternak 49*971dfd8cSVadim Pasternak**curr[3-4]_crit** 50*971dfd8cSVadim Pasternak 51*971dfd8cSVadim Pasternak**curr[3-4]_crit_alarm** 52*971dfd8cSVadim Pasternak 53*971dfd8cSVadim Pasternak**curr[1-4]_input** 54*971dfd8cSVadim Pasternak 55*971dfd8cSVadim Pasternak**curr[1-4]_label** 56*971dfd8cSVadim Pasternak 57*971dfd8cSVadim Pasternak**curr[1-4]_max** 58*971dfd8cSVadim Pasternak 59*971dfd8cSVadim Pasternak**curr[1-4]_max_alarm** 60*971dfd8cSVadim Pasternak 61*971dfd8cSVadim PasternakThe driver provides for voltage: input, critical and low critical thresholds 62*971dfd8cSVadim Pasternakand critical and low critical alarms. 63*971dfd8cSVadim PasternakThe driver exports the following attributes for via the sysfs files, where 64*971dfd8cSVadim Pasternakindexes 1, 2 are for "vin" and 3, 4 for "vout": 65*971dfd8cSVadim Pasternak 66*971dfd8cSVadim Pasternak**in[1-4]_crit** 67*971dfd8cSVadim Pasternak 68*971dfd8cSVadim Pasternak**in[1-4_crit_alarm** 69*971dfd8cSVadim Pasternak 70*971dfd8cSVadim Pasternak**in[1-4]_input** 71*971dfd8cSVadim Pasternak 72*971dfd8cSVadim Pasternak**in[1-4_label** 73*971dfd8cSVadim Pasternak 74*971dfd8cSVadim Pasternak**in[1-4]_lcrit** 75*971dfd8cSVadim Pasternak 76*971dfd8cSVadim Pasternak**in[1-41_lcrit_alarm** 77*971dfd8cSVadim Pasternak 78*971dfd8cSVadim PasternakThe driver provides for power: input and alarms. Power alarm is supported only 79*971dfd8cSVadim Pasternakfor power input. 80*971dfd8cSVadim PasternakThe driver exports the following attributes for via the sysfs files, where 81*971dfd8cSVadim Pasternakindexes 1, 2 are for "pin" and 3, 4 for "pout": 82*971dfd8cSVadim Pasternak 83*971dfd8cSVadim Pasternak**power[1-2]_alarm** 84*971dfd8cSVadim Pasternak 85*971dfd8cSVadim Pasternak**power[1-4]_input** 86*971dfd8cSVadim Pasternak 87*971dfd8cSVadim Pasternak**power[1-4]_label** 88*971dfd8cSVadim Pasternak 89*971dfd8cSVadim PasternakThe driver provides for temperature: input, maximum and critical thresholds 90*971dfd8cSVadim Pasternakand maximum and critical alarms. 91*971dfd8cSVadim PasternakThe driver exports the following attributes for via the sysfs files: 92*971dfd8cSVadim Pasternak 93*971dfd8cSVadim Pasternak**temp[1-2]_crit** 94*971dfd8cSVadim Pasternak 95*971dfd8cSVadim Pasternak**temp[1-2]_crit_alarm** 96*971dfd8cSVadim Pasternak 97*971dfd8cSVadim Pasternak**temp[1-2]_input** 98*971dfd8cSVadim Pasternak 99*971dfd8cSVadim Pasternak**temp[1-2]_max** 100*971dfd8cSVadim Pasternak 101*971dfd8cSVadim Pasternak**temp[1-2]_max_alarm** 102