ifdtool: Improve PCH strap handling

Read the PCH Strap Length field in FLMAP1 as described in the
"SPI Programming Guide" and print the number of fields specified there.

This code dumps the following straps:
* Intel GM45: 8 straps
* Intel C216: 72 straps
* Intel C240: 360 straps

Add a new function to easily set PCH straps, which is useful for debugging.

Change-Id: Ieb7891b214d82c984379794de9b3fe1a6d0d3466
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41693
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Philipp Hug <philipp@hug.cx>
Reviewed-by: Christian Walter <christian.walter@9elements.com>
Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
diff --git a/util/ifdtool/ifdtool.h b/util/ifdtool/ifdtool.h
index 5af98cf..3b16d49 100644
--- a/util/ifdtool/ifdtool.h
+++ b/util/ifdtool/ifdtool.h
@@ -105,7 +105,7 @@
 } __attribute__((packed)) fcba_t;
 
 // pch strap
-#define MAX_PCHSTRP 18
+#define MAX_PCHSTRP 1024
 
 typedef struct {
 	uint32_t pchstrp[MAX_PCHSTRP];