cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Explorer
Explorer
409 Views
Registered: ‎10-09-2017

What's error in my system-user.dtsi?

My old system-user.dtsi (at  <plnx-proj-root>/project-spec/meta-user/recipes-bsp/device-tree/
files/system-user.dtsi
 ) is follow:

/include/ "system-conf.dtsi"
/ {
};

petalinux-build 

it works well.

Then I follows the ug1186 (page 39/75) change it as:

 

/include/ "system-conf.dtsi"
/ {
};

/ {
reserved-memory {
	#address-cells = <2>;
	#size-cells = <2>;
	ranges;
	/* Reserved DDR memory for RPU firmware and shared memory between APU and RPU */
	rproc_0_reserved: rproc@1ed00000 {
		no-map;
		reg = <0x0 0x1ed00000 0x0 0x1000000>;
		};
  	};
amba {
	/* UIO device node for vring device memory */
	vring: vring@0 {
		compatible = "vring_uio";
		reg = <0x0 0x1ed40000 0x0 0x40000>;
		};
	/* UIO device node for shared memory device memory */
	shm0: shm@0 {
		compatible = "shm_uio";
		reg = <0x0 0x1ed80000 0x0 0x80000>;
		};
	/* UIO device node for IPI device */
	ipi0: ipi@0 {
		compatible = "ipi_uio";
		reg = <0x0 0xff340000 0x0 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 29 4>;
		};
	};
};

I hange the  0x3ed00000  to  0x1ed00000  as my zynq 7010's ddr is 512MB.

Then I petalinux-build.

error happen, it is:

ERROR: device-tree-xilinx+gitAUTOINC+f38738e568-r0 do_compile: Function failed: do_compile (log file is located at /home/liwenz/alinx/cnc72/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/device-tree/xilinx+gitAUTOINC+f38738e568-r0/temp/log.do_compile.26759)
ERROR: Logfile of failure stored in: /home/liwenz/alinx/cnc72/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/device-tree/xilinx+gitAUTOINC+f38738e568-r0/temp/log.do_compile.26759
Log data follows:
| DEBUG: Executing shell function do_compile
| system-top.dtb: ERROR (phandle_references): Reference to non-existent node or label "gic"
| 
| ERROR: Input tree has errors, aborting (use -f to force output)
| WARNING: /home/liwenz/alinx/cnc72/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/device-tree/xilinx+gitAUTOINC+f38738e568-r0/temp/run.do_compile.26759:1 exit 2 from 'dtc -I dts -O dtb -R 8 -p 0x1000 -b 0 -i /home/liwenz/alinx/cnc72/build/../components/plnx_workspace/device-tree/device-tree -i /home/liwenz/alinx/cnc72/build/tmp/work-shared/plnx-zynq7/kernel-source/include -i /home/liwenz/alinx/cnc72/build/tmp/work-shared/plnx-zynq7/kernel-source/include -i /home/liwenz/alinx/cnc72/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/device-tree/xilinx+gitAUTOINC+f38738e568-r0 -o ${DTS_NAME}.dtb `basename ${DTS_FILE}`.pp'
| ERROR: Function failed: do_compile (log file is located at /home/liwenz/alinx/cnc72/build/tmp/work/plnx_zynq7-xilinx-linux-gnueabi/device-tree/xilinx+gitAUTOINC+f38738e568-r0/temp/log.do_compile.26759)
ERROR: Task (/home/liwenz/petalinux/components/yocto/source/arm/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_cNOTE: Tasks Summary: Attempted 2383 tasks of which 2356 didn't need to be rerun and 1 failed.

Summary: 1 task failed:

it seem that gic is not defined.

how to fix it?

 

0 Kudos
5 Replies
Highlighted
Explorer
Explorer
377 Views
Registered: ‎10-09-2017

I remove the gic part, then it is ok
0 Kudos
Highlighted
Moderator
Moderator
317 Views
Registered: ‎09-12-2007

You are using the &gic label in the system-user.dtsi that doesnt exist in your devicetree. By removing this, it will compile. However, your interrupt will not be registered.

What is the name of your interrupt controller?

 

0 Kudos
Highlighted
Explorer
Explorer
294 Views
Registered: ‎10-09-2017

I don't know the name. I only follow the ug1186.
0 Kudos
Highlighted
Moderator
Moderator
274 Views
Registered: ‎09-12-2007

You can find the interrupt controller name (if it exists) lower down in the tree. 

 

0 Kudos
Highlighted
Moderator
Moderator
246 Views
Registered: ‎02-07-2018

HI @liwenz 

 

Please add the device tree changes like mentioned below:

 

/include/ "system-conf.dtsi"

/ {
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
/* Reserved DDR memory for RPU firmware and shared memory between APU and RPU */
rproc_0_reserved: rproc@1ed00000 {
no-map;
reg = <0x0 0x1ed00000 0x0 0x1000000>;
};
};
amba {
/* UIO device node for vring device memory */
vring: vring@0 {
compatible = "vring_uio";
reg = <0x0 0x1ed40000 0x0 0x40000>;
};
/* UIO device node for shared memory device memory */
shm0: shm@0 {
compatible = "shm_uio";
reg = <0x0 0x1ed80000 0x0 0x80000>;
};
/* UIO device node for IPI device */
ipi0: ipi@0 {
compatible = "ipi_uio";
reg = <0x0 0xff340000 0x0 0x1000>;
interrupt-parent = <&gic>;
interrupts = <0 29 4>;
};
};
};

 

You should not remove the &gic node  from device tree. if you want  communicate the core0 & core1 on zynq platform using open-amp framework.

 

Thanks & Regards

Aravind

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------

 

Tags (1)
0 Kudos