BACKPORT: Initial Realtek MST i2c_spi support

This spi master allows for programming of a Realtek RTD2142
MST with external SPI flash chip routed via its internal i2c
transport mechanism.

BUG=b:152558985,b:148745673
BRANCH=none
TEST=echo "00000000:0004ffff fw" > layout && \
  flashrom -p realtek_mst_i2c_spi:bus=8 -l layout -i fw:dump.bin -r && \
  flashrom -p realtek_mst_i2c_spi:bus=8 -l layout -i fw:dump.bin -w && \
  flashrom -p realtek_mst_i2c_spi:bus=8 --flash-size && \
  flashrom -p realtek_mst_i2c_spi:bus=8 --flash-name

Original-Change-Id: I892e0be776fe605e69fb39c77abf3016591d7123
Original-Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/40667
Original-Reviewed-by: Edward Hill <ecgh@chromium.org>
Original-Reviewed-by: Shiyu Sun <sshiyu@google.com>
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
(cherry picked from commit d97f87b00cc8301b91023301a24e690146d74cef)

Signed-off-by: Shiyu Sun <sshiyu@google.com>
Change-Id: Ica6a10790875c2b48172a44d8ebb28c16864d525
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/flashrom/+/2178032
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Tested-by: Edward O'Callaghan <quasisec@chromium.org>
Commit-Queue: Shiyu Sun <sshiyu@chromium.org>
diff --git a/programmer.h b/programmer.h
index 49efe1a..b06b7be 100644
--- a/programmer.h
+++ b/programmer.h
@@ -91,6 +91,9 @@
 #if CONFIG_LSPCON_I2C_SPI == 1
 	PROGRAMMER_LSPCON_I2C_SPI,
 #endif
+#if CONFIG_REALTEK_MST_I2C_SPI == 1
+	PROGRAMMER_REALTEK_MST_I2C_SPI,
+#endif
 	PROGRAMMER_INVALID /* This must always be the last entry. */
 };
 
@@ -804,4 +807,9 @@
 int lspcon_i2c_spi_init(void);
 #endif
 
+/* realtek_mst_i2c_spi.c */
+#if CONFIG_REALTEK_MST_I2C_SPI == 1
+int realtek_mst_i2c_spi_init(void);
+#endif
+
 #endif				/* !__PROGRAMMER_H__ */