VRM modify ICC_MAX to run high Current/TDP OEM processors

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
OK, for all who want to run high TDC OEM processors on motherboards don't support this by default.
currentyl supported are the following motherboards:

Supermicro X11SPM-(T/P)F
Supermicro X11SPi-NT
Supermicro X11SPL-F
Supermicro X11DPi-N(T)
Supermicro X11DPH-i/T
Supermicro X11DPG-QT
intel S2600BP?
intel S2600WF?
intel S2600ST?
Dell Precision T7820
Dell Precision T7920
Dell Precision R7920
Dell PowerEdge T640
Dell PowerEdge R640
Dell PowerEdge R740
HPE Proliant DL380 Gen10
HPE Proliant DL360 Gen10

The Thermal Design Current(TDC) of those processors is 255A, std.default is 228A(TDP=165-205W) and lower.
You can see this TDC value with AIDA, HWinfo does not show this parameter or as PL4.
UnbenanntQL2K cpuidC.png

actualy there are three ways to do this, except for boards with PXE1610C ( only supported by MCP2221a )
1) MCP2221a (Adafruit)
i made a c# console app for automatic programming ( MCP2221a_iccmax_FF(16042024).7z ) vrm TPS53679/PXE1610C/MP2955A
(if you have concerns using my exe on your system: use iLSpy to see/get the c# sourcecode of them, and recomplie your own)
typical usage(cmd window)
"MCP2221a_iccmax_FF -MP2955A 20"
or
"MCP2221a_iccmax_FF -PXE1610C 60"
or
"MCP2221a_iccmax_FF -TPS53679 58"

2)
only MP2955A used in
X11SPM-T(P/F)
X11DPi-N(T) rev.2.x and up

and others
you need I2C interface MPS EVKT-USBI2C-02:
MPS Software V4.5.11 ( if you don't get the Software with MP2955A support, PM me )

3) only for mboards use MPS MP2955A and TI TPS53679
We need the ElmorLabs EVC2SX/EVC2SE and the Software EVC2 1.0.1.13

I have made a device-xml for the EVC2 Software, MP2955A_PMBUS.xml
put it in the folder /I2C_DEVICES and delete all other files.

Code:
<?xml version="1.0" encoding="utf-8"?>

<EVC2>

    <!-- Application metadata -->
    <Application>
        <SoftwareVersion>12</SoftwareVersion>
        <FileVersion>6</FileVersion>
    </Application>

    <!-- Device specification -->
    <Device>
        <Name>MP2955A (PMBus)</Name>
        <Class>1</Class>
        <BusType>1</BusType>
        <BusSpeed>100</BusSpeed>
        <Address Type="Range">
            <Start>10</Start>
            <End>40</End>
        </Address>
        <Detect Type="RegisterMatch">
            <Register>
                <Command>BF</Command>
                <Length>2</Length>
                <Data>2555</Data> <!-- MPS MP2955A, 2556=MP2956A,2558=MP2958A -->
            </Register>
        </Detect>

        <Constant> <!-- Read once -->

        </Constant>

        <Status>


        </Status>

        <Configuration><!-- Read/Write options -->

            <Item>
                <Name>ICC_MAX</Name>
                <PreExec>
                    <Command>00</Command><!-- select Page 0 -->
                    <Data>00</Data>
                </PreExec>
                <Register Type="List" Restrict="WriteOnly">
                    <Command>EF</Command>
                    <Length>1</Length>
                    <Data Desc="min.190A">BE</Data>
                    <Data Desc="def.228A">E4</Data>
                    <Data Desc="max.255A">FF</Data>
                </Register>
            </Item>

            <Item>
                <Name>STORE_USER_ALL</Name>
                <Register Type="List" Restrict="WriteOnly">
                    <Command>15</Command>
                    <Length>0</Length>
                    <Data Desc="No">0</Data>
                    <Data Desc="Yes">1</Data>
                </Register>
            </Item>

        </Configuration>

        <Monitoring>
            <Item>
                <Name>MFR_ICC_MAX</Name>
                <Register Type="Math">
                    <Command>EF</Command>
                    <Length>1</Length>
                    <Math>
                        <Factor>1</Factor>
                        <Unit>A</Unit>
                        <Format>F1</Format>
                    </Math>
                </Register>
            </Item>
            <Item>
                <Name>Output Current</Name>
                <Register Type="Math">
                    <Command>8C</Command>
                    <Length>2</Length>
                    <StartBit>0</StartBit>
                    <EndBit>10</EndBit>
                    <Math>
                        <Factor>0.25</Factor>
                        <Unit>A</Unit>
                        <Format>F1</Format>
                    </Math>
                </Register>
            </Item>
        </Monitoring>
    </Device>

</EVC2>
I have made a device-xml for the EVC2 Software, TPS53679_PMBUS.xml
Code:
<?xml version="1.0" encoding="utf-8"?>

<EVC2>
<!-- PMBus Device TPS -->
    <!-- Application metadata -->
    <Application>
        <SoftwareVersion>12</SoftwareVersion>
        <FileVersion>6</FileVersion>
    </Application>

    <!-- Device specification -->
    <Device>
        <Name>TPS53679 (PMBus)</Name>
        <Class>1</Class>
        <BusType>1</BusType>
        <BusSpeed>100</BusSpeed>
        <Address Type="Range">
            <Start>10</Start>
            <End>70</End>
        </Address>

        <Detect Type="RegisterMatch">

            <Register Type="Hex" AccessMethod="Normal">
                <Command>AD</Command> <!-- IC_DEVICE_ID        = 0xAD -->
                <Length>2</Length>
                <Data>7901</Data> <!-- 7901 = tps53679 -->
            </Register>

        </Detect>

        <Constant> <!-- Read once -->

            <Item>
                <Name>IOUT_MAX</Name>
                <PreExec>
                    <Command>00</Command><!-- select Page 0 -->
                    <Data>00</Data>
                </PreExec>
                <Register Type="Math" AccessMethod="Normal">
                    <Command>DA</Command>
                    <Length>2</Length>
                    <StartBit>0</StartBit>
                    <EndBit>7</EndBit>
                    <Math>
                        <Factor>1</Factor>
                        <Unit>A</Unit>
                        <Format>F0</Format>
                    </Math>
                </Register>
            </Item>

            <Item>
                <Name>IOUT_OC_FAULT_LIM</Name>
                <PreExec>
                    <Command>00</Command><!-- select Page 0 -->
                    <Data>00</Data>
                </PreExec>
                <Register Type="Math" AccessMethod="Normal">
                    <Command>46</Command>
                    <Length>2</Length>
                    <StartBit>0</StartBit>
                    <EndBit>10</EndBit>
                    <Math>
                        <Factor>1</Factor>
                        <Unit>A</Unit>
                        <Format>F0</Format>
                    </Math>
                </Register>
            </Item>

            <Item>
                <Name>IOUT_OC_WARN_LIM</Name>
                <PreExec>
                    <Command>00</Command><!-- select Page 0 -->
                    <Data>00</Data>
                </PreExec>
                <Register Type="Math" AccessMethod="Normal">
                    <Command>4A</Command>
                    <Length>2</Length>
                    <StartBit>0</StartBit>
                    <EndBit>10</EndBit>
                    <Math>
                        <Factor>1</Factor>
                        <Unit>A</Unit>
                        <Format>F0</Format>
                    </Math>
                </Register>
            </Item>
        </Constant>

        <Status>

        </Status>

        <Configuration> <!-- Read/Write options -->

            <Item>
                <Name>IOUT_MAX</Name>
                <PreExec>
                    <Command>00</Command> <!-- select Page 0 -->
                    <Data>00</Data>
                </PreExec>
                <Register Type="List">
                    <Command>DA</Command>
                    <Length>2</Length>
                    <StartBit>0</StartBit>
                    <EndBit>7</EndBit>
                    <Data Desc="low.190A">BE</Data> <!-- X11DPL-i standard -->
                    <Data Desc="def.228A">E4</Data> <!-- standard except X11DPL-i -->
                    <Data Desc="max.255A">FF</Data>
                </Register>
            </Item>

            <Item>
                <Name>STORE_DEFAULT_ALL</Name>
                <Register Type="List" Restrict="WriteOnly">
                    <Command>11</Command>
                    <Length>0</Length>
                    <Data Desc="No">0</Data>
                    <Data Desc="Yes">1</Data>
                </Register>
            </Item>

        </Configuration>

        <Monitoring>
            <Item>
                <Name>IOUT_MAX</Name>
                <PreExec>
                    <Command>00</Command> <!-- select Page 0 -->
                    <Data>00</Data>
                </PreExec>
                <Register Type="Math">
                    <Command>DA</Command>
                    <Length>2</Length>
                    <StartBit>0</StartBit>
                    <EndBit>7</EndBit>
                    <Math>
                        <Factor>1</Factor>
                        <Unit>A</Unit>
                        <Format>F1</Format>
                    </Math>
                </Register>
            </Item>

            <Item>
                <Name>Output Current</Name>
                <Register Type="Math">
                    <Command>8C</Command>
                    <Length>2</Length>
                    <StartBit>0</StartBit>
                    <EndBit>10</EndBit>
                    <Math>
                        <Factor>0.25</Factor>
                        <Unit>A</Unit>
                        <Format>F1</Format>
                    </Math>
                </Register>
            </Item>

        </Monitoring>
    </Device>

</EVC2>
Note:
If you don't have suported CPU(s) to do the modification try it with the high TDC CPU(s), mostly this works,
the system just turns on but you will get no display, the CPU(s) reset is helt low.
you can do now the VRM modification. With supported CPU(s) enter the BIOS and start modifying.

Do not power the X11SPM, install a CPU and connect the EVC2SX or MCP2221a header with a 3 wire Cable to the JVR1 header of the X11SPM
JVR1 c.jpg
Connect the EVC2SX with the USB Cable to your PC and start the EVC2 Software.
Now you can power on the X11SPM, click on I2C1 and click "Find Devices" the MP2955A should be found and visible under I2C1.
Click on this entry to open the Device:
EVC_MP2955A_01.jpg
click "Monitoring" to see the value of ICC_MAX.
you can select the standard or max. ICC_MAX in the dropdown menu.
EVC_MP2955A_02.jpg
STORE_USER_ALL is to save the setting permanent.
EVC_MP2955A_03.jpg
With a click at "Apply changes" the new ICC_MAX is written and if you choosed "yes" for STORE_USER-ALL this setting is copied in the NVM of the VRM controller.
EVC_MP2955A_04.jpg
If you have any questions, ask me.

X11DPi-N(T):
i have successfully modified a X11DPi-N(T) rev. 2.01A to run TDC 255A TDP 240W SKUs(i.e. Amazon AWS customs)
With CPU in both sockets installed the procedure is similar than decribed above, you will see two MP2955A (adr 0x20 and 0x21)
Remove the JVRM1/2 jumpers and connect the I2C :
JVRM1 pin2 = SCL
JVRM2 pin2 = SDA
USB2/3 pin7/8 = GND (or any other GND pin)

X11SPL-F X11SPi-TF X11DPL-i 11DPH-i :
we have successfully modified a X11SPL-F (adr 0x58), X11SPi-TF (adr 0x58), X11SPH (adr 0x58), X11DPL-i (adr 0x58 / 0x60) and X11DPH-i (adr 0x58 / 0x60) to run TDC 255A TDP 240W SKUs(i.e. Amazon AWS customs)
With CPU in both sockets installed the procedure is siliar than decribed above, you will see one or two TPS53679

X11SPL-F & X11SPM-(T)F (may block TDP higher than 165W,
Guide to make BIOS 3.8a with 255W support )
X11SPi-TF, X11SPH-nCT(P)F

JVR(M)1 pin1 = SCL
JVR(M)1 pin2 = SDA
JVR(M)1 pin3 = GND

X11DPi:
JVRM1_JVRM2.jpgX11DPi I2C.jpg
Remove the JVRM1/2 jumpers and connect the I2C :
JVRM1 pin2 = SCL
JVRM2 pin2 = SDA
USB2/3 pin7/8 = GND (or any other GND pin)
X11DPH / X11DPG:
Remove the JVRM1/2 jumpers and connect the I2C :
JVRM1 pin2 = SCL
JVRM2 pin2 = SDA
T-SGPIO1 Header Pin3/6 = GND (or any other GND pin)
X11DPL-i: (set to 228A to run up to 205W SKU)
Remove the JVRM1/2 jumpers and connect the I2C :
JVRM1 pin2 = SCL
JVRM2 pin2 = SDA
USB2 Header pin7/8 = GND (or any other GND pin)
 
Last edited:

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
Dell T7820 - T7920

On Dell T7820 i have to power up the system with supported CPU and have at least go to the BIOS.
with the MCP2221a and my CLI app this works fine, VRM addresses are 60 and 62 (if CPU2 Riser present)
here is a great howto

##################################################################
##################################################################
##################################################################

Dell T7920
VRM addresses are 60 and 62

VRM header location:
Dell T7920 PJPP2.jpg


##################################################################
##################################################################
##################################################################

and we have successfully modified a Lenovo P920 motherboard:
controllers are PXE1610C
addresses are 60/62(7bit) same like Dell.
I2C header is PJ1100 Pinout:
[1] SCL
(2) SDA
(3) Ground

if someone is interested, here is what you have to do:
investigate the addresses of the PXE1610C, ( i.e. 60h on the Dell T7820 motherboard )
use 400000hz I2C clock if possible.
all write/read to this client address:
write byte addr=00h, value=3Fh REM set Page to 63
write word addr=27h, value=B37Ch REM set reg_pwd - allow to change registers
write byte addr=00h, value=20h REM set Page to 32
write word addr=73h, value=00FFh REM set icc_max to 255Amps
read word addr=73h REM check if icc_max was changed
write byte addr=00h, value=3Fh REM set Page to 63
write word addr=29h, value=EFD7h REM set nvm_pwd - allow to access OTP NVM
write byte addr=00h, value=3Fh REM set Page to 63
SendByte addr=34h, no bytes REM upload_cfg_send_byte
pause 500ms REM give the controller time to work
write byte addr=00h, value=3Fh REM set Page to 63
write word addr=29h, value=0000h REM clr nvm_pwd

you can check if the remaining attempts are decremented, proof of succesful operation.
write byte addr=00h, value=50h REM set Page to 80
read word addr=82 REM bits 6 to 11 = OTP remaining attempts,
edit:
get a MCP2221a pcb, microchip provides a CLI & Terminal software.
Ada_MPC2221a.jpgMCterminal.jpg
replace the 60 with the 7 bit slave addr. of your system.(MCP2221 Terminal can investigate the connected Devices, read the Doc)
Code:
True,SMBus,7 bit,60,Write,0,"50",Off,,sel.Page 80,Send
True,SMBus,7 bit,60,Read,82,"2",Off,,read rem.Attempts,Send
True,SMBus,7 bit,60,Write,0,"3F",Off,,sel. Page 63,Send
True,SMBus,7 bit,60,Write,27,"7C,B3",Off,,write reg_pwd,Send
True,SMBus,7 bit,60,Write,0,"20",Off,,sel. Page 32,Send
True,SMBus,7 bit,60,Read,73,"2",Off,,read icc_max,Send
True,SMBus,7 bit,60,Write,73,"FF,00",Off,,write icc_max,Send
True,SMBus,7 bit,60,Read,73,"2",Off,,verify icc_max,Send
True,SMBus,7 bit,60,Write,0,"3F",Off,,sel. Page 63,Send
True,SMBus,7 bit,60,Write,29,"D7,EF",Off,,write nvm_pwd,Send
True,SMBus,7 bit,60,Write,34,"",Off,500,upload_cfg_send_byte,Send
True,SMBus,7 bit,60,Write,29,"0,0",Off,500,write nvm_pwd,Send
True,SMBus,7 bit,60,Write,0,"50",Off,,sel.Page 80,Send
True,SMBus,7 bit,60,Read,82,"2",Off,,read rem.Attempts,Send
create a *.csv and import in MCP2221 Terminal
update:
i made a c# app for automatic programming(only for MCP2221a). download here
 
Last edited:

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
S2600BPB uses other address. you can find it with MCP2221 Terminal search devices function.
supply only +5VSB without CPUs and you can access the VRMs of this board.
first PXE1610C 7/8 30h/60h
second PXE1610C 7/8 38h/70h
S2600BPB VRM addr sth.jpg
i made a c# app for automatic programming(MCP2221a). download here
(if you have concerns using my exe on your system: use iLSpy to see/get the c# sourcecode of them, and recomplie your own)

Where is 3 pin i2c connector on S2600BPB motherboard located?

SMBus VR.jpg
edit: the 3pin header is labeled "SMB VR"
just solder two cables on SCL/SDA and take any Ground Pin from USB i.e. or LAN shield metal.
if you want to install a 3Pin header don't waste your time with the ground pin, the heat is sinked by the huge copper plane, take a 0,8mm drill and remove the solder that way.
 
Last edited:

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
S2600WF

S2600WF
uses other address. you can find it with MCP2221 Terminal search devices function.
in standby mode without CPUs the VRMs can be accessed.
address 1st PXE1610C 7/8bit 28h/50h
address 2nd PXE1610C 7/8bit 38h/70h

default ICC_MAX is F5h / 245Amps - we give just 10Amps more

i made a c# app for automatic programming(MCP2221a). download here
(if you have concerns using my exe on your system: use iLSpy to see/get the c# sourcecode of them, and recomplie your own)

Where is 3 pin i2c connector on S2600WF motherboard located?

S2600WF J5D2 pinout.jpg
edit: the 3pin header is labeled "J5D2"

just solder two cables on SCL/SDA and take any Ground Pin from USB i.e. or LAN shield metal.
if you want to install a 3Pin header don't waste your time with the ground pin, the heat is sinked by the huge copper plane, take a 0,8mm drill and remove the solder that way.


S2600ST uses other address. you can find it with MCP2221 Terminal search devices function.
power the board with supported CPUs first, the VRMs addresses are:
address 1st PXE1610C 7bit 60h
address 2nd PXE1610C 7bit 62h
JVRM_J2J2.jpg
the 3pin header is labeled "J2J2"
J2J2 pin[1] = SDA
J2J2 pin(2) = GND
J2J2 pin(3) = SCL


X11SPA-(T)F
PXE1610C - 7bit addr. 50h
JVR1 pin[1] = SCL
JVR1 pin(2) = SDA
JVR1 pin(3) = GND
is here
JVRM1sth.jpgBsth35.jpg
i made a c# app for automatic programming(MCP2221a). download here
"MCP2221a_iccmax_FF.exe -PXE1610C 50"
(if you have concerns using my exe on your system: use iLSpy to see/get the c# sourcecode of them, and recomplie your own)
 
Last edited:

JoshDi

Active Member
Jun 13, 2019
246
120
43
woah this is sick! I have X11SPM motherboard and always was discouraged by this TDC limitation.
 
  • Like
Reactions: T_Minus

fkyuu

New Member
Jan 24, 2023
21
19
3
Neat, is there a list of processors and their associated TDCs? I'd love to see what processors I can and cannot run on my X11SPM, and what I could use after this mod.
 

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
Neat, is there a list of processors and their associated TDCs? I'd love to see what processors I can and cannot run on my X11SPM, and what I could use after this mod.
std. is 228A for SKU up to 205W TDP, SKUs with TDP 140W and lower have lower TDC.
W-3175X and OEM high current have TDC=255A
X11SPM & modded BIOS: with the modd to ICC_MAX=255A you can run ALL but don't expect full continious performance with the 5 VRM stages.
( latest BIOS blocks TDP higher than 165W on X11SPL & X11SPM in ProjectPeiDriver, check <<< this >>>)
 
Last edited:
  • Like
Reactions: T_Minus and Stephan

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
Guide in the Guide:
modify X11SPL-F & X11SPM-(T)(P)F BIOS 3.9 & 4.0 to support 255Watts
download the BIOS 3.9 or 4.0 from supermicro.
download HxD or use your favorite Hex Editor and open the BIOS file.

( A5 hex = 165 dec. / FF hex = 255 dec. )


X11SPL BIOS 3.6
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF C3 23"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF C3 6F"
X11SPL BIOS 3.9
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 62 6C"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 62 B8"
X11SPL BIOS 4.0
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 81 7A"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 81 C6"

X11SPM BIOS 3.4
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 82 9D"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 82 E9"
X11SPM BIOS 3.5
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 82 65"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 82 B1"
X11SPM BIOS 3.8a
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF C3 EE"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF C3 3A"
X11SPM BIOS 3.9
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 62 4A"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 62 96"
X11SPM BIOS 4.0
( this is only correction of ProjectPeiDriver.ffs checksum )
search for "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 81 7E"
replace with "26 22 9C 73 64 32 54 44 99 1C 8D C4 4A 73 D6 AF 81 CA"


X11SPL / X11SPM all BIOS
search for "6C 68 A5 00 00 00 68"
replace with "6C 68 FF 00 00 00 68"

X11SPL / X11SPM all BIOS
search for "FB B9 A5 00 00 00 5E"
replace with "FB B9 FF 00 00 00 5E"

save as "BIOS_X11SPL-096E_20230315_3.9_255W.bin" respective "BIOS_X11SPL-096E_20230620_4.0_STD.bin"
save as "BIOS_X11SPM-095D_20230315_3.9_255W.bin" respective "BIOS_X11SPM-095D_20230620_4.0_STD.bin"
its works now, here is a proof
Unbenannt0200sth.jpg
 
Last edited:

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
Dell T640, R640, R740
VRM: PXE1610C
addresses 60, 62
I2C header P4
Pin[1] SCL
Pin(2) GND
Pin(3) SDA
t6401610pinouthdigj.jpgR640/R740Sj58PGJ.jpgvrmi2ce3f5l.jpgT640t640sysboard.jpg
without CPU, plug a PSU in the board and apply power, you can access the VRMs in standby mode.
i made a c# console app for automatic programming ( MCP2221a_iccmax_FF(16042024).7z ) vrm TPS53679/PXE1610C/MP2955A
Code:
open CMD window
MCP2221a_iccmax_FF.exe -PXE1610C 60
MCP2221a_iccmax_FF.exe -PXE1610C 62
 
Last edited:

fake-name

Active Member
Feb 28, 2017
180
144
43
73
While neat, I'd like to caution that this is in no way an "upgrade". You're just making the non-volatile config in the VRMs lie to the rest of the system.

Effectively, this is just like overclocking. You're running the VRMs harder then the manufacturer designed them to go, so it may work, it may not work, it may be unstable under high loads, it may fail earlier, etc....
 

NablaSquaredG

Layer 1 Magician
Aug 17, 2020
1,338
811
113
While neat, I'd like to caution that this is in no way an "upgrade". You're just making the non-volatile config in the VRMs lie to the rest of the system.

Effectively, this is just like overclocking. You're running the VRMs harder then the manufacturer designed them to go, so it may work, it may not work, it may be unstable under high loads, it may fail earlier, etc....
The point is that the high current OEM CPUs won't actually need that much current in most cases - Except if you have heavy AVX512 workload.
 
  • Like
Reactions: RolloZ170

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
You're running the VRMs harder then the manufacturer designed them to go
no. the per phase OCP is left unchanged.
Effectively, this is just like overclocking. You're running the VRMs harder then the manufacturer designed them to go....
its correct the VRM is allowed to make more current. but the VRM unit is designed for that under specific temperatures.
note that supermicro does the same on request on X11DPi-(N)T i.e. which requires a Heatsink on CPU0 VRMs(its prepared for that)
you don't want to run 240W SKUs in 1U/2U chassis without watercooling, so the default does not allow this TDC/TDP.
also on X11SRM 2nd gen lga2066 Xeons that have more TDC values and need VRM upgrade by supermicro too.

ASRock's EP(2)C62x and Gigabyte's C621-WD12-IPMI / MU71/MD71 boards with nearly the same VRM config.(5+1) allow ICC_MAX=255A by default.
 
Last edited:

PandaChan

New Member
May 19, 2022
2
5
3
Hello everyone, according to the tutorial provided by RolloZ170, my Dell 7920T successfully modified the ICC_MAX and used the 8251C CPU. I will show you my operation process, hoping to help you.

1677908697983.png

First introduce my starting point:

I own a 7920T, motherboard number is P/N 60K5C, using a gold medal 6150 CPU, when I directly replace it with an 8251 CPU, it will blink yellow power light and keep restarting.

In order to rewrite the ICC_MAX, we need to buy a MCP2221A, luckily, I only found one shop from Taobao that had it in stock (yes, I'm from China, please forgive me for using Google Translate), and some Dupont wires.

So let's get started.

First, you need to connect the MCP2221A to the motherboard, and solder the Dupont wires to the SCL, SDA, and GND of the MCP2221A. Find the PJPP2 on the 7920T main board, at first I tried to solder the DuPont wire, but this is the first time I use a soldering iron, I didn't succeed, so I inserted the pin of the DuPont wire into the SCL and GND of the main board PJPP2, these two holes The bit is empty, keep the pin angled after inserting it, and tape it in slightly to keep the pin and solder point in contact. Connect the SCL and GND of PJPP2 on the main board to the SCL and GND of the MCP2221A. Start 7920 and enter BIOS.

Operate another computer, download the EXE provided by RolloZ170, use the terminal to enter the folder after decompression, and enter the first command (don’t press Enter first), then take a Dupont cable to connect to the SDA of MCP2221A, hold the Put the needle on the SDA of the main board PJPP2 (it is a solid solder joint), at this time, press Enter with the other hand, wait for about five seconds, you can release SDA, and check the terminal execution results:

Not surprisingly, you should see some ReadBlock and WriteBlock operations, otherwise, please check your related connections, and observe whether there is "ReadBlock( Page20,cmd73,2) ICC_MAX=FF00" in the result, if not, Please try to repeat the first command until it is observed (I did not succeed the first time, when I restarted the 7920 and entered the BIOS again. After executing the first command, I succeeded), when he appears, it means the first The command has been successfully modified, then connect to SDA again and execute the second command, you will get the result "ICC_MAX already 255A - modification skipped." Congratulations, your 7920T has successfully modified ICC_MAX. Disconnect the power supply of MCP2221A and 7920T, replace it with 8251C, start 7920, it works normally.

PS:
The first command: ./MCP2221a_iccmax_FF.exe -PXE1610C 60
The second command: ./MCP2221a_iccmax_FF.exe -PXE1610C 62

EXE:

Image:

Many thanks to RolloZ170 for the tutorial and help. :D :D :D
 
Last edited:

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
backup of some images from pandachan's mod report.
pv7OM7Bl.jpggCgCBbT sth.jpg9WqFQ9D sth.jpgbbEtV70 sth.jpg

added X11SPA-(T)F ( JVRM1 PXE1610C addr. 50 )
 
Last edited:
  • Like
Reactions: kishine

kishine

New Member
Mar 8, 2023
7
2
3
Hi @RolloZ170, I can confirm, the PXE1610C address is 50 on X11SPA-TF; however, when I installed the 8271CL, there is no post. If I put back the old cpu, it boots. Any advice?
 
Last edited:

RolloZ170

Well-Known Member
Apr 24, 2016
5,329
1,605
113
--
however, when I installed the 8271CL, there is no post. If I put back the old cpu, it boots. Any advice?
connect mcp2221a and boot into BIOS.
open CMD window, run the following command and post the screen output.
Code:
MCP2221a_iccmax_FF -PXE1610C 50
 

kishine

New Member
Mar 8, 2023
7
2
3
I removed the cpu and connected mcp2221a.

Here is the output:
Code:
C:\Users\adminuser\Desktop\MCP2221A_VRM_MOD>MCP2221a_iccmax_FF.exe -PXE1610C 50
The MCP2221a device is connected.

ReadBlock( Page00,cmdFD,1)=B3

ReadBlock( Page4F,cmd1A,1)=00

ReadBlock( Page4F,cmd32,2)=1504

PXE1610C found: starting modd

WriteBlock( Page3F,cmd27,7C B3)
ReadBlock( Page20,cmd73,2) ICC_MAX=FF00

 ICC_MAX already 255A - modification skipped.

press any key.


C:\Users\adminuser\Desktop\MCP2221A_VRM_MOD>
thanks
 
  • Like
Reactions: RolloZ170