]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
ARM64: zynqmp: Fix bootmode SD_MODE1
authorMichal Simek <michal.simek@xilinx.com>
Fri, 6 Nov 2015 09:22:37 +0000 (10:22 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 6 Nov 2015 10:48:48 +0000 (11:48 +0100)
When only sdhci1 IP is enabled and SD_MODE1 bootmode is selected
U-Boot using sdboot1 variable which refers to mmc dev 1.
But this device doesn't exist because only one controller is available.

This patch fix logic around sdboot mode with using sdbootdev internal
variable.

Reported-by: Chris Kohn <ckohn@xilinx.com>
Acked-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
board/xilinx/zynqmp/zynqmp.c
include/configs/xilinx_zynqmp.h

index 626d5c7d06813d318bc0adf4cd50f9ac9a77aea4..1011339faac48796c9ea6a3208de2df9e8979bfe 100644 (file)
@@ -153,7 +153,10 @@ int board_late_init(void)
                break;
        case SD_MODE1:
                puts("SD_MODE1\n");
-               setenv("modeboot", "sdboot1");
+#if defined(CONFIG_ZYNQ_SDHCI0) && defined(CONFIG_ZYNQ_SDHCI1)
+               setenv("sdbootdev", "1");
+#endif
+               setenv("modeboot", "sdboot");
                break;
        case NAND_MODE:
                puts("NAND_MODE\n");
index 4a32f2087d6d562356f4f57430bc32432933156f..d0f65e123648d48c0551262beea017444eac64f4 100644 (file)
        "initrd_size=0x2000000\0" \
        "fdt_addr=0x7000000\0" \
        "fdt_high=0x10000000\0" \
+       "sdbootdev=0\0"\
        CONFIG_KERNEL_FDT_OFST_SIZE \
        "sata_root=if test $scsidevs -gt 0; then setenv bootargs $bootargs root=/dev/sda rw rootfstype=ext4; fi\0" \
        "veloce=fdt addr f000000 && " \
        "qspiboot=sf probe 0 0 0 && sf read $fdt_addr $fdt_offset $fdt_size && " \
                  "sf read $kernel_addr $kernel_offset $kernel_size && " \
                  "booti $kernel_addr - $fdt_addr\0" \
-       "sdboot=mmcinfo && load mmc 0:$partid $fdt_addr system.dtb && " \
-               "load mmc 0:$partid $kernel_addr Image && " \
-               "booti $kernel_addr - $fdt_addr\0" \
-       "sdboot1=mmc dev 1 && mmcinfo && load mmc 1:$partid $fdt_addr system.dtb && " \
-               "load mmc 1:$partid $kernel_addr Image && " \
+       "sdboot=mmc dev $sdbootdev && mmcinfo && load mmc $sdbootdev:$partid $fdt_addr system.dtb && " \
+               "load mmc $sdbootdev:$partid $kernel_addr Image && " \
                "booti $kernel_addr - $fdt_addr\0" \
        "nandboot=nand info && nand read $fdt_addr $fdt_offset $fdt_size && " \
                  "nand read $kernel_addr $kernel_offset $kernel_size && " \