[PATCH 2/2] samsung: common: only load CROS_EC if enabled in config

Henrik Grimler henrik at grimler.se
Wed Feb 8 20:04:21 CET 2023


Otherwise non-ChromeOS samsung devices, like the odroid boards, are
stuck in a bootloop if CONFIG_CROS_EC is not enabled:

    <...>
    MMC: SAMSUNG SDHCI: 2, EXYNOS DWMMC: 0
    Loading Environment from MMC... *** Warning - bad CRC, using default environment

    cros-ec communications failure -96

    Please reset with Power+Refresh

    Cannot init cros-ec device
    resetting ...

Issue started after commit e44d7e73fe0d ("dm: core: Switch
uclass_*_device_err to use uclass_*_device_check").

Signed-off-by: Henrik Grimler <henrik at grimler.se>
---
 board/samsung/common/board.c | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c
index 16ce5cb89253..78161b807bac 100644
--- a/board/samsung/common/board.c
+++ b/board/samsung/common/board.c
@@ -217,26 +217,27 @@ int checkboard(void)
 #ifdef CONFIG_BOARD_LATE_INIT
 int board_late_init(void)
 {
-	struct udevice *dev;
-	int ret;
 	int mmcbootdev = get_boot_mmc_dev();
 	char mmcbootdev_str[16];
 
-	ret = uclass_first_device_err(UCLASS_CROS_EC, &dev);
-	if (ret && ret != -ENODEV) {
-		/* Force console on */
-		gd->flags &= ~GD_FLG_SILENT;
-
-		printf("cros-ec communications failure %d\n", ret);
-		puts("\nPlease reset with Power+Refresh\n\n");
-		panic("Cannot init cros-ec device");
-		return -1;
-	}
-
 	printf("Boot device: MMC(%u)\n", mmcbootdev);
 	sprintf(mmcbootdev_str, "%u", mmcbootdev);
 	env_set("mmcbootdev", mmcbootdev_str);
 
+	if (IS_ENABLED(CONFIG_CROS_EC)) {
+		struct udevice *dev;
+		int ret = uclass_first_device_err(UCLASS_CROS_EC, &dev);
+		if (ret && ret != -ENODEV) {
+			/* Force console on */
+			gd->flags &= ~GD_FLG_SILENT;
+
+			printf("cros-ec communications failure %d\n", ret);
+			puts("\nPlease reset with Power+Refresh\n\n");
+			panic("Cannot init cros-ec device");
+			return -1;
+		}
+	}
+
 	return 0;
 }
 #endif
-- 
2.30.2



More information about the U-Boot mailing list