--- a/tools/mkimage.c
+++ b/tools/mkimage.c
-@@ -37,6 +37,7 @@ struct mkimage_params params = {
+@@ -37,6 +37,7 @@
.arch = IH_ARCH_PPC,
.type = IH_TYPE_KERNEL,
.comp = IH_COMP_GZIP,
.dtc = MKIMAGE_DEFAULT_DTC_OPTIONS,
.imagename = "",
.imagename2 = "",
-@@ -189,6 +190,16 @@ main (int argc, char **argv)
+@@ -189,6 +190,16 @@
genimg_get_comp_id (*++argv)) < 0)
usage ();
goto NXTARG;
case 'D':
if (--argc <= 0)
usage ();
-@@ -613,12 +624,13 @@ usage ()
+@@ -613,12 +624,13 @@
fprintf (stderr, "Usage: %s -l image\n"
" -l ==> list image header information\n",
params.cmdname);
" -n ==> set image name to 'name'\n"
--- a/tools/mkimage.h
+++ b/tools/mkimage.h
-@@ -65,6 +65,7 @@ struct mkimage_params {
+@@ -79,6 +79,7 @@
int arch;
int type;
int comp;
unsigned int ep;
--- a/tools/default_image.c
+++ b/tools/default_image.c
-@@ -111,7 +111,7 @@ static void image_set_header(void *ptr,
+@@ -111,7 +111,7 @@
sbuf->st_size - sizeof(image_header_t));
/* Build new header */
+++ /dev/null
---- a/doc/mkimage.1
-+++ b/doc/mkimage.1
-@@ -82,6 +82,10 @@
- .B Create FIT image:
-
- .TP
-+.BI "\-B [" "dtc bin" "]"
-+Set path to the device tree compiler binary.
-+
-+.TP
- .BI "\-D [" "dtc options" "]"
- Provide special options to the device tree compiler that is used to
- create the image.
---- a/tools/fit_image.c
-+++ b/tools/fit_image.c
-@@ -82,7 +82,8 @@
-
- /* dtc -I dts -O dtb -p 500 datafile > tmpfile */
- sprintf (cmd, "%s %s %s > %s",
-- MKIMAGE_DTC, params->dtc, params->datafile, tmpfile);
-+ params->dtc_bin, params->dtc_options, params->datafile,
-+ tmpfile);
- debug ("Trying to execute \"%s\"\n", cmd);
- if (system (cmd) == -1) {
- fprintf (stderr, "%s: system(%s) failed: %s\n",
---- a/tools/mkimage.c
-+++ b/tools/mkimage.c
-@@ -38,7 +38,8 @@
- .type = IH_TYPE_KERNEL,
- .comp = IH_COMP_GZIP,
- .magic = IH_MAGIC,
-- .dtc = MKIMAGE_DEFAULT_DTC_OPTIONS,
-+ .dtc_bin = MKIMAGE_DTC,
-+ .dtc_options = MKIMAGE_DEFAULT_DTC_OPTIONS,
- .imagename = "",
- .imagename2 = "",
- };
-@@ -200,10 +201,15 @@
- params.cmdname, *argv);
- }
- goto NXTARG;
-+ case 'B':
-+ if (--argc <= 0)
-+ usage ();
-+ params.dtc_bin = *++argv;
-+ goto NXTARG;
- case 'D':
- if (--argc <= 0)
- usage ();
-- params.dtc = *++argv;
-+ params.dtc_options = *++argv;
- goto NXTARG;
-
- case 'O':
-@@ -637,7 +643,9 @@
- " -d ==> use image data from 'datafile'\n"
- " -x ==> set XIP (execute in place)\n",
- params.cmdname);
-- fprintf (stderr, " %s [-D dtc_options] -f fit-image.its fit-image\n",
-+ fprintf (stderr, " %s [-B dtc_bin] [-D dtc_options] -f fit-image.its fit-image\n",
-+ " -B ==> set path to the dtc binary\n",
-+ " -D ==> set options that will be passed to dtc\n",
- params.cmdname);
- fprintf (stderr, " %s -V ==> print version information and exit\n",
- params.cmdname);
---- a/tools/mkimage.h
-+++ b/tools/mkimage.h
-@@ -46,7 +46,7 @@
- #define MKIMAGE_MAX_TMPFILE_LEN 256
- #define MKIMAGE_DEFAULT_DTC_OPTIONS "-I dts -O dtb -p 500"
- #define MKIMAGE_MAX_DTC_CMDLINE_LEN 512
--#define MKIMAGE_DTC "dtc" /* assume dtc is in $PATH */
-+#define MKIMAGE_DTC "dtc"
-
- /*
- * This structure defines all such variables those are initialized by
-@@ -66,7 +66,8 @@
- int type;
- int comp;
- unsigned int magic;
-- char *dtc;
-+ char *dtc_bin;
-+ char *dtc_options;
- unsigned int addr;
- unsigned int ep;
- char *imagename;