diff options
Diffstat (limited to 'scripts/imx/imx.c')
-rw-r--r-- | scripts/imx/imx.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/scripts/imx/imx.c b/scripts/imx/imx.c index ea576c22d3..1fb3922fcf 100644 --- a/scripts/imx/imx.c +++ b/scripts/imx/imx.c @@ -211,16 +211,22 @@ static int do_loadaddr(struct config_data *data, int argc, char *argv[]) return 0; } -static int do_dcd_offset(struct config_data *data, int argc, char *argv[]) +static int do_ivt_offset(struct config_data *data, int argc, char *argv[]) { if (argc < 2) return -EINVAL; - data->image_dcd_offset = strtoul(argv[1], NULL, 0); + data->image_ivt_offset = strtoul(argv[1], NULL, 0); return 0; } +static int do_dcdofs_error(struct config_data *data, int argc, char *argv[]) +{ + fprintf(stderr, "ERROR: misnomer dcdofs has been renamed to ivtofs. imxcfg must be adapted.\n"); + return -EINVAL; +} + struct soc_type { char *name; int header_version; @@ -240,6 +246,7 @@ static struct soc_type socs[] = { { .name = "imx6", .header_version = 2, .cpu_type = IMX_CPU_IMX6, .header_gap = 0, .first_opcode = 0xea0003fe /* b 0x1000 */}, { .name = "imx7", .header_version = 2, .cpu_type = IMX_CPU_IMX7, .header_gap = 0, .first_opcode = 0xea0003fe /* b 0x1000 */}, { .name = "imx8mm", .header_version = 2, .cpu_type = IMX_CPU_IMX8MM, .header_gap = SZ_32K, .first_opcode = 0x14000000 /* b 0x0000 (offset computed) */}, + { .name = "imx8mp", .header_version = 2, .cpu_type = IMX_CPU_IMX8MP, .header_gap = SZ_32K, .first_opcode = 0x14000000 /* b 0x0000 (offset computed) */}, { .name = "imx8mq", .header_version = 2, .cpu_type = IMX_CPU_IMX8MQ, .header_gap = SZ_32K, .first_opcode = 0x14000000 /* b 0x0000 (offset computed) */}, { .name = "vf610", .header_version = 2, .cpu_type = IMX_CPU_VF610, .header_gap = 0, .first_opcode = 0xea0003fe /* b 0x1000 */}, }; @@ -334,7 +341,7 @@ static int do_hab_blocks(struct config_data *data, int argc, char *argv[]) char *str; int ret; uint32_t signed_size = data->load_size; - uint32_t offset = data->image_dcd_offset; + uint32_t offset = data->image_ivt_offset; if (!data->csf) return -EINVAL; @@ -358,8 +365,8 @@ static int do_hab_blocks(struct config_data *data, int argc, char *argv[]) if (signed_size > 0) { ret = asprintf(&str, "Blocks = 0x%08x 0x%08x 0x%08x \"%s\"\n", - data->image_load_addr + data->image_dcd_offset, offset, - signed_size - data->image_dcd_offset, data->outfile); + data->image_load_addr + data->image_ivt_offset, offset, + signed_size - data->image_ivt_offset, data->outfile); } else { fprintf(stderr, "Invalid signed size area 0x%08x\n", signed_size); @@ -585,8 +592,11 @@ struct command cmds[] = { .name = "loadaddr", .parse = do_loadaddr, }, { + .name = "ivtofs", + .parse = do_ivt_offset, + }, { .name = "dcdofs", - .parse = do_dcd_offset, + .parse = do_dcdofs_error, }, { .name = "soc", .parse = do_soc, |