Add support for the Linux SPI subsystem (spidev)
See http://www.kernel.org/doc/Documentation/spi/spidev for an introduction.
Usage is as follows:
flashrom -p linux_spi:dev=/dev/spidevX.Y
where X is the bus number, and Y device. It accepts an optional parameter
'speed' which allows to set the SPI clock speed in kHz.
Tested on an Atmel AVR32AP7000 board (NGW100 Network Gateway Kit), see
below, which was used to program a ThinkPad X60, but it should work on every
other Linux system, too.
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102)
Corresponding to flashrom svn r1427.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
diff --git a/programmer.h b/programmer.h
index 20e0f17..f878a53 100644
--- a/programmer.h
+++ b/programmer.h
@@ -79,6 +79,9 @@
#if CONFIG_SATAMV == 1
PROGRAMMER_SATAMV,
#endif
+#if CONFIG_LINUX_SPI == 1
+ PROGRAMMER_LINUX_SPI,
+#endif
PROGRAMMER_INVALID /* This must always be the last entry. */
};
@@ -485,6 +488,11 @@
int buspirate_spi_init(void);
#endif
+/* linux_spi.c */
+#if CONFIG_LINUX_SPI == 1
+int linux_spi_init(void);
+#endif
+
/* dediprog.c */
#if CONFIG_DEDIPROG == 1
int dediprog_init(void);
@@ -536,6 +544,9 @@
#if CONFIG_OGP_SPI == 1 || CONFIG_NICINTEL_SPI == 1 || CONFIG_RAYER_SPI == 1 || (CONFIG_INTERNAL == 1 && (defined(__i386__) || defined(__x86_64__)))
SPI_CONTROLLER_BITBANG,
#endif
+#if CONFIG_LINUX_SPI == 1
+ SPI_CONTROLLER_LINUX,
+#endif
};
extern const int spi_programmer_count;