]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
arm64: versal-net: Look up eMMC device in boot_targets_setup()
authorMichal Simek <michal.simek@amd.com>
Tue, 23 Jun 2026 12:53:42 +0000 (14:53 +0200)
committerMichal Simek <michal.simek@amd.com>
Wed, 8 Jul 2026 06:55:51 +0000 (08:55 +0200)
The EMMC_MODE case set bootseq from dev_seq(dev) without ever assigning
dev, so it used an uninitialized pointer and produced a bogus device
sequence in boot_targets.

eMMC is wired to the SD1 controller (mmc@f1050000, see
versal-net-mini-emmc.dts). Look that device up like the SD cases do
before using its sequence number.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://patch.msgid.link/bf779dcdd30c900d7614c0fa8382cb3f4cb57c20.1782219202.git.michal.simek@amd.com
board/xilinx/versal-net/board.c

index 687d042d1062edc598aa4d33cf891482e5f989e3..9c0490cba9807121fbf6bc0ae123dcae1c56db2a 100644 (file)
@@ -145,6 +145,11 @@ static int boot_targets_setup(void)
                break;
        case EMMC_MODE:
                puts("EMMC_MODE\n");
+               if (uclass_get_device_by_name(UCLASS_MMC,
+                                             "mmc@f1050000", &dev)) {
+                       debug("eMMC driver for eMMC device is not present\n");
+                       break;
+               }
                mode = "mmc";
                bootseq = dev_seq(dev);
                break;