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 <hen...@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

Reply via email to