summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMario Scheithauer <mario.scheithauer@siemens.com>2024-11-26 08:57:09 +0100
committerWerner Zeh <werner.zeh@siemens.com>2024-11-29 08:51:55 +0000
commit7906bc65768b9543d262586797274f5f93b15996 (patch)
treed077d6335811d72f08d0a6107cfebb1148c52cdc
parent7749088de7494edbc4ff048dd2f2b16cce189f84 (diff)
mb/siemens/mc_ehl5: Limit eMMC speed mode to DDR50
Due to layout restrictions on mc_ehl5, the eMMC interface is limited to operate in DDR50 mode. The alternative modes SDR104 and SDR50 are not supported. Limit the capabilities in the eMMC controller to DDR50 mode only so that the eMMC driver in OS will choose the right mode for operation even if the attached eMMC card supports higher modes. BUG=none TEST=Boot into Linux and check dmesg output for mmc modes Change-Id: Ie3214bc3e25e7af706a5c96244d0be50f4bb3094 Signed-off-by: Mario Scheithauer <mario.scheithauer@siemens.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/85314 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
-rw-r--r--src/mainboard/siemens/mc_ehl/variants/mc_ehl5/mainboard.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mainboard/siemens/mc_ehl/variants/mc_ehl5/mainboard.c b/src/mainboard/siemens/mc_ehl/variants/mc_ehl5/mainboard.c
index e6e7e7129e..2c37c69698 100644
--- a/src/mainboard/siemens/mc_ehl/variants/mc_ehl5/mainboard.c
+++ b/src/mainboard/siemens/mc_ehl/variants/mc_ehl5/mainboard.c
@@ -55,6 +55,15 @@ void variant_mainboard_final(void)
reg16 |= HOSTCTRL2_PRESET;
write16(res2mmio(res, HOSTCTRL2, 0), reg16);
}
+
+ dev = pcidev_path_on_root(PCH_DEVFN_EMMC);
+ if (dev) {
+ struct resource *res = probe_resource(dev, PCI_BASE_ADDRESS_0);
+ if (!res)
+ return;
+
+ disable_sdr_modes(res);
+ }
}
static void finalize_boot(void *unused)