From 4f84389e6c035d9142defebd6f321a0cad29e6ea Mon Sep 17 00:00:00 2001 From: Sarat Chand Savitala Date: Thu, 26 Mar 2015 14:57:18 +0530 Subject: [PATCH] sw_apps:zynqmp_fsbl: Flash load address for SD For file system based devices, flash offset address (location of image) should be independednt of multiboot and should always be 0. Signed-off-by: Sarat Chand Savitala --- lib/sw_apps/zynqmp_fsbl/src/xfsbl_initialization.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/sw_apps/zynqmp_fsbl/src/xfsbl_initialization.c b/lib/sw_apps/zynqmp_fsbl/src/xfsbl_initialization.c index 8c7f0340..93cdebaf 100644 --- a/lib/sw_apps/zynqmp_fsbl/src/xfsbl_initialization.c +++ b/lib/sw_apps/zynqmp_fsbl/src/xfsbl_initialization.c @@ -611,10 +611,18 @@ static u32 XFsbl_ValidateHeader(XFsblPs * FsblInstancePtr) XFsbl_Printf(DEBUG_INFO,"Multiboot Reg : 0x%0lx \n\r", MultiBootOffset); /** - * Calculate the Flash Offset Address + * Calculate the Flash Offset Address + * For file system based devices, Flash Offset Address should be 0 always */ - FsblInstancePtr->ImageOffsetAddress = - MultiBootOffset * XFSBL_IMAGE_SEARCH_OFFSET; + if ((FsblInstancePtr->PrimaryBootDevice == XFSBL_SD_BOOT_MODE) || + (FsblInstancePtr->PrimaryBootDevice == XFSBL_EMMC_BOOT_MODE)) + { + FsblInstancePtr->ImageOffsetAddress = 0x0U; + } else { + FsblInstancePtr->ImageOffsetAddress = + MultiBootOffset * XFSBL_IMAGE_SEARCH_OFFSET; + } + FlashImageOffsetAddress = FsblInstancePtr->ImageOffsetAddress; /**