digilent_spi: add a driver for the iCEblink40 development board
This is driver that supports the Lattice iCE40 evaluation kits. On the
board is a SPI flash memory chip labeled ST 25P10VP.
Tested to work read/write/erase with "-p digilent_spi -c M25P10" or
with a patch that resets the part beforehands (in which case it gets
detected as a M25P10-A and is way faster due to paged writes).
Change-Id: I7ffcd9a2db4395816f0e8b6ce6c3b0d8e930c9e6
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Reviewed-on: https://review.coreboot.org/23338
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/programmer.h b/programmer.h
index e49f262..ff81036 100644
--- a/programmer.h
+++ b/programmer.h
@@ -112,6 +112,9 @@
#if CONFIG_CH341A_SPI == 1
PROGRAMMER_CH341A_SPI,
#endif
+#if CONFIG_DIGILENT_SPI == 1
+ PROGRAMMER_DIGILENT_SPI,
+#endif
PROGRAMMER_INVALID /* This must always be the last entry. */
};
@@ -549,6 +552,12 @@
extern const struct dev_entry devs_ch341a_spi[];
#endif
+/* digilent_spi.c */
+#if CONFIG_DIGILENT_SPI == 1
+int digilent_spi_init(void);
+extern const struct dev_entry devs_digilent_spi[];
+#endif
+
/* flashrom.c */
struct decode_sizes {
uint32_t parallel;
@@ -614,6 +623,9 @@
#if CONFIG_CH341A_SPI == 1
SPI_CONTROLLER_CH341A_SPI,
#endif
+#if CONFIG_DIGILENT_SPI == 1
+ SPI_CONTROLLER_DIGILENT_SPI,
+#endif
};
#define MAX_DATA_UNSPECIFIED 0