About SPI Interface of AMD chipset

Discussion created by kelvin1207 on Jul 26, 2020



My LPC-ISA bridge device ID is 0x790E, rev id 0x4A, it should be codenamed YangTze.


I'm trying to read the SPI ROM by programming SPIBAR, however, when I set the Command byte (SPIBAR + 0x0) to Read (0x3) / Fast Read (0xB) , the illegalAccess bit is automatically set by hardware, even though I haven't set the ExecuteOpCode bit, and once I try to set ExecuteOpCode bit, it is failed, and nothing get executed or returned in the FIFO queue ( SPIBAR+ 0x80 )


The illegalAccess bit is cleared when I set the Command Byte to other command code, for example, 0x9F, which read the JEDEC ID, and the data is returned in the FIFO queue ( SPIBAR + 0x80 )


I've also checked restricted command , there's all 0 but 6 (WR_EN) is restricted, so It shouldn't be affected by this.


Here is the dump of SPIBAR in my machine.