From: Michal Simek Date: Fri, 6 Nov 2015 09:22:37 +0000 (+0100) Subject: ARM64: zynqmp: Fix bootmode SD_MODE1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b390bfef4e40e0ce64f916ecd032364ec0c516b4;p=thirdparty%2Fu-boot.git ARM64: zynqmp: Fix bootmode SD_MODE1 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 Acked-by: Siva Durga Prasad Paladugu Signed-off-by: Michal Simek --- diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index 626d5c7d068..1011339faac 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -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"); diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h index 4a32f2087d6..d0f65e12364 100644 --- a/include/configs/xilinx_zynqmp.h +++ b/include/configs/xilinx_zynqmp.h @@ -193,6 +193,7 @@ "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 && " \ @@ -205,11 +206,8 @@ "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 && " \