sw_apps:zynqmp_fsbl: Change of invalid load address value for PL bitstream

When load address is not mentioned for PL bitstream, bootgen now makes this
as 0xFFFFFFFF to indicate it is invalid. Hence, FSBL uses default address to
load bitstream when load address from bootgen is 0xFFFFFFFF.

Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com>
Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
This commit is contained in:
Sarat Chand Savitala 2015-08-14 17:08:52 +05:30 committed by Nava kishore Manne
parent aca7c184d4
commit 71d7769303
3 changed files with 18 additions and 1 deletions

View file

@ -488,6 +488,13 @@ extern "C" {
#define XFSBL_PMU_RAM_START_ADDRESS (0xFFDC0000U)
#define XFSBL_PMU_RAM_END_ADDRESS (0xFFDDFFFFU)
/**
* If address where bitstream need to be copied is not configured, below will
* be the default address to indicate it is invalid address. In such cases,
* XFSBL_DDR_TEMP_ADDRESS is used as load address.
*/
#define XFSBL_DUMMY_PL_ADDR (0xFFFFFFFFU)
/**
* ARM Processor defines
*/

View file

@ -499,6 +499,16 @@ static u32 XFsbl_CheckValidMemoryAddress(u64 Address, u32 CpuId, u32 DevId)
}
#endif
/**
* If destination device is PL and load address is not configured,
* don't consider this as error as we will use temp load address
* to load PL bitstream
*/
if ((DevId == XIH_PH_ATTRB_DEST_DEVICE_PL) &&
(Address == XFSBL_DUMMY_PL_ADDR))
{
goto END;
}
/**
* Not a valid address

View file

@ -816,7 +816,7 @@ static u32 XFsbl_PartitionCopy(XFsblPs * FsblInstancePtr, u32 PartitionNum)
{
#ifdef XFSBL_BS
if (LoadAddress == 0U)
if (LoadAddress == XFSBL_DUMMY_PL_ADDR)
{
LoadAddress = XFSBL_DDR_TEMP_ADDRESS;
}