summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Chiu <Kevin.Chiu@quantatw.com>2020-10-12 15:53:56 +0800
committerAaron Durbin <adurbin@chromium.org>2020-10-16 18:07:41 +0000
commitefe581254e010353bf340731b4a251c3edf777bc (patch)
tree4f4f62da2df1a663ffefdbba2686994c8f2f46a2
parent3f561a8e081f1256dcd6be1a0f4107b114a14ea1 (diff)
mb/google/zork: disable eMMC per FW_CONFIG for berknip
Berknip has SSD/eMMC SKU, we should turn off eMMC if storage is NVMe SSD. BUG=b:170592992 BRANCH=zork TEST=1. emerge-zork coreboot 2. Check eMMC is enabled or disabled based on the eMMC bit in FW_CONFIG. Change-Id: I7aeabc98fc16bc2837c8dcdc40c3c6a80898cdc9 Signed-off-by: Kevin Chiu <kevin.chiu@quantatw.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/46292 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Rob Barnes <robbarnes@google.com>
-rw-r--r--src/mainboard/google/zork/variants/berknip/Makefile.inc1
-rw-r--r--src/mainboard/google/zork/variants/berknip/variant.c16
2 files changed, 17 insertions, 0 deletions
diff --git a/src/mainboard/google/zork/variants/berknip/Makefile.inc b/src/mainboard/google/zork/variants/berknip/Makefile.inc
index 57e7136ddc..51d19fe9ba 100644
--- a/src/mainboard/google/zork/variants/berknip/Makefile.inc
+++ b/src/mainboard/google/zork/variants/berknip/Makefile.inc
@@ -3,3 +3,4 @@
subdirs-y += ./spd
ramstage-y += gpio.c
+ramstage-y += variant.c
diff --git a/src/mainboard/google/zork/variants/berknip/variant.c b/src/mainboard/google/zork/variants/berknip/variant.c
new file mode 100644
index 0000000000..092ff260b3
--- /dev/null
+++ b/src/mainboard/google/zork/variants/berknip/variant.c
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include <baseboard/variants.h>
+
+void variant_devtree_update(void)
+{
+ struct soc_amd_picasso_config *cfg;
+
+ cfg = config_of_soc();
+
+ /*
+ * Enable eMMC if eMMC bit is set in FW_CONFIG or device is unprovisioned.
+ */
+ if (!(variant_has_emmc() || boot_is_factory_unprovisioned()))
+ cfg->emmc_config.timing = SD_EMMC_DISABLE;
+}