summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Peers <epeers@google.com>2020-07-18 08:37:45 -0600
committerFurquan Shaikh <furquan@google.com>2020-07-23 21:13:34 +0000
commitbe2d6541b98639de8e8e5492af526c022366df59 (patch)
tree081a0d2f94d0a5138d7a9a85759fa7dea2b4bfdf
parent77b89c8b183ea79b0c56f3378c36f2d421993f6d (diff)
mb/google/zork/variants/dalboz: Use HS200 for eMMC
Earlier versions of Dalboz did not correctly handle HS400. One fix was to add stitching vias, but these boards did not have them. b/156539551 Another possible fix is to add tuning parameters including drive strength, but that is still a WIP. b/158959725 This should correct OS load failures in the meantime by running the bus slower. BUG=b:158845662 TEST=build, flash, boot sku 0x5a80000c to OS BRANCH=None Signed-off-by: Eric Peers <epeers@google.com> Change-Id: Ia3e7a641bde04c5a7be29bf91c38dd8c110ed17a Reviewed-on: https://review.coreboot.org/c/coreboot/+/43572 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Raul Rangel <rrangel@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/google/zork/variants/dalboz/variant.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/mainboard/google/zork/variants/dalboz/variant.c b/src/mainboard/google/zork/variants/dalboz/variant.c
index 02121611a1..de4338e446 100644
--- a/src/mainboard/google/zork/variants/dalboz/variant.c
+++ b/src/mainboard/google/zork/variants/dalboz/variant.c
@@ -127,9 +127,21 @@ void variant_devtree_update(void)
cfg = config_of_soc();
if (sku_has_emmc()) {
- if (sku_id() == 0x5A800003)
- /* rev0 boards have issues with HS400 */
+ if ((sku_id() == 0x5A800003) || (sku_id() == 0x5A80000C)) {
+ /*
+ * rev0 and rev1 boards have issues with HS400
+ *
+ * There is a tuning fix with ES which shows promise
+ * for some boards, and a HW fix with stitching vias.
+ * There were also concerns that these boards did not
+ * have good margins for certain skus.
+ *
+ * But these original boards have none of these fixes.
+ * So we keep the speed low here, with the intent that
+ * other variants implement these corrections.
+ */
cfg->sd_emmc_config = SD_EMMC_EMMC_HS200;
+ }
} else {
cfg->sd_emmc_config = SD_EMMC_DISABLE;
}