49 fill_fullpaths(child, tree->
fullpath);
55 fprintf(stderr,
"\tdtc [options] <input file>\n");
56 fprintf(stderr,
"\nOptions:\n");
58 fprintf(stderr,
"\t\tThis help text\n");
60 fprintf(stderr,
"\t\tQuiet: -q suppress warnings, -qq errors, -qqq all\n");
61 fprintf(stderr,
"\t-I <input format>\n");
62 fprintf(stderr,
"\t\tInput formats are:\n");
63 fprintf(stderr,
"\t\t\tdts - device tree source text\n");
64 fprintf(stderr,
"\t\t\tdtb - device tree blob\n");
65 fprintf(stderr,
"\t\t\tfs - /proc/device-tree style directory\n");
66 fprintf(stderr,
"\t-o <output file>\n");
67 fprintf(stderr,
"\t-O <output format>\n");
68 fprintf(stderr,
"\t\tOutput formats are:\n");
69 fprintf(stderr,
"\t\t\tdts - device tree source text\n");
70 fprintf(stderr,
"\t\t\tdtb - device tree blob\n");
71 fprintf(stderr,
"\t\t\tasm - assembler source\n");
72 fprintf(stderr,
"\t-V <output version>\n");
73 fprintf(stderr,
"\t\tBlob version to produce, defaults to %d (relevant for dtb\n\t\tand asm output only)\n",
DEFAULT_FDT_VERSION);
74 fprintf(stderr,
"\t-d <output dependency file>\n");
75 fprintf(stderr,
"\t-R <number>\n");
76 fprintf(stderr,
"\t\tMake space for <number> reserve map entries (relevant for \n\t\tdtb and asm output only)\n");
77 fprintf(stderr,
"\t-S <bytes>\n");
78 fprintf(stderr,
"\t\tMake the blob at least <bytes> long (extra space)\n");
79 fprintf(stderr,
"\t-p <bytes>\n");
80 fprintf(stderr,
"\t\tAdd padding to the blob of <bytes> long (extra space)\n");
81 fprintf(stderr,
"\t-b <number>\n");
82 fprintf(stderr,
"\t\tSet the physical boot cpu\n");
84 fprintf(stderr,
"\t\tForce - try to produce output even if the input tree has errors\n");
86 fprintf(stderr,
"\t\tAdd a path to search for include files\n");
88 fprintf(stderr,
"\t\tSort nodes and properties before outputting (only useful for\n\t\tcomparing trees)\n");
90 fprintf(stderr,
"\t\tPrint DTC version and exit\n");
91 fprintf(stderr,
"\t-H <phandle format>\n");
92 fprintf(stderr,
"\t\tphandle formats are:\n");
93 fprintf(stderr,
"\t\t\tlegacy - \"linux,phandle\" properties only\n");
94 fprintf(stderr,
"\t\t\tepapr - \"phandle\" properties only\n");
95 fprintf(stderr,
"\t\t\tboth - Both \"linux,phandle\" and \"phandle\" properties\n");
96 fprintf(stderr,
"\t-W [no-]<checkname>\n");
97 fprintf(stderr,
"\t-E [no-]<checkname>\n");
98 fprintf(stderr,
"\t\t\tenable or disable warnings and errors\n");
105 const char *inform =
"dts";
106 const char *outform =
"dts";
107 const char *outname =
"-";
108 const char *depname =
NULL;
114 long long cmdline_boot_cpuid = -1;
121 while ((opt = getopt(argc, argv,
"hI:O:o:V:d:R:S:p:fqb:i:vH:sW:E:"))
134 outversion = strtol(optarg,
NULL, 0);
155 cmdline_boot_cpuid = strtoll(optarg,
NULL, 0);
164 if (
streq(optarg,
"legacy"))
166 else if (
streq(optarg,
"epapr"))
168 else if (
streq(optarg,
"both"))
171 die(
"Invalid argument \"%s\" to -H option\n",
193 if (argc > (optind+1))
195 else if (argc < (optind+1))
202 die(
"Can't set both -p and -S\n");
205 fprintf(stderr,
"DTC: Use of \"-S\" is deprecated; it will be removed soon, use \"-p\" instead\n");
210 die(
"Couldn't open dependency file %s: %s\n", depname,
215 if (
streq(inform,
"dts"))
217 else if (
streq(inform,
"fs"))
219 else if(
streq(inform,
"dtb"))
222 die(
"Unknown input format \"%s\"\n", inform);
229 if (cmdline_boot_cpuid != -1)
232 fill_fullpaths(bi->
dt,
"");
238 if (
streq(outname,
"-")) {
241 outf = fopen(outname,
"w");
243 die(
"Couldn't open output file %s: %s\n",
247 if (
streq(outform,
"dts")) {
249 }
else if (
streq(outform,
"dtb")) {
251 }
else if (
streq(outform,
"asm")) {
253 }
else if (
streq(outform,
"null")) {
256 die(
"Unknown output format \"%s\"\n", outform);