Skip to content

xlnx_overlay_pl_dt ignoring "domain" overlay #544

Description

@traavnik

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";
	};
};

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions