From 1dc01c7234a7696d7c0e071b52e63f9d962aa10c Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Fri, 17 Mar 2023 08:59:45 -0700 Subject: open-amp: device-tree: Update Versal NET DTs In addition update device tree bbappend to mimic how QEMU DTs use overlays and only update to EXTRA_OVERLAYS if the proper conditions are met Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../recipes-bsp/device-tree/device-tree.bbappend | 33 +++++++++++----------- .../device-tree/files/versal-net-openamp.dtsi | 8 +++--- 2 files changed, 20 insertions(+), 21 deletions(-) (limited to 'meta-xilinx-core/dynamic-layers') diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/device-tree.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/device-tree.bbappend index b7c7141e..4fd8b971 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/device-tree.bbappend +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/device-tree.bbappend @@ -10,20 +10,19 @@ SRC_URI = " \ # openamp.dtsi is in the WORKDIR DT_INCLUDE:append = " ${WORKDIR}" -do_configure:append() { - if ${@bb.utils.contains('DISTRO_FEATURES', 'openamp', ' true', 'false', d)} && [ "${ENABLE_OPENAMP_DTSI}" = "1" ]; then - if [ -e "${DT_FILES_PATH}/system-top.dts" ]; then - if [ -e "${WORKDIR}/${MACHINE}-openamp.dtsi" ]; then - sed -i '/${MACHINE}-openamp\.dtsi/d' ${DT_FILES_PATH}/system-top.dts - echo '/include/ "${MACHINE}-openamp.dtsi"' >> ${DT_FILES_PATH}/system-top.dts - elif [ -e "${WORKDIR}/${SOC_FAMILY}-openamp.dtsi" ]; then - sed -i '/${SOC_FAMILY}-openamp\.dtsi/d' ${DT_FILES_PATH}/system-top.dts - echo '/include/ "${SOC_FAMILY}-openamp.dtsi"' >> ${DT_FILES_PATH}/system-top.dts - else - bbfatal "${MACHINE}-openamp.dtsi or ${SOC_FAMILY}-openamp.dtsi file is not available. Cannot automatically add to system-top.dts." - fi - else - bbfatal "system-top.dts not found in this configuration, cannot automatically add OpenAmp device tree nodes (openamp.dtsi)" - fi - fi -} +do_configure[vardeps] += "ENABLE_OPENAMP_DTSI OPENAMP_EXTRA_OVERLAYS" + +OPENAMP_EXTRA_OVERLAYS:zynq = "zynq-openamp.dtsi" +OPENAMP_EXTRA_OVERLAYS:zynqmp = "zynqmp-openamp.dtsi" +OPENAMP_EXTRA_OVERLAYS:versal = "versal-openamp.dtsi" +OPENAMP_EXTRA_OVERLAYS:versal-net = "versal-net-openamp.dtsi" + +def set_openamp_extra_overlays(d): + distro_features = d.getVar('DISTRO_FEATURES', True) + enable_openamp_dtsi = d.getVar('ENABLE_OPENAMP_DTSI') + if 'openamp' in distro_features and enable_openamp_dtsi == '1': + return d.getVar('OPENAMP_EXTRA_OVERLAYS', True) + else: + return '' + +EXTRA_OVERLAYS:append = "${@set_openamp_extra_overlays(d)}" diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi index 773c35a3..694a2fd0 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi @@ -35,7 +35,7 @@ reg = <0x0 0xeba00000 0x0 0x10000>; status = "okay"; compatible = "mmio-sram"; - power-domain = <&versal_firmware 0x183180cb>; + power-domain = <&versal_net_firmware 0x183180cb>; }; tcm_0b: tcm_0b@eba10000 { @@ -43,7 +43,7 @@ reg = <0x0 0xeba10000 0x0 0x8000>; status = "okay"; compatible = "mmio-sram"; - power-domain = <&versal_firmware 0x183180cc>; + power-domain = <&versal_net_firmware 0x183180cc>; }; tcm_0c: tcm_0b@eba20000 { @@ -51,7 +51,7 @@ reg = <0x0 0xeba20000 0x0 0x8000>; status = "okay"; compatible = "mmio-sram"; - power-domain = <&versal_firmware 0x183180cd>; + power-domain = <&versal_net_firmware 0x183180cd>; }; r52ss { @@ -68,7 +68,7 @@ ranges; sram = <&tcm_0a>, <&tcm_0b>, <&tcm_0c>; memory-region = <&rproc_0_reserved>, <&rpu0vdev0buffer>, <&rpu0vdev0vring0>, <&rpu0vdev0vring1>; - power-domain = <&versal_firmware 0x181100BF>; + power-domain = <&versal_net_firmware 0x181100BF>; mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>; mbox-names = "tx", "rx"; }; -- cgit v1.2.3-54-g00ecf