summaryrefslogtreecommitdiff
path: root/scripts/imx/imx.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/imx/imx.c')
-rw-r--r--scripts/imx/imx.c32
1 files changed, 30 insertions, 2 deletions
diff --git a/scripts/imx/imx.c b/scripts/imx/imx.c
index 87560ad27d..e3169bace6 100644
--- a/scripts/imx/imx.c
+++ b/scripts/imx/imx.c
@@ -609,6 +609,26 @@ do_signed_hdmi_firmware(struct config_data *data, int argc, char *argv[])
return 0;
}
+static int do_flexspi_ivtofs(struct config_data *data, int argc, char *argv[])
+{
+ if (argc < 2)
+ return -EINVAL;
+
+ data->image_flexspi_ivt_offset = strtoul(argv[1], NULL, 0);
+
+ return 0;
+}
+
+static int do_flexspi_fcfbofs(struct config_data *data, int argc, char *argv[])
+{
+ if (argc < 2)
+ return -EINVAL;
+
+ data->image_flexspi_fcfb_offset = strtoul(argv[1], NULL, 0);
+
+ return 0;
+}
+
struct command cmds[] = {
{
.name = "wm",
@@ -667,6 +687,12 @@ struct command cmds[] = {
}, {
.name = "signed_hdmi_firmware",
.parse = do_signed_hdmi_firmware,
+ }, {
+ .name = "flexspi_fcfbofs",
+ .parse = do_flexspi_fcfbofs,
+ }, {
+ .name = "flexspi_ivtofs",
+ .parse = do_flexspi_ivtofs,
},
};
@@ -675,6 +701,7 @@ static char *readcmd(struct config_data *data, FILE *f)
static char *buf;
char *str;
ssize_t ret;
+ int inquotes = 0;
if (!buf) {
buf = malloc(4096);
@@ -689,8 +716,9 @@ static char *readcmd(struct config_data *data, FILE *f)
ret = fread(str, 1, 1, f);
if (!ret)
return strlen(buf) ? buf : NULL;
-
- if (*str == '\n' || *str == ';') {
+ if (*str == '"') {
+ inquotes = !inquotes;
+ } else if ((*str == '\n' || *str == ';') && !inquotes) {
*str = 0;
return buf;
}