diff --git a/flashrom.8.tmpl b/flashrom.8.tmpl
index 38fe0f8..bcbb943 100644
--- a/flashrom.8.tmpl
+++ b/flashrom.8.tmpl
@@ -759,8 +759,8 @@
 syntax where
 .B model
 can be
-.BR rayer " for the RayeR cable, " byteblastermv " for the Altera ByteBlasterMV, or " xilinx \
-" for the Xilinx Parallel Cable III (DLC 5)."
+.BR rayer " for the RayeR cable, " byteblastermv " for the Altera ByteBlasterMV, " stk200 " for the Atmel \
+STK200/300, or " xilinx " for the Xilinx Parallel Cable III (DLC 5)."
 .sp
 More information about the RayeR hardware is available at
 .nh
diff --git a/rayer_spi.c b/rayer_spi.c
index 04edd9c..23503cb 100644
--- a/rayer_spi.c
+++ b/rayer_spi.c
@@ -82,10 +82,23 @@
 	.shutdown = byteblaster_shutdown,
 };
 
+static void stk200_preinit(const void *);
+static int stk200_shutdown(void *);
+
+static const struct rayer_pinout atmel_stk200 = {
+	.cs_bit = 7,
+	.sck_bit = 4,
+	.mosi_bit = 5,
+	.miso_bit = 6,
+	.preinit =  stk200_preinit,
+	.shutdown = stk200_shutdown,
+};
+
 static const struct rayer_programmer rayer_spi_types[] = {
 	{"rayer",		NT,	"RayeR SPIPGM",					&rayer_spipgm},
 	{"xilinx",		NT,	"Xilinx Parallel Cable III (DLC 5)",		&xilinx_dlc5},
 	{"byteblastermv",	OK,	"Altera ByteBlasterMV",				&altera_byteblastermv},
+	{"stk200",		NT,	"Atmel STK200/300 adapter",			&atmel_stk200},
 	{0},
 };
 
@@ -221,6 +234,21 @@
 	return 0;
 }
 
+static void stk200_preinit(const void *data) {
+	msg_pdbg("stk200_init\n");
+	/* Assert #EN signals, set LED signal. */
+	lpt_outbyte = (1 << 6) ;
+	OUTB(lpt_outbyte, lpt_iobase);
+}
+
+static int stk200_shutdown(void *data) {
+	msg_pdbg("stk200_shutdown\n");
+	/* Assert #EN signals, clear LED signal. */
+	lpt_outbyte = (1 << 2) | (1 << 3);
+	OUTB(lpt_outbyte, lpt_iobase);
+	return 0;
+}
+
 #else
 #error PCI port I/O access is not supported on this architecture yet.
 #endif
