From cfc594cddd39b5152ea3688388e0ec392f1881e9 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Fri, 4 Feb 2022 16:16:03 -0600 Subject: [PATCH] mb/google/reef: Add VBTs for all variants Adjust Kconfig so all variants use proper VBTs. Add Makefile entries for variants which use multiple VBTs. extracted from ChromeOS firmwares: Google_Coral.10068.113.0 Google_Pyro.9042.233.0 Google_Reef.9042.233.0 Google_Sand.9042.220.0 Google_Snappy.9042.253.0 Change-Id: I46ad4ec321e32d019e44f0741956b18a464fb8ae Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/61685 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- src/mainboard/google/reef/Kconfig | 4 ---- .../google/reef/variants/coral/Makefile.inc | 8 ++++++++ .../reef/variants/coral/astronaut-data.vbt | Bin 0 -> 6656 bytes .../reef/variants/coral/babymega-data.vbt | Bin 0 -> 6656 bytes .../reef/variants/coral/babytiger-data.vbt | Bin 0 -> 6656 bytes .../google/reef/{ => variants/coral}/data.vbt | Bin 6656 -> 6656 bytes .../reef/variants/coral/epaulette-data.vbt | Bin 0 -> 6656 bytes .../reef/variants/coral/nasher-data.vbt | Bin 0 -> 6656 bytes .../variants/coral/rabbid_rugged-data.vbt | Bin 0 -> 6656 bytes .../google/reef/variants/coral/santa-data.vbt | Bin 0 -> 6656 bytes .../google/reef/variants/pyro/data.vbt | Bin 0 -> 6656 bytes .../google/reef/variants/reef/data.vbt | Bin 0 -> 6656 bytes .../google/reef/variants/sand/data.vbt | Bin 0 -> 6656 bytes .../google/reef/variants/snappy/data.vbt | Bin 0 -> 6656 bytes 14 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 src/mainboard/google/reef/variants/coral/astronaut-data.vbt create mode 100644 src/mainboard/google/reef/variants/coral/babymega-data.vbt create mode 100644 src/mainboard/google/reef/variants/coral/babytiger-data.vbt rename src/mainboard/google/reef/{ => variants/coral}/data.vbt (97%) create mode 100644 src/mainboard/google/reef/variants/coral/epaulette-data.vbt create mode 100644 src/mainboard/google/reef/variants/coral/nasher-data.vbt create mode 100644 src/mainboard/google/reef/variants/coral/rabbid_rugged-data.vbt create mode 100644 src/mainboard/google/reef/variants/coral/santa-data.vbt create mode 100644 src/mainboard/google/reef/variants/pyro/data.vbt create mode 100644 src/mainboard/google/reef/variants/reef/data.vbt create mode 100644 src/mainboard/google/reef/variants/sand/data.vbt create mode 100644 src/mainboard/google/reef/variants/snappy/data.vbt diff --git a/src/mainboard/google/reef/Kconfig b/src/mainboard/google/reef/Kconfig index dc5ccba4f6..0073e09706 100644 --- a/src/mainboard/google/reef/Kconfig +++ b/src/mainboard/google/reef/Kconfig @@ -106,8 +106,4 @@ config PRERAM_CBMEM_CONSOLE_SIZE config FMDFILE default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/default.fmd" if !CHROMEOS -# Override the default behavior, since the data.vbt is the same for all variants -config INTEL_GMA_VBT_FILE - default "src/mainboard/\$(MAINBOARDDIR)/data.vbt" - endif # BOARD_GOOGLE_REEF diff --git a/src/mainboard/google/reef/variants/coral/Makefile.inc b/src/mainboard/google/reef/variants/coral/Makefile.inc index e52d9598a6..440ec9c545 100644 --- a/src/mainboard/google/reef/variants/coral/Makefile.inc +++ b/src/mainboard/google/reef/variants/coral/Makefile.inc @@ -4,3 +4,11 @@ ramstage-y += mainboard.c ramstage-y += gpio.c smm-y += gpio.c + +$(call add_vbt_to_cbfs, vbt-astronaut.bin, astronaut-data.vbt) +$(call add_vbt_to_cbfs, vbt-babytiger.bin, babytiger-data.vbt) +$(call add_vbt_to_cbfs, vbt-babymega.bin, babymega-data.vbt) +$(call add_vbt_to_cbfs, vbt-epaulette.bin, epaulette-data.vbt) +$(call add_vbt_to_cbfs, vbt-nasher.bin, nasher-data.vbt) +$(call add_vbt_to_cbfs, vbt-rabbid_rugged.bin, rabbid_rugged-data.vbt) +$(call add_vbt_to_cbfs, vbt-santa.bin, santa-data.vbt) diff --git a/src/mainboard/google/reef/variants/coral/astronaut-data.vbt b/src/mainboard/google/reef/variants/coral/astronaut-data.vbt new file mode 100644 index 0000000000000000000000000000000000000000..6b4109e0781605b532392f4327019efb4380a36a GIT binary patch literal 6656 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 diff --git a/src/mainboard/google/reef/variants/coral/epaulette-data.vbt b/src/mainboard/google/reef/variants/coral/epaulette-data.vbt new file mode 100644 index 0000000000000000000000000000000000000000..6b4109e0781605b532392f4327019efb4380a36a GIT binary patch literal 6656 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