summaryrefslogtreecommitdiffstats
path: root/flashrom.c
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2011-09-03 18:37:52 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2011-09-03 18:37:52 +0000
commit34833ba1cf934d5e33cd0d5c5eb77a4ca7a0a06f (patch)
tree8e0e42a7177fb3a56c5d269c42b9034a92b82793 /flashrom.c
parent839e5ab37905dadb4951f10462ad2d2194002418 (diff)
downloadflashrom-34833ba1cf934d5e33cd0d5c5eb77a4ca7a0a06f.zip
flashrom-34833ba1cf934d5e33cd0d5c5eb77a4ca7a0a06f.tar.gz
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>
Diffstat (limited to 'flashrom.c')
-rw-r--r--flashrom.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/flashrom.c b/flashrom.c
index c9d1e61..977617c 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -104,6 +104,9 @@ enum programmer programmer =
#if CONFIG_SATAMV == 1
PROGRAMMER_SATAMV
#endif
+#if CONFIG_LINUX_SPI == 1
+ PROGRAMMER_LINUX_SPI
+#endif
;
#endif
@@ -451,6 +454,24 @@ const struct programmer_entry programmer_table[] = {
},
#endif
+#if CONFIG_LINUX_SPI == 1
+ {
+ .name = "linux_spi",
+ .init = linux_spi_init,
+ .map_flash_region = fallback_map,
+ .unmap_flash_region = fallback_unmap,
+ .chip_readb = noop_chip_readb,
+ .chip_readw = fallback_chip_readw,
+ .chip_readl = fallback_chip_readl,
+ .chip_readn = fallback_chip_readn,
+ .chip_writeb = noop_chip_writeb,
+ .chip_writew = fallback_chip_writew,
+ .chip_writel = fallback_chip_writel,
+ .chip_writen = fallback_chip_writen,
+ .delay = internal_delay,
+ },
+#endif
+
{}, /* This entry corresponds to PROGRAMMER_INVALID. */
};
OpenPOWER on IntegriCloud