fmap: Map less space in fallback path without CBFS verification

This is a fixup to CB:78914 which inadvertently broke the RK3288 SoC.
Unfortunately we can only accommodate very little PRERAM_CBFS_CACHE in
the tiny SRAM for that chip, so we would not be able to map an entire
FMAP. Solve this problem for now by mapping less space when CBFS
verification is disabled, and disallowing CBFS verification on that SoC.

Change-Id: I2e419d157dc26bb70a6dd62e44dc6607e51cf791
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/78971
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
diff --git a/src/lib/fmap.c b/src/lib/fmap.c
index 77817d1..8901ff7 100644
--- a/src/lib/fmap.c
+++ b/src/lib/fmap.c
@@ -130,7 +130,8 @@
 	if (boot == NULL)
 		return -1;
 
-	fmap = rdev_mmap(boot, offset, FMAP_SIZE);
+	fmap = rdev_mmap(boot, offset,
+			 CONFIG(CBFS_VERIFICATION) ? FMAP_SIZE : sizeof(struct fmap));
 
 	if (fmap == NULL)
 		return -1;
diff --git a/src/soc/rockchip/rk3288/bootblock.c b/src/soc/rockchip/rk3288/bootblock.c
index 60ead64..a821ef1 100644
--- a/src/soc/rockchip/rk3288/bootblock.c
+++ b/src/soc/rockchip/rk3288/bootblock.c
@@ -8,6 +8,9 @@
 #include <soc/timer.h>
 #include <symbols.h>
 
+_Static_assert(!CONFIG(CBFS_VERIFICATION),
+	       "RK3288 doesn't have enough PRERAM_CBFS_CACHE to support the FMAP mapping needed for CBFS verification");
+
 void bootblock_soc_init(void)
 {
 	rkclk_init();