diff --git a/recipes-bsp/device-tree/device-tree.bbappend b/recipes-bsp/device-tree/device-tree.bbappend
index c7e30fcb4e443679d854ac106b32ce196b64e220..e4c076d287b11829a6bb367b6789d28c258193bd 100644
--- a/recipes-bsp/device-tree/device-tree.bbappend
+++ b/recipes-bsp/device-tree/device-tree.bbappend
@@ -1,11 +1,23 @@
 FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
 
 SRC_URI_append = " \
-    file://pl-conf.dtsi \
+    file://pl-over.dtsi \
 "
 
-# We need what's in pl-conf.
-# We are not using DTBO for now (cannot build)
 do_configure_append() {
-    echo '/include/ "pl-conf.dtsi"'   >> ${DT_FILES_PATH}/system-top.dts
+
+    # Add the overlay source to DTS sources
+    cp ${WORKDIR}/pl-over.dtsi ${DT_FILES_PATH}/
+
+}
+
+do_install_append() {
+
+    # Install the resulting dtbo
+    mkdir -p ${D}/opt/fofb/map
+    install -Dm 0664 ${B}/pl-over.dtbo ${D}/opt/fofb/map/device-tree-overlay.dtbo
+
 }
+
+
+FILES_${PN} += "/opt/fofb/map/device-tree-overlay.dtbo"
diff --git a/recipes-bsp/device-tree/files/damc-fmc2zup/pl-conf.dtsi b/recipes-bsp/device-tree/files/damc-fmc2zup/pl-conf.dtsi
deleted file mode 100644
index 6376f2a4e1db9ef0c559181a181f155e63548ae7..0000000000000000000000000000000000000000
--- a/recipes-bsp/device-tree/files/damc-fmc2zup/pl-conf.dtsi
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-/ {
-	amba_pl: amba_pl@0 {
-		#address-cells = <2>;
-		#size-cells = <2>;
-		compatible = "simple-bus";
-		ranges ;
-		ddr_ddr4_0: ddr4@540000000 {
-			compatible = "xlnx,ddr4-2.2", "generic-uio";
-			reg = <0x00000005 0x40000000 0x0 0x40000000>;
-            interrupt-parent = <&gic>;
-            interrupts = <0 89 1>;
-            linux,uio-name = "ddrpl";
-		};
-		ins_bsp_fmc2zup_system_p_m_axi_bsp: ins_bsp_fmc2zup_system_p_m_axi_bsp@a0000000 {
-			reg = <0x0 0xa0000000 0x0 0x200000>;
-		};
-		ins_bsp_fmc2zup_system_p_m_axi_app: ins_bsp_fmc2zup_system_p_m_axi_app@a0800000 {
-			reg = <0x0 0xa0800000 0x0 0x800000>;
-            compatible = "generic-uio";
-            linux,uio-name = "axiapp";
-		};
-	};
-
-    debug_bridge_0@0xA0820000 {
-        #address-cells = <1>;
-        #size-cells = <1>;
-        compatible = "xlnx,xvc";
-        reg = < 0xA0820000 0x20 >;
-    };
-
-    pl_int@1 {
-        compatible = "generic-uio";
-        interrupt-names = "pl2ps_irq";
-        interrupt-parent = <&gic>;
-        interrupts = <0 90 1>;
-    };
-};
-
diff --git a/recipes-bsp/device-tree/files/damc-fmc2zup/pl-over.dtsi b/recipes-bsp/device-tree/files/damc-fmc2zup/pl-over.dtsi
new file mode 100644
index 0000000000000000000000000000000000000000..4a67ceef83ccb372dcee141e70d084bd3c358c56
--- /dev/null
+++ b/recipes-bsp/device-tree/files/damc-fmc2zup/pl-over.dtsi
@@ -0,0 +1,67 @@
+
+/dts-v1/;
+/plugin/;
+
+/ {
+	fragment@0 {
+        target = <&amba>;
+
+        overlay0:__overlay__ {
+
+            #address-cells = <2>;
+            #size-cells = <2>;
+
+            ddr_ddr4_0: ddr4@540000000 {
+                compatible = "xlnx,ddr4-2.2", "generic-uio";
+                reg = <0x00000005 0x40000000 0x0 0x40000000>;
+                interrupt-parent = <&gic>;
+                interrupts = <0 89 1>;
+                linux,uio-name = "ddrpl";
+            };
+
+            ins_bsp_fmc2zup_system_p_m_axi_bsp: ins_bsp_fmc2zup_system_p_m_axi_bsp@a0000000 {
+                reg = <0x0 0xa0000000 0x0 0x200000>;
+            };
+
+            ins_bsp_fmc2zup_system_p_m_axi_app: ins_bsp_fmc2zup_system_p_m_axi_app@a0800000 {
+                reg = <0x0 0xa0800000 0x0 0x800000>;
+                compatible = "generic-uio";
+                linux,uio-name = "axiapp";
+            };
+
+            iic_mmc: i2c@a0100000 {
+                #address-cells = <1>;
+                #size-cells = <0>;
+                clock-names = "s_axi_aclk";
+                clocks = <&zynqmp_clk 72>;
+                compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a";
+                interrupt-names = "iic2intc_irpt";
+                interrupt-parent = <&gic>;
+                interrupts = <0 104 4>;
+                reg = <0x0 0xa0100000 0x0 0x1000>;
+
+                mmcmailbox@2a {
+                    compatible = "desy,mmcmailbox";
+                    reg = <0x2a>;
+                };
+
+            };
+
+        };
+    };
+
+	fragment@1 {
+		target-path = "/";
+		overlay1: __overlay__ {
+            pl_int@1 {
+                compatible = "generic-uio";
+                interrupt-names = "pl2ps_irq";
+                interrupt-parent = <&gic>;
+                interrupts = <0 90 1>;
+            };
+		};
+	};
+
+
+};
+