[Guide] ASrock SPI_TPM_J1 Pinout for CH341A and other programmer + Flashing it

Hello, this might be a guide for those who have bricked their asrock boards of bios update, and it does have SPI_TPM_J1 Header. I noticed that SPI_TPM_J1 is a combination for TPM and SPI, which means in theory it could be “Hot Flashed” by any means. I didn’t find any documentaries or proof if its able to be hotflashed with the SPI_TPM_J1, but what i do find is from my Manual Book, finally i RTFM for this purpose. I do this because i want to remove AmdSpiRomProtectDxe so that i could use flashprog/flashrom for bios dumping and others.

Asrock used to have BIOS_PH1, and any spi programmer could flash it with that header. But now it moved to SPI_TPM_J1 (to me, more like a hybrid of tpm header and bios_ph1), and after reading the Pinout i had a thought “what if i use those for flashing”, so i bought a 1.8v adapter since im on AMD system, and some cheap arduino cables. I found this interesting review in japan, but the pin connected to the cable is tied so i couldn’t see it clear, and i’m a bit unsure if its pure CH341A or if it’s CH341A connected to raspberryPi, so i thought “Hey, lets give it a try”. Board tested: ASrock B550M Pro4

Here is what you need:

  • A spi programmer (anykind, if you could, buy the ones that support Quad SPI for faster R/W)
  • 1.8v Adapter if you use CH341A (1.8v only needed if the bios chip is no more than 1.9v/2v. So if your bios chip is 3.3v then it wont be needed)
  • 2.0mm pitch arduino jumper cables. 2.54 could fit but it requires a bit effort (like i use on mine)

To flash it using spi programmer, you MUST:

  • Power drain your pc (or else the bios chip wont get read), so unplug PSU + take cmos battery off, push and hold the power button in your pc for 11 secs.

  • Then, connect and allign the pins on the SPI_TPM_J1 to the Programmer matching the schematic i gave (might differs for non CH341A, but the info for “which pin is which” is there)


  • After you’re sure the programmer and the cable alligned, no power is flowing to the board, plug the programmer to a pc/laptop. For programming, i use NeoProgrammer 2.2.0.10, since it supports my bios chip.

After all of that unplug the programmer and test if your bios is able to boot.

Hope this could help for those who didnt have bios flashback. As Always, DWYOR.

1 Like

Surprised not more people are talking about this all youtube videos are about connecting directly to the chip with a clamp when it’s much easier with an SPI header

I have Spi Header in my Asus prime b450m-A. This also works for me right?

Do you know what kind of cable do I need?

Also does Neoprogrammer support my chip? ( Macronix MX25U12835F), It’s 1.8v So I need an adapter but it look expensive for how little it does.

Thanks