From cf7159af64d8b7b322aa6183fff721c785624f22 Mon Sep 17 00:00:00 2001 From: Mario Scheithauer Date: Mon, 16 Jun 2025 13:19:04 +0200 Subject: [PATCH] mb/siemens/mc_ehl3: Limit eMMC speed mode to DDR50 Due to layout restrictions on mc_ehl3, 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: Id84d34e7abd4bf73648d453182345bc2e4676d62 Signed-off-by: Mario Scheithauer Reviewed-on: https://review.coreboot.org/c/coreboot/+/88110 Reviewed-by: Uwe Poeche Tested-by: build bot (Jenkins) Reviewed-by: Werner Zeh --- src/mainboard/siemens/mc_ehl/variants/mc_ehl3/mainboard.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mainboard/siemens/mc_ehl/variants/mc_ehl3/mainboard.c b/src/mainboard/siemens/mc_ehl/variants/mc_ehl3/mainboard.c index c68ecdae0d..01349687b8 100644 --- a/src/mainboard/siemens/mc_ehl/variants/mc_ehl3/mainboard.c +++ b/src/mainboard/siemens/mc_ehl/variants/mc_ehl3/mainboard.c @@ -42,6 +42,13 @@ void variant_mainboard_final(void) HOSTCTRL2_PRESET); } } + + dev = pcidev_path_on_root(PCH_DEVFN_EMMC); + if (dev) { + struct resource *res = probe_resource(dev, PCI_BASE_ADDRESS_0); + if (res) + disable_sdr_modes(res); + } } static void finalize_boot(void *unused)