Hi Nico!

Thanks for explaining. :) So what can I do in this case? Which programmer is the easiest to get the setup working? Rayer_SPI didn't even detect it, nor with shorter wires, this is why I went to ICH7, at least it can recognize KB9012, and read some random data from it. I will not connect both programmers at the same time, but I have a theory Rayer_SPI doesn't give SPI clock signal continuously, thus KB9012 didn't enter EDI mode.

Nico Huber <nico.h@gmx.de> ezt írta (időpont: 2019. jan. 20., V, 13:39):
Hi Nyúlós,

On 20.01.19 12:46, Nyúlós Lónyál wrote:
> There are some programmer_delay values in ichspi.c, here is one which says
> something about frequency:
>
> timeout = 100 * 60; /* 60 ms are 9.6 million cycles at 16 MHz. */
> while ((REGREAD16(ICH7_REG_SPIS) & SPIS_SCIP) && --timeout) {
> programmer_delay(10);
>
> So I just need to increase programmer_delay, for example to 20 and maybe
> the timeout to 200 * 60?

no, this has nothing to do with the transmission speed, it's really just
a polling loop with a timeout. Generally, the ichspi (both hardware and
driver) expect a perfect connection to the SPI slave... plus the hard-
ware might make assumptions about the type of commands used. It's not
meant to work with your setup, so you need a lot of luck.

>
> I can try another method too as the KB9012 datasheet says "To enable EDI,
> it is by detecting any SPI command with EDI_CLK frequency between 1MHz to 8
> MHz.",

According to its datasheet the ICH7 runs its SPI clock at 17.9MHz. It's
not completely hopeless, though.

> so maybe after probing with flashrom in DIP8 socket, and connecting
> it to rayer_spi LPT it will detect and flash KB9012 correctly with lower
> SPI frequency.

Sounds like a fragile procedure, make sure that you never have the ICH
and Rayer connected at the same time. Also, what Mike said about the
wire length applies to your setup with the Rayer, too.

Nico