dirtyjtag: Add DirtyJTAG programmer

Add a new programmer driver for the DirtyJTAG project (a USB-JTAG
firmware for STM32 MCUs).

Successfully tested with DirtyJTAG 1.4 running on an Olimex STM32-H103
development board and a SST25VF020B SPI flash chip.

Change-Id: Ic43e9a014ed7d04e429e73b30c9dcfdde1a78913
Signed-off-by: Jean THOMAS <virgule@jeanthomas.me>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/67878
Original-Reviewed-by: Felix Singer <felixsinger@posteo.net>
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71492
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/Makefile b/Makefile
index bbf20fa..9ee49c1 100644
--- a/Makefile
+++ b/Makefile
@@ -126,6 +126,7 @@
 	CONFIG_PICKIT2_SPI \
 	CONFIG_RAIDEN_DEBUG_SPI \
 	CONFIG_STLINKV3_SPI \
+	CONFIG_DIRTYJTAG_SPI \
 
 DEPENDS_ON_LIBFTDI := \
 	CONFIG_FT2232_SPI \
@@ -439,6 +440,9 @@
 # Digilent Development board JTAG
 CONFIG_DIGILENT_SPI ?= yes
 
+# DirtyJTAG
+CONFIG_DIRTYJTAG_SPI ?= yes
+
 # Disable J-Link for now.
 CONFIG_JLINK_SPI ?= no
 
@@ -686,6 +690,11 @@
 PROGRAMMER_OBJS += digilent_spi.o
 endif
 
+ifeq ($(CONFIG_DIRTYJTAG_SPI), yes)
+FEATURE_CFLAGS += -D'CONFIG_DIRTYJTAG_SPI=1'
+PROGRAMMER_OBJS += dirtyjtag_spi.o
+endif
+
 ifeq ($(CONFIG_JLINK_SPI), yes)
 FEATURE_CFLAGS += -D'CONFIG_JLINK_SPI=1'
 PROGRAMMER_OBJS += jlink_spi.o