gfxmatrox: Introduce new programmer driver for Matrox Millenium cards

Supports a 64KiB parallel flash. ROM BAR configuration is tricky: The
register is only accessible when a special `biosen` bit is set. An OS
might not know this and is then unable to assign an address. We'll of-
fer to re-purpose the MMIO BAR address, but one has to be sure that no
graphics driver is running.

Datasheet used:
https://www.vintage3d.org/doc/matrox/2164spec.pdf

Change-Id: Ief6c05c8fbf752814d436ac3b47e87de0c977047
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/532
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/meson.build b/meson.build
index b94d951..9e996e9 100644
--- a/meson.build
+++ b/meson.build
@@ -249,6 +249,14 @@
     'srcs'    : files('ft4222_spi.c' ),
     'flags'   : [ '-DCONFIG_FT4222_SPI=1' ],
   },
+  'gfxmatrox' : {
+    'systems' : systems_hwaccess,
+    'cpu_families' : [ cpus_raw_mem ],
+    'deps'    : [ libpci ],
+    'groups'  : [ group_pci, group_internal ],
+    'srcs'    : files('gfxmatrox.c', 'pcidev.c'),
+    'flags'   : [ '-DCONFIG_GFXMATROX=1' ],
+  },
   'gfxnvidia' : {
     'systems' : systems_hwaccess,
     'cpu_families' : [ cpus_raw_mem ],