serprog: add opcode to control the programmer's output drivers
This allowed me to let the clips remain attached on my D946GZIS while
playing with coreboot/serialice.
Corresponding to flashrom svn r1618.
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
diff --git a/Documentation/serprog-protocol.txt b/Documentation/serprog-protocol.txt
index 821cf28..58f4417 100644
--- a/Documentation/serprog-protocol.txt
+++ b/Documentation/serprog-protocol.txt
@@ -34,6 +34,7 @@
0x13 Perform SPI operation 24-bit slen + 24-bit rlen ACK + rlen bytes of data / NAK
+ slen bytes of data
0x14 Set SPI clock frequency in Hz 32-bit requested frequency ACK + 32-bit set frequency / NAK
+0x15 Toggle flash chip pin drivers 8-bit (0 disable, else enable) ACK / NAK
0x?? unimplemented command - invalid.
@@ -82,6 +83,12 @@
lower than the one requested. If there is no lower frequency
available the lowest possible should be used. The value
chosen is sent back in the reply with an ACK.
+ 0x15 (S_CMD_S_PIN_STATE):
+ Sets the state of the pin drivers connected to the flash chip. Disabling them allows other
+ devices (e.g. a mainboard's chipset) to access the chip. This way the serprog controller can
+ remain attached to the flash chip even when the board is running. The user is responsible to
+ NOT connect VCC and other permanently externally driven signals to the programmer as needed.
+ If the value is 0, then the drivers should be disabled, otherwise they should be enabled.
About mandatory commands:
The only truly mandatory commands for any device are 0x00, 0x01, 0x02 and 0x10,
but one can't really do anything with these commands.