1、报错时log
Error: arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi:49.17-18 syntax error
FATAL ERROR: Unable to parse input tree
2、查看报错位置为interrupts 这个属性有问题,但是经过排查发现并没有问题
fiq_debugger: fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 423 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
3、注释掉报错行,发现很多节点都会报错
Error: arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi:96.1-19 Label or path display_subsystem not found
Error: arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi:101.1-5 Label or path dfi not found
Error: arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi:105.1-5 Label or path dmc not found
Error: arch/arm64/boot/dts/rockchip/rk3588-linux.dtsi:111.1-5 Label or path rng not found
4、到此怀疑是include dtsi的时候,哪一步出了问题。但是include的路线是完整的,对比没问题的dts,怀疑是我include的文件顺序有问题。
把
#include "rk3588-linux.dtsi"
#include "rk3588-evb1-lp4.dtsi"
#include "rk3588-evb1-imx415.dtsi"
改成
#include "rk3588-evb1-lp4.dtsi"
#include "rk3588-evb1-imx415.dtsi"
#include "rk3588-linux.dtsi"
报错消失,所以确实是include顺序的问题。