summaryrefslogtreecommitdiffstats
path: root/tools/mkimage/patches/100-dtc-binary.patch
blob: 50341198b6be57c31a192efebccf581e651cd66b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
--- 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;