summaryrefslogtreecommitdiffstats
path: root/src/mainboard
diff options
context:
space:
mode:
authorRaul E Rangel <rrangel@chromium.org>2020-09-03 15:46:56 -0600
committerPatrick Georgi <pgeorgi@google.com>2020-09-28 09:39:39 +0000
commit94be1f7399629de0578c56625ddd327cc1123fe4 (patch)
tree713fab889ebb75894e60f67d3bbc6a2c42bfbc36 /src/mainboard
parent5590d9aa753f34aac91ade155d06e5e8c5d364f1 (diff)
downloadcoreboot-94be1f7399629de0578c56625ddd327cc1123fe4.tar.gz
coreboot-94be1f7399629de0578c56625ddd327cc1123fe4.tar.bz2
coreboot-94be1f7399629de0578c56625ddd327cc1123fe4.zip
mb/google/zork: Set eMMC presets
They should be tuned per board to get the best signal and boot time. This fixes the HS400 preset, so it's correctly set to A. It also changes the SDR50 and DDR50 presets to B. We can't boot correctly when DDR50 is set to A. I chose 1 as the init kHz value since that's what depthcharge uses to calculate the init clock. BUG=b:159823235 TEST=Boot Ezkinil and dump SDHCI preset registers. Signed-off-by: Raul E Rangel <rrangel@chromium.org> Change-Id: Ie2f3497b65d771820ab1a803fec73265547f8906 Reviewed-on: https://review.coreboot.org/c/coreboot/+/45098 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb10
-rw-r--r--src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb10
2 files changed, 20 insertions, 0 deletions
diff --git a/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb b/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb
index 40042436d3b2..ae712ee2bee4 100644
--- a/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb
+++ b/src/mainboard/google/zork/variants/baseboard/devicetree_dalboz.cb
@@ -42,6 +42,16 @@ chip soc/amd/picasso
register "emmc_config" = "{
.timing = SD_EMMC_EMMC_HS400,
+ .sdr104_hs400_driver_strength = SD_EMMC_DRIVE_STRENGTH_A,
+ /*
+ * The reference design was missing a pull-up on the CMD line.
+ * This means we can't run at the full 400 kHz. By setting this
+ * to 1 we run at the slowest frequency possible by the
+ * controller (~97 kHz).
+ *
+ * Boards that have the pull-up should correctly set this.
+ */
+ .init_khz_preset = 1,
}"
register "xhci0_force_gen1" = "0"
diff --git a/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb b/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb
index 8d475e956e7f..69179ece13b3 100644
--- a/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb
+++ b/src/mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb
@@ -42,6 +42,16 @@ chip soc/amd/picasso
register "emmc_config" = "{
.timing = SD_EMMC_EMMC_HS400,
+ .sdr104_hs400_driver_strength = SD_EMMC_DRIVE_STRENGTH_A,
+ /*
+ * The reference design was missing a pull-up on the CMD line.
+ * This means we can't run at the full 400 kHz. By setting this
+ * to 1 we run at the slowest frequency possible by the
+ * controller (~97 kHz).
+ *
+ * Boards that have the pull-up should correctly set this.
+ */
+ .init_khz_preset = 1,
}"
register "xhci0_force_gen1" = "0"