struct sig_header bh_addr;
int ret;
- /* u-boot-mmc.bin */
- if (strncmp(fname, "u-boot-mmc.bin", 14))
+ /*
+ * Bootloader names according to boards :
+ * - Exynos Boards : u-boot-mmc.bin
+ * - ARTIK530 : bootloader.img
+ */
+ if (strncmp(fname, "u-boot-mmc.bin", 14) &&
+ strncmp(fname, "bootloader.img", 14))
return 0;
/* can't found signature in target - download continue */
ret = get_image_signature(&bh_target, (phys_addr_t)CONFIG_SYS_TEXT_BASE,
- CONFIG_SIG_IMAGE_SIZE);
+ CONFIG_SIG_IMAGE_SIZE - CONFIG_EXTRA_SIZE);
if (ret)
return 0;
}
printf("OK!\n");
+
+#ifdef CONFIG_MACH_S5P4418
+ printf("Target version : %s\n", bh_target.version);
+ printf("Image version : %s\n", bh_addr.version);
+
+ if (strncmp(bh_target.version, bh_addr.version, 1)) {
+ printf("Invalid version!!!\n");
+ return - EPERM;
+ }
+#endif
return 0;
}
/* Size of u-boot-mmc.bin - should be always padded to 1MB */
#define CONFIG_SIG_IMAGE_SIZE SZ_1M
+#ifndef CONFIG_EXTRA_SIZE
+#define CONFIG_EXTRA_SIZE 0
+#endif
+
/* HDR_SIZE - 512 */
struct sig_header {
uint32_t magic; /* image magic number */