"" /> "" />
When using Device Tree Overly (DTO), there are 2 ways to point where the the contents of the overlay will go into the live tree. one is using "target-path" and the other is "target". For example, "fragement@0" can be inserted to the node "fpga_full: fpga-full" by using 2 methods as below: fragment@0 { target-path = "/fpga-full"; or fragment@0 { target = <&fpga_full>; Now we only support "target-path" method. The other method should be supported too.
Step1: edit an example pl.dtsi file and generate dtbo file. As below is the file contents example: // pl.dtsi overlay dts file. /dts-v1/; /plugin/; / { fragment@0 { target = "<&fpga_full>"; #address-cells = <1>; #size-cells = <1>; __overlay__ { #address-cells = <2>; #size-cells = <2>; firmware-name = "system.bit.bin"; } ; }; }; We can create Device Tree Overlay Blob (.dtbo) file from the pl.dtsi file as below: dtc -O dtb -o pl.dtbo -b 0 -@ pl.dtsi Step2 running command as below on target board: 1) Set flags for Full Bitstream. # echo 0 > /sys/class/fpga_manager/fpga0/flags 2) Copy the Full Bitstream (.bin) and pl.dtbo files into firmware folder # mkdir -p /lib/firmware # cp xxx/system.bit.bin /lib/firmware/system.bit.bin # cp xxx/pl.dtbo /lib/firmware/pl.dtbo 3) Apply overlay DTB(pl.dtbo) to add live device nodes # mkdir /sys/kernel/config/device-tree/overlays/system # cd /lib/firmware/ # echo pl.dtbo > /sys/kernel/config/device-tree/overlays/system/path There will be error log as below: OF: resolver: no symbols in root of device tree. OF: resolver: overlay phandle fixup failed: -22 create_overlay: Failed to create overlay (err=-22)