From 4dbd24eb78e8ad071b5825a9b64b42bbd444f629 Mon Sep 17 00:00:00 2001 From: Siva Durga Prasad Paladugu Date: Thu, 5 Mar 2015 21:16:00 +0530 Subject: [PATCH] zynqmp: nand: Add nand boot mode support Add nand bootmode support to perform autoboot of Linux in nand bootmode for ZynqMP Signed-off-by: Siva Durga Prasad Paladugu Signed-off-by: Michal Simek --- arch/arm/include/asm/arch-zynqmp/hardware.h | 1 + board/xilinx/zynqmp/zynqmp.c | 3 +++ include/configs/xilinx_zynqmp.h | 3 +++ 3 files changed, 7 insertions(+) diff --git a/arch/arm/include/asm/arch-zynqmp/hardware.h b/arch/arm/include/asm/arch-zynqmp/hardware.h index 6ef32516e34..0a011b2fc2e 100644 --- a/arch/arm/include/asm/arch-zynqmp/hardware.h +++ b/arch/arm/include/asm/arch-zynqmp/hardware.h @@ -56,6 +56,7 @@ struct iou_scntr { #define BOOT_MODES_MASK 0x0000000F #define QSPI_MODE 0x00000001 #define SD_MODE 0x00000005 +#define NAND_MODE 0x00000004 #define JTAG_MODE 0x00000000 #define ZYNQMP_IOU_SLCR_BASEADDR 0xFF180000 diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index cba1df04e89..93967faf542 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -140,6 +140,9 @@ int board_late_init(void) case SD_MODE: setenv("modeboot", "sdboot"); break; + case NAND_MODE: + setenv("modeboot", "nandboot"); + break; default: printf("Invalid Boot Mode:0x%x\n", bootmode); break; diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h index 32abb5ef3e6..39333e6d63c 100644 --- a/include/configs/xilinx_zynqmp.h +++ b/include/configs/xilinx_zynqmp.h @@ -144,6 +144,9 @@ "sf read 80000 140000 1800000 && booti 80000 - $fdt_addr\0" \ "sdboot=mmcinfo && fatload mmc 0:0 $fdt_addr system.dtb && " \ "fatload mmc 0:0 f000000 Image && booti 80000 - $fdt_addr\0" \ + "nandboot=nand info && nand read $fdt_addr 100000 40000 && " \ + "nand read $kernel_addr 140000 1800000 && " \ + "booti $kernel_addr - $fdt_addr\0" \ "xen=tftpb $fdt_addr system.dtb && fdt addr $fdt_addr && fdt resize && " \ "tftpb 0x80000 Image && " \ "fdt set /chosen/dom0 reg <0x80000 0x$filesize> && "\ -- 2.47.3