因为无论社区版还是官方版的3566里对应o开头的某3566机型的dts都没有打开npu选项,不知道出于什么目的。反编译dtb后看到dts内容如下:
npu@fde40000 {
compatible = "rockchip,rk3568-rknpu\0rockchip,rknpu";
...
status = "disabled"; // ← 被禁用
};
bus-npu {
...
status = "disabled"; // ← 被禁用
};
iommu@fde4b000 {
...
status = "disabled"; // ← 被禁用
};
将上述三个节点的 status 改为 "okay",再编译回dtb代替原来的,就可以正常加载了
反编译dts的命令:
sudo apt update && sudo apt install device-tree-compiler
dtc -I dtb -O dts -o rk3566.dts /boot/dtb/rockchip/rk3566-xxxxx.dtb
编译回dtb并代替的命令
dtc -I dts -O dtb -o rk3566-modified.dtb rk3566.dts
sudo cp rk3566-modified.dtb /boot/dtb/rockchip/rk3566-xxxxx.dtb