From 5ce5f70ed3cf5a973c0c4055c91219d6199c15fe Mon Sep 17 00:00:00 2001 From: Sven Schnelle Date: Sat, 3 Sep 2011 18:37:52 +0000 Subject: 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 Acked-by: Uwe Hermann --- flashrom.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'flashrom.c') diff --git a/flashrom.c b/flashrom.c index c9d1e610..977617cd 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. */ }; -- cgit v1.2.3