-
Notifications
You must be signed in to change notification settings - Fork 50
Description
Hi, first of all sorry for any terminology mix-ups. I'm still very much a beginner in all this DT jazz. I'm also unable to determine what's work in progress and what's considered done but am only using main branch.
I'm trying to extract pl.dtsi for an AMD MPSoC design and have gone through the SDT workflow, additionally providing pl-overlay.dtsi using -include_dts
flag. This made #include "pl-overlay.dtsi"
appear at the end of the system-top.dts file and pl-overlay.dtsi copied over.
I tried using both xlnx_overlay_dt and xlnx_overlay_pl_dt for these and found that the latter didn't pull in any of the domain specific overlays. I guess this is either a bug or I'm unable to use the assist properly.
Example:
Exported flags export LOPPER_DTC_FLAGS="-b 0 -@"
pl-overlay.dtsi contains:
&foo_v1 {
compatible = "generic-uio";
status = "okay";
};
xlnx_overlay_dt invoked using
lopper.py -O ./out_old -f --enhanced system-top.dts system-nopl.dts -- xlnx_overlay_dt cortexa53-zynqmp full
outputs pl.dtsi containing:
&amba{
foo_v1: foo_v1_0@a0000000 {
compatible = "generic-uio";
interrupts = <0x0 0x5a 0x4>;
xlnx,s-axi-data-width = <0x20>;
xlnx,rable = <0x0>;
interrupt-parent = <&gic>;
xlnx,ip-name = "foo_v1_0";
reg = <0x0 0xa0000000 0x0 0x10000>;
clocks = <&zynqmp_clk 0x47>;
xlnx,edk-iptype = "PERIPHERAL";
status = "okay";
clock-names = "s_axi_aclk";
xlnx,s-axi-addr-width = <0x4>;
interrupt-names = "axi_interrupt";
xlnx,name = "foo_v1";
};
};
while xlnx_overlay_pl_dt invoked using
lopper.py -O ./out_domain -f --enhanced system-top.dts system-nopl.dts -- xlnx_overlay_pl_dt cortexa53 full pl.dtsi
outputs pl.dtsi containing (note unchanged compatible field):
&amba {
foo_v1: foo_v1_0@a0000000 {
compatible = "xlnx,foo-v1-0-1.0";
interrupts = < 0 90 4 >;
xlnx,s-axi-data-width = <32>;
xlnx,rable = <0>;
interrupt-parent = <&gic>;
xlnx,ip-name = "foo_v1_0";
reg = <0x0 0xa0000000 0x0 0x10000>;
clocks = <&zynqmp_clk 71>;
xlnx,edk-iptype = "PERIPHERAL";
status = "okay";
clock-names = "s_axi_aclk";
xlnx,s-axi-addr-width = <4>;
interrupt-names = "axi_interrupt";
xlnx,name = "foo_v1";
};
};