mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2025-12-10 07:44:53 +01:00
flash: NOR: add jffs2 clean marker support
during NOR rootfs image flashing , each block in the remaning space (rootfs_data) will be updated with jffs2 clean marker Change-Id: I324ee3d61b427533473ebed6653ae8716b31600b Signed-off-by: Rajkumar Ayyasamy <quic_arajkuma@quicinc.com>
This commit is contained in:
parent
881cdd8aa0
commit
2fd3774e61
2 changed files with 30 additions and 0 deletions
|
|
@ -213,6 +213,12 @@ char * const argv[])
|
|||
char* layout_linux[] = {"rootfs", "0:BOOTCONFIG", "0:BOOTCONFIG1"};
|
||||
int len, i;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IPQ_JFFS2_CLEANMARKER
|
||||
int cleanmarker[3] = {0x20031985 , 0xc, 0xe41eb0b1}, j;
|
||||
char runcmd[256];
|
||||
bool write_cleanmarker = 0;
|
||||
#endif
|
||||
offset = 0;
|
||||
part_size = 0;
|
||||
layout = "default";
|
||||
|
|
@ -401,6 +407,11 @@ char * const argv[])
|
|||
|
||||
offset = sfi->flash_block_size * start_block;
|
||||
part_size = sfi->flash_block_size * size_block;
|
||||
|
||||
#ifdef CONFIG_IPQ_JFFS2_CLEANMARKER
|
||||
if (!strncmp(part_name, "rootfs", sizeof("rootfs")))
|
||||
write_cleanmarker = 1;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -434,6 +445,24 @@ char * const argv[])
|
|||
|
||||
ret = write_to_flash(flash_type, load_addr, offset, part_size,
|
||||
file_size, layout);
|
||||
#ifdef CONFIG_IPQ_JFFS2_CLEANMARKER
|
||||
if (write_cleanmarker) {
|
||||
file_size = ALIGN(file_size, sfi->flash_block_size);
|
||||
printf("Adding clean markers in rootfs_data\n");
|
||||
setenv("stdout", "nulldev");
|
||||
for (j = 0; j < part_size - file_size;
|
||||
j += sfi->flash_block_size) {
|
||||
snprintf(runcmd, sizeof(runcmd),
|
||||
"sf write 0x%x 0x%x 0x%x && ",
|
||||
(uint32_t)cleanmarker, offset + file_size + j,
|
||||
sizeof(cleanmarker));
|
||||
ret = run_command(runcmd, 0);
|
||||
if (ret != CMD_RET_SUCCESS)
|
||||
break;
|
||||
}
|
||||
setenv("stdout", "serial");
|
||||
}
|
||||
#endif
|
||||
} else
|
||||
ret = fl_erase(flash_type, offset, part_size, layout);
|
||||
exit:
|
||||
|
|
|
|||
|
|
@ -457,6 +457,7 @@ extern loff_t board_env_size;
|
|||
#define CONFIG_DISABLE_KERNEL64
|
||||
#define CONFIG_CMD_DISABLE_EXECTZT
|
||||
#define CONFIG_DISABLE_RAMDISK
|
||||
#define CONFIG_IPQ_JFFS2_CLEANMARKER
|
||||
#else
|
||||
#define CONFIG_IPQ_ELF_AUTH
|
||||
#define CONFIG_IPQ_FDT_FIXUP
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue