/* Validate the partition by calculationg the md5 checksum for the partition and compare with checksum present in checksum offset of partition  */
int zynq_validate_partition(u32 start_addr, u32 len, u32 chksum_off)
/* Validate the partition by calculationg the md5 checksum for the partition and compare with checksum present in checksum offset of partition  */
int zynq_validate_partition(u32 start_addr, u32 len, u32 chksum_off)
{
	u8 checksum[MD5_CHECKSUM_SIZE];
	u8 calchecksum[MD5_CHECKSUM_SIZE];
	memcpy(&checksum[0], (u32 *)chksum_off, MD5_CHECKSUM_SIZE);
	md5_wd((u8 *)start_addr, len, &calchecksum[0], 0x10000);
	if (!memcmp(checksum, calchecksum, MD5_CHECKSUM_SIZE))
		return 0;
	printf("Error: Partition DataChecksum\n");
	return -1;
}