It took me a while, but now I understand why SB600 SPI accesses hang on some boards.
The problem is not related to the presence or absence of a SPI chip. It is also not related to usage of GPIO lines for SPI or GPIO.
On some boards (with LPC flash) the SPI_BaseAddr is 0. The code did not check for that condition and assumed the BAR was really at address zero. Of course, every machine has RAM there and all writes to the SB600 SPI controller ended up scribbling over the zero page in RAM. That also means the SB600 SPI driver never got the expected response from the SPI controller because the controller never saw the writes.
Fortunately, the bug is fixed in r491 in the new flashrom repository.
If anyone still wondered why we were seeing these hangs, the above explanation should hopefully be sufficient.
Regards, Carl-Daniel