summaryrefslogtreecommitdiffstats
path: root/scripts/imx/imx.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/imx/imx.c')
-rw-r--r--scripts/imx/imx.c22
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,