mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
1653b6a4bf
When device-tree compilation fails it is sometimes tricky to see which line is broken, since the input file to dtc is a pre-processed version of the device tree. Add a line that points to the file that needs to be checked: When the error is in the main .dts file, output is something like this: output: 'Error: arch/x86/dts/.chromebook_coral.dtb.pre.tmp:478.46-47 syntax error FATAL ERROR: Unable to parse input tree but in fact looking at that file shows nothing useful: PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_157, UP_20K, DEEP, NF1, HIZCRX1, DISPUPD) Instead we need to look at the preprocessed file, which shows: 163 ((1U << 30) | (1 << 10)) ((0xb << 10) | PAD_CFG1_IOSSTATE_HIZCRX1) Here it is clear that PAD_CFG1_IOSSTATE_HIZCRX1 is not defined and so is not being resolved by the preprocessor. This commit adds an additional useful message: Check arch/x86/dts/.chromebook_coral.dtb.dts.tmp for errors Note that if the error is reported in an included file, such as u-boot.dtsi then the output is the following: Error: arch/x86/dts/u-boot.dtsi:137.14-15 syntax error FATAL ERROR: Unable to parse input tree But again, if the error is due to a preprocessor failure, like this: filename = CONFIG_IFW_INPUT_FILE; then you can't tell what the problem is by looking at the source. All you see is the original code: intel-ifwi { filename = CONFIG_IFW_INPUT_FILE; ... }; }; intel-fsp-m { filename = CONFIG_FSP_FILE_M; }; Everything looks fine. But looking at the output of the preprocessor: intel-ifwi { filename = CONFIG_IFW_INPUT_FILE; ... }; intel-fsp-m { filename = "fsp_m.bin"; }; This shows that the filename (normally "fitimage.bin") has not been inserted the preprocess, leading to the realisation that the value should be CONFIG_IFWI_INPUT_FILE. If the above does not make sense, I encourage people to try introducing errors in the device tree preprocessed values. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> |
||
---|---|---|
.. | ||
basic | ||
coccinelle | ||
dtc | ||
kconfig | ||
.gitignore | ||
bin2c.c | ||
binutils-version.sh | ||
build-whitelist.sh | ||
build_OID_registry | ||
check-config.sh | ||
checkpatch.pl | ||
checkstack.pl | ||
cleanpatch | ||
coccicheck | ||
config_whitelist.txt | ||
const_structs.checkpatch | ||
coreboot.sed | ||
decodecode | ||
dtc-version.sh | ||
gcc-stack-usage.sh | ||
gcc-version.sh | ||
get_default_envs.sh | ||
get_maintainer.pl | ||
Kbuild.include | ||
kernel-doc | ||
ld-version.sh | ||
Lindent | ||
mailmapper | ||
Makefile | ||
Makefile.autoconf | ||
Makefile.build | ||
Makefile.clean | ||
Makefile.extrawarn | ||
Makefile.host | ||
Makefile.lib | ||
Makefile.spl | ||
Makefile.uncmd_spl | ||
mkmakefile | ||
objdiff | ||
setlocalversion | ||
show-gnu-make | ||
spelling.txt |