summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@amd.com>2023-05-18 13:18:29 -0600
committerMark Hatle <mark.hatle@amd.com>2023-05-18 14:59:03 -0600
commit96363a1fada8f5dca874917e47899e7f6dd26b43 (patch)
tree60a031689d7c6bb11640136a00e2e44eedfc3868
parentfe4b15d97e0b5ce73cd3186ac3e380df07c9d1ca (diff)
parentd4732aa636e6764c64030083a20975283c2352d5 (diff)
downloadmeta-xilinx-96363a1fada8f5dca874917e47899e7f6dd26b43.tar.gz
Merge remote-tracking branch 'origin/rel-v2023.1'
Resolved conflicts Preserved 2022* versions Signed-off-by: Mark Hatle <mark.hatle@amd.com>
-rw-r--r--.gitmodules4
-rw-r--r--docs/README.fpgamanager.custom.md34
l---------gen-machine-conf1
-rw-r--r--meta-microblaze/README.md2
-rw-r--r--meta-xilinx-bsp/README.md10
-rw-r--r--meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf42
-rw-r--r--meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf42
-rw-r--r--meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf46
-rw-r--r--meta-xilinx-bsp/conf/machine/vek280-versal.conf35
-rw-r--r--meta-xilinx-bsp/conf/machine/vhk158-versal.conf52
-rw-r--r--meta-xilinx-bsp/conf/machine/vpk180-versal.conf48
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf50
-rw-r--r--meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf50
-rw-r--r--meta-xilinx-contrib/README.md2
-rw-r--r--meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch305
-rw-r--r--meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch607
-rw-r--r--meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch54
-rw-r--r--meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0004-minized-wifi-bluetooth.cfg33
-rw-r--r--meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2023.1.bbappend12
-rw-r--r--meta-xilinx-core/classes/gen-machine-conf.bbclass6
-rw-r--r--meta-xilinx-core/conf/layer.conf10
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/open-amp-device-tree.bb3
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb15
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb16
-rw-r--r--meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend6
m---------meta-xilinx-core/gen-machine-conf0
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.2.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb47
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc11
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc4
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.0.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb33
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb8
-rw-r--r--meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.1.bb31
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb72
-rw-r--r--meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb23
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb21
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic-top.h8
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic.cfg83
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc17
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb4
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend5
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb6
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc3
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb9
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb26
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb24
-rw-r--r--meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb4
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.1.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-microblaze.inc1
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.1.bb11
-rw-r--r--meta-xilinx-core/recipes-kernel/lopper/xilinx-lops.bb4
-rw-r--r--meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-machine-name.dts44
-rw-r--r--meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts31
-rw-r--r--meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts14
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.1.bb39
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb51
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb44
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb38
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules4
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb41
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb44
-rw-r--r--meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb53
-rwxr-xr-xmeta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb42
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt.inc2
-rw-r--r--meta-xilinx-standalone-experimental/README.md43
-rw-r--r--meta-xilinx-standalone-experimental/classes/esw.bbclass13
-rw-r--r--meta-xilinx-standalone-experimental/classes/esw_examples.bbclass1
-rw-r--r--meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc8
-rw-r--r--meta-xilinx-standalone-experimental/conf/layer.conf6
-rw-r--r--meta-xilinx-standalone-experimental/conf/multiconfig/pmumc.conf8
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb9
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb13
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb17
-rw-r--r--meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend1
-rw-r--r--meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend7
-rw-r--r--meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend10
-rw-r--r--meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend7
-rw-r--r--meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup171
-rwxr-xr-xmeta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh950
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb8
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb4
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb18
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_git.bb1
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_git.bb1
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb9
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_git.bb1
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb13
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_git.bb1
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_git.bb1
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb2
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb4
-rw-r--r--meta-xilinx-standalone/README.md2
-rw-r--r--meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass3
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch101
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch104
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb11
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb2
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb29
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb15
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb16
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb2
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb34
-rw-r--r--meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb20
-rw-r--r--meta-xilinx-vendor/README.md2
266 files changed, 3670 insertions, 775 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..ae8486a4
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,4 @@
1[submodule "gen-machine-conf"]
2 path = meta-xilinx-core/gen-machine-conf
3 url = https://github.com/Xilinx/gen-machine-conf.git
4 branch = xlnx_rel_v2023.1
diff --git a/docs/README.fpgamanager.custom.md b/docs/README.fpgamanager.custom.md
index 53f06703..ada3985e 100644
--- a/docs/README.fpgamanager.custom.md
+++ b/docs/README.fpgamanager.custom.md
@@ -179,8 +179,8 @@ IMAGE_INSTALL:append = " \
179 179
180* ZynqMP 180* ZynqMP
181``` 181```
182yocto-zynqmp-generic-20222:~$ sudo su 182yocto-zynqmp-generic-20231:~$ sudo su
183yocto-zynqmp-generic-20222:/home/petalinux# cat /proc/interrupts 183yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts
184 CPU0 CPU1 CPU2 CPU3 184 CPU0 CPU1 CPU2 CPU3
185 11: 13309 13021 13673 14170 GICv2 30 Level arch_timer 185 11: 13309 13021 13673 14170 GICv2 30 Level arch_timer
186 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi 186 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi
@@ -230,7 +230,7 @@ IPI4: 0 0 0 0 Timer broadcast interrupt
230IPI5: 0 0 0 0 IRQ work interrupts 230IPI5: 0 0 0 0 IRQ work interrupts
231IPI6: 0 0 0 0 CPU wake-up interrupts 231IPI6: 0 0 0 0 CPU wake-up interrupts
232Err: 0 232Err: 0
233yocto-zynqmp-generic-20222:/home/petalinux# tree /lib/firmware/ 233yocto-zynqmp-generic-20231:/home/petalinux# tree /lib/firmware/
234/lib/firmware/ 234/lib/firmware/
235`-- xilinx 235`-- xilinx
236 `-- zcu111-pl-demo 236 `-- zcu111-pl-demo
@@ -238,7 +238,7 @@ yocto-zynqmp-generic-20222:/home/petalinux# tree /lib/firmware/
238 `-- zcu111-pl-demo.dtbo 238 `-- zcu111-pl-demo.dtbo
239 239
2402 directories, 2 files 2402 directories, 2 files
241yocto-zynqmp-generic-20222:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.bit -o /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.dtbo 241yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.bit -o /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.dtbo
242[ 91.039773] fpga_manager fpga0: writing zcu111-pl-demo.bit to Xilinx ZynqMP FPGA Manager 242[ 91.039773] fpga_manager fpga0: writing zcu111-pl-demo.bit to Xilinx ZynqMP FPGA Manager
243[ 91.528214] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name 243[ 91.528214] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
244[ 91.538354] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid 244[ 91.538354] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid
@@ -259,13 +259,13 @@ yocto-zynqmp-generic-20222:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu
259[ 91.906539] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input1 259[ 91.906539] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input1
260Time taken to load BIN is 901.000000 Milli Seconds 260Time taken to load BIN is 901.000000 Milli Seconds
261BIN FILE loaded through FPGA manager successfully 261BIN FILE loaded through FPGA manager successfully
262yocto-zynqmp-generic-20222:/home/petalinux# 262yocto-zynqmp-generic-20231:/home/petalinux#
263``` 263```
264* Versal (DFx Static) 264* Versal (DFx Static)
265``` 265```
266yocto-vck190-dfx-2022:~$ sudo su 266yocto-vck190-dfx-2023:~$ sudo su
267root@yocto-vck190-dfx-2022:~# 267root@yocto-vck190-dfx-2023:~#
268root@yocto-vck190-dfx-2022:~# fpgautil -o /lib/firmware/xilinx/vck190-dfx-static/vck190-dfx-static.dtbo 268root@yocto-vck190-dfx-2023:~# fpgautil -o /lib/firmware/xilinx/vck190-dfx-static/vck190-dfx-static.dtbo
269[ 257.555571] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/external-fpga-config 269[ 257.555571] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/external-fpga-config
270[ 257.565879] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/pid 270[ 257.565879] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/pid
271[ 257.574670] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/uid 271[ 257.574670] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/uid
@@ -279,11 +279,11 @@ root@yocto-vck190-dfx-2022:~# fpgautil -o /lib/firmware/xilinx/vck190-dfx-static
279[ 257.663234] of-fpga-region fpga:fpga-PR0: FPGA Region probed 279[ 257.663234] of-fpga-region fpga:fpga-PR0: FPGA Region probed
280[ 257.669135] of-fpga-region fpga:fpga-PR1: FPGA Region probed 280[ 257.669135] of-fpga-region fpga:fpga-PR1: FPGA Region probed
281[ 257.675022] of-fpga-region fpga:fpga-PR2: FPGA Region probed 281[ 257.675022] of-fpga-region fpga:fpga-PR2: FPGA Region probed
282root@yocto-vck190-dfx-2022:~# 282root@yocto-vck190-dfx-2023:~#
283``` 283```
284* Versal (DFx RP) 284* Versal (DFx RP)
285``` 285```
286root@yocto-vck190-dfx-2022:~# fpgautil -b /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.pdi -o /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.dtbo -f Partial -n PR0 286root@yocto-vck190-dfx-2023:~# fpgautil -b /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.pdi -o /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.dtbo -f Partial -n PR0
287[ 273.511455] fpga_manager fpga0: writing vck190-dfx-rp1rm1-dipsw.pdi to Xilinx Versal FPGA Manager 287[ 273.511455] fpga_manager fpga0: writing vck190-dfx-rp1rm1-dipsw.pdi to Xilinx Versal FPGA Manager
288[284052.461]Loading PDI from DDR 288[284052.461]Loading PDI from DDR
289[284052.566]Monolithic/Master Device 289[284052.566]Monolithic/Master Device
@@ -314,7 +314,7 @@ root@yocto-vck190-dfx-2022:~# fpgautil -b /lib/firmware/xilinx/vck190-dfx-static
314[ 273.670490] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input0 314[ 273.670490] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input0
315Time taken to load BIN is 171.000000 Milli Seconds 315Time taken to load BIN is 171.000000 Milli Seconds
316BIN FILE loaded through FPGA manager successfully 316BIN FILE loaded through FPGA manager successfully
317root@yocto-vck190-dfx-2022:~# 317root@yocto-vck190-dfx-2023:~#
318``` 318```
319--- 319---
320 320
@@ -324,7 +324,7 @@ root@yocto-vck190-dfx-2022:~#
324* Verify PL GPIO DIP switches and Push buttons are registered. 324* Verify PL GPIO DIP switches and Push buttons are registered.
325* Move the DIP Switches ON/OFF and verify the interrupt counts. 325* Move the DIP Switches ON/OFF and verify the interrupt counts.
326``` 326```
327yocto-zynqmp-generic-20222:/home/petalinux# cat /proc/interrupts 327yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts
328 CPU0 CPU1 CPU2 CPU3 328 CPU0 CPU1 CPU2 CPU3
329 11: 23303 22971 24203 24990 GICv2 30 Level arch_timer 329 11: 23303 22971 24203 24990 GICv2 30 Level arch_timer
330 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi 330 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi
@@ -387,7 +387,7 @@ IPI4: 0 0 0 0 Timer broadcast interrupt
387IPI5: 0 0 0 0 IRQ work interrupts 387IPI5: 0 0 0 0 IRQ work interrupts
388IPI6: 0 0 0 0 CPU wake-up interrupts 388IPI6: 0 0 0 0 CPU wake-up interrupts
389Err: 0 389Err: 0
390yocto-zynqmp-generic-20222:/home/petalinux# cat /proc/interrupts 390yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts
391 CPU0 CPU1 CPU2 CPU3 391 CPU0 CPU1 CPU2 CPU3
392 11: 28169 27725 29250 30190 GICv2 30 Level arch_timer 392 11: 28169 27725 29250 30190 GICv2 30 Level arch_timer
393 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi 393 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi
@@ -450,22 +450,22 @@ IPI4: 0 0 0 0 Timer broadcast interrupt
450IPI5: 0 0 0 0 IRQ work interrupts 450IPI5: 0 0 0 0 IRQ work interrupts
451IPI6: 0 0 0 0 CPU wake-up interrupts 451IPI6: 0 0 0 0 CPU wake-up interrupts
452Err: 0 452Err: 0
453yocto-zynqmp-generic-20222:/home/petalinux# 453yocto-zynqmp-generic-20231:/home/petalinux#
454``` 454```
455--- 455---
456 456
457### Unloading PL bitstream or pdi and dt overlay 457### Unloading PL bitstream or pdi and dt overlay
458* Zynq or ZynqMP 458* Zynq or ZynqMP
459``` 459```
460yocto-zynqmp-generic-20222:/home/petalinux# fpgautil -R 460yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -R
461``` 461```
462* Versal (DFx RP) 462* Versal (DFx RP)
463``` 463```
464root@yocto-vck190-dfx-2022:~# fpgautil -R -n PR0 464root@yocto-vck190-dfx-2023:~# fpgautil -R -n PR0
465``` 465```
466* Versal (DFx Static) 466* Versal (DFx Static)
467``` 467```
468root@yocto-vck190-dfx-2022:~# fpgautil -R -n Full 468root@yocto-vck190-dfx-2023:~# fpgautil -R -n Full
469``` 469```
470--- 470---
471 471
diff --git a/gen-machine-conf b/gen-machine-conf
new file mode 120000
index 00000000..3fe520d6
--- /dev/null
+++ b/gen-machine-conf
@@ -0,0 +1 @@
meta-xilinx-core/gen-machine-conf \ No newline at end of file
diff --git a/meta-microblaze/README.md b/meta-microblaze/README.md
index d7bf9117..9da3f813 100644
--- a/meta-microblaze/README.md
+++ b/meta-microblaze/README.md
@@ -18,4 +18,4 @@ This layer depends on:
18 https://git.yoctoproject.org/meta-xilinx (official version) 18 https://git.yoctoproject.org/meta-xilinx (official version)
19 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) 19 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release)
20 layers: meta-xilinx-core 20 layers: meta-xilinx-core
21 branch: langdale or amd xilinx release version (e.g. rel-v2022.2) 21 branch: langdale or amd xilinx release version (e.g. rel-v2023.1)
diff --git a/meta-xilinx-bsp/README.md b/meta-xilinx-bsp/README.md
index 18056e0d..29177ad7 100644
--- a/meta-xilinx-bsp/README.md
+++ b/meta-xilinx-bsp/README.md
@@ -24,6 +24,9 @@ The following boards are supported by the meta-xilinx-bsp layer:
24| Devices | Evaluation Board | Machine Configuration file | Reference XSA | HW Board Device tree | QEMU tested | HW tested | 24| Devices | Evaluation Board | Machine Configuration file | Reference XSA | HW Board Device tree | QEMU tested | HW tested |
25|------------|-------------------------------------------------------------------------------|--------------------------------------------------------------|-----------------------|-------------------------------------|-------------|-----------| 25|------------|-------------------------------------------------------------------------------|--------------------------------------------------------------|-----------------------|-------------------------------------|-------------|-----------|
26| MicroBlaze | [KC705](https://www.xilinx.com/products/boards-and-kits/ek-k7-kc705-g.html) | [kc705-microblazeel](conf/machine/kc705-microblazeel.conf) | `kc705-microblazeel` | `kc705-full` | Yes | Yes | 26| MicroBlaze | [KC705](https://www.xilinx.com/products/boards-and-kits/ek-k7-kc705-g.html) | [kc705-microblazeel](conf/machine/kc705-microblazeel.conf) | `kc705-microblazeel` | `kc705-full` | Yes | Yes |
27| | [AC701](https://www.xilinx.com/products/boards-and-kits/ek-a7-ac701-g.html) | [ac701-microblazeel](conf/machine/ac701-microblazeel.conf) | `ac701-microblazeel` | `ac701-full` | Yes | Yes |
28| | [KCU105](https://www.xilinx.com/products/boards-and-kits/kcu105.html) | [kcu105-microblazeel](conf/machine/kcu105-microblazeel.conf) | `kcu105-microblazeel` | `kcu105` | Yes | Yes |
29| | [VCU118](https://www.xilinx.com/products/boards-and-kits/vcu118.html) | [vcu118-microblazeel](conf/machine/vcu118-microblazeel.conf) | `vcu118-microblazeel` | `vcu118-rev2.0` | Yes | Yes |
27| Zynq-7000 | [ZC702](https://www.xilinx.com/products/boards-and-kits/ek-z7-zc702-g.html) | [zc702-zynq7](conf/machine/zc702-zynq7.conf) | `zc702-zynq7` | `zc702` | Yes | Yes | 30| Zynq-7000 | [ZC702](https://www.xilinx.com/products/boards-and-kits/ek-z7-zc702-g.html) | [zc702-zynq7](conf/machine/zc702-zynq7.conf) | `zc702-zynq7` | `zc702` | Yes | Yes |
28| | [ZC706](https://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html) | [zc706-zynq7](conf/machine/zc706-zynq7.conf) | `zc706-zynq7` | `zc706` | Yes | Yes | 31| | [ZC706](https://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html) | [zc706-zynq7](conf/machine/zc706-zynq7.conf) | `zc706-zynq7` | `zc706` | Yes | Yes |
29| ZynqMP | [ZCU102](https://www.xilinx.com/products/boards-and-kits/ek-u1-zcu102-g.html) | [zcu102-zynqmp](conf/machine/zcu102-zynqmp.conf) | `zcu102-zynqmp` | `zcu102-rev1.0` | Yes | Yes | 32| ZynqMP | [ZCU102](https://www.xilinx.com/products/boards-and-kits/ek-u1-zcu102-g.html) | [zcu102-zynqmp](conf/machine/zcu102-zynqmp.conf) | `zcu102-zynqmp` | `zcu102-rev1.0` | Yes | Yes |
@@ -32,11 +35,16 @@ The following boards are supported by the meta-xilinx-bsp layer:
32| | [ZCU111](https://www.xilinx.com/products/boards-and-kits/zcu111.html) | [zcu111-zynqmp](conf/machine/zcu111-zynqmp.conf) | `zcu111-zynqmp` | `zcu111-reva` | Yes | Yes | 35| | [ZCU111](https://www.xilinx.com/products/boards-and-kits/zcu111.html) | [zcu111-zynqmp](conf/machine/zcu111-zynqmp.conf) | `zcu111-zynqmp` | `zcu111-reva` | Yes | Yes |
33| | [ZCU1275](https://www.xilinx.com/products/boards-and-kits/zcu1275.html) | [zcu1275-zynqmp](conf/machine/zcu1275-zynqmp.conf) | `zcu1275-zynqmp` | `zcu1275-revb` | Yes | Yes | 36| | [ZCU1275](https://www.xilinx.com/products/boards-and-kits/zcu1275.html) | [zcu1275-zynqmp](conf/machine/zcu1275-zynqmp.conf) | `zcu1275-zynqmp` | `zcu1275-revb` | Yes | Yes |
34| | [ZCU1285](https://www.xilinx.com/products/boards-and-kits/zcu1285.html) | [zcu1285-zynqmp](conf/machine/zcu1285-zynqmp.conf) | `zcu1285-zynqmp` | `zcu1285-reva` | Yes | Yes | 37| | [ZCU1285](https://www.xilinx.com/products/boards-and-kits/zcu1285.html) | [zcu1285-zynqmp](conf/machine/zcu1285-zynqmp.conf) | `zcu1285-zynqmp` | `zcu1285-reva` | Yes | Yes |
38| | [ZCU208](https://www.xilinx.com/products/boards-and-kits/zcu208.html) | [zcu208-zynqmp](conf/machine/zcu208-zynqmp.conf) | `zcu208-zynqmp` | `zcu208-reva` | Yes | Yes |
35| | [ZCU216](https://www.xilinx.com/products/boards-and-kits/zcu216.html) | [zcu216-zynqmp](conf/machine/zcu216-zynqmp.conf) | `zcu216-zynqmp` | `zcu216-reva` | Yes | Yes | 39| | [ZCU216](https://www.xilinx.com/products/boards-and-kits/zcu216.html) | [zcu216-zynqmp](conf/machine/zcu216-zynqmp.conf) | `zcu216-zynqmp` | `zcu216-reva` | Yes | Yes |
40| | [ZCU670](https://www.xilinx.com/products/boards-and-kits/zcu670.html) | [zcu670-zynqmp](conf/machine/zcu670-zynqmp.conf) | `zcu670-zynqmp` | `zcu670-revb` | Yes | Yes |
36| Versal | [VCK190](https://www.xilinx.com/products/boards-and-kits/vck190.html) | [vck190-versal](conf/machine/vck190-versal.conf) | `vck190-versal` | `versal-vck190-reva-x-ebm-01-reva` | Yes | Yes | 41| Versal | [VCK190](https://www.xilinx.com/products/boards-and-kits/vck190.html) | [vck190-versal](conf/machine/vck190-versal.conf) | `vck190-versal` | `versal-vck190-reva-x-ebm-01-reva` | Yes | Yes |
37| | [VMK180](https://www.xilinx.com/products/boards-and-kits/vmk180.html) | [vmk180-versal](conf/machine/vmk180-versal.conf) | `vmk180-versal` | `versal-vmk180-reva-x-ebm-01-reva` | Yes | Yes | 42| | [VMK180](https://www.xilinx.com/products/boards-and-kits/vmk180.html) | [vmk180-versal](conf/machine/vmk180-versal.conf) | `vmk180-versal` | `versal-vmk180-reva-x-ebm-01-reva` | Yes | Yes |
38| | [VCK5000](https://www.xilinx.com/products/boards-and-kits/vck5000.html) | [vck5000-versal](conf/machine/vck5000-versal.conf) | `vck5000-versal` | `versal-vck5000-reva-x-ebm-01-reva` | No | No | 43| | [VCK5000](https://www.xilinx.com/products/boards-and-kits/vck5000.html) | [vck5000-versal](conf/machine/vck5000-versal.conf) | `vck5000-versal` | `versal-vck5000-reva-x-ebm-01-reva` | No | No |
39| | [VPK120](https://www.xilinx.com/products/boards-and-kits/vpk120.html) | [vpk120-versal](conf/machine/vpk120-versal.conf) | `vpk120-versal` | `versal-vpk120-reva` | Yes | Yes | 44| | [VPK120](https://www.xilinx.com/products/boards-and-kits/vpk120.html) | [vpk120-versal](conf/machine/vpk120-versal.conf) | `vpk120-versal` | `versal-vpk120-reva` | Yes | Yes |
45| | [VPK180](https://www.xilinx.com/products/boards-and-kits/vpk180.html) | [vpk180-versal](conf/machine/vpk180-versal.conf) | `vpk180-versal` | `versal-vpk180-reva` | Yes | Yes |
46| | [VEK280](https://www.xilinx.com/products/boards-and-kits/vek280.html) | [vek280-versal](conf/machine/vek280-versal.conf) | `vek280-versal` | `versal-vek280-reva` | Yes | Yes |
47| | [VHK158](https://www.xilinx.com/products/boards-and-kits/vhk158.html) | [vhk158-versal](conf/machine/vhk158-versal.conf) | `vhk158-versal` | `versal-vhk158-reva` | Yes | Yes |
40 48
41> **Note:** Additional information on Xilinx architectures can be found at: 49> **Note:** Additional information on Xilinx architectures can be found at:
42 https://www.xilinx.com/products/silicon-devices.html 50 https://www.xilinx.com/products/silicon-devices.html
@@ -57,4 +65,4 @@ This layer depends on:
57 https://git.yoctoproject.org/meta-xilinx (official version) 65 https://git.yoctoproject.org/meta-xilinx (official version)
58 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) 66 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release)
59 layers: meta-xilinx-microblaze, meta-xilinx-core 67 layers: meta-xilinx-microblaze, meta-xilinx-core
60 branch: langdale or amd xilinx release version (e.g. rel-v2022.2) 68 branch: langdale or amd xilinx release version (e.g. rel-v2023.1)
diff --git a/meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf b/meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf
new file mode 100644
index 00000000..88a0d7bb
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/ac701-microblazeel.conf
@@ -0,0 +1,42 @@
1#@TYPE: Machine
2#@NAME: ac701-microblazeel
3#@DESCRIPTION: Machine configuration for the AC701 evaluation board.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'ac701-microblazeel:']['ac701-microblazeel' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in microblazeel-generic.conf will be set.
12
13# Yocto AC701 FS-Boot variables
14YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
15YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
16YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "MIG_7SERIES_0"
17YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0"
18XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
19
20# Yocto AC701 device-tree variables
21YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
22YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "MIG_7SERIES_0"
23DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
24DTC_FLAGS:pn-device-tree ?= ""
25XSCTH_PROC:pn-device-tree ?= "microblaze_0"
26YAML_DT_BOARD_FLAGS ?= "{BOARD ac701-full}"
27
28# Set DDR Base address for u-boot-xlnx-scr variables
29DDR_BASEADDR ?= "0x80000000"
30SKIP_APPEND_BASEADDR ?= "0"
31
32# Required generic machine inclusion
33require conf/machine/microblaze-generic.conf
34
35# This machine conf file uses ac701-microblazeel xsa as reference input.
36# User can override with ac701 custom xsa using HDF_BASE and HDF_PATH variables
37# from local.conf.
38HDF_MACHINE = "ac701-microblazeel"
39
40#### No additional settings should be after the Postamble
41#### Postamble
42PACKAGE_EXTRA_ARCHS:append = "${@['', 'ac701_microblazeel']['ac701-microblazeel' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf b/meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf
new file mode 100644
index 00000000..3edf190e
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/kcu105-microblazeel.conf
@@ -0,0 +1,42 @@
1#@TYPE: Machine
2#@NAME: kcu105-microblazeel
3#@DESCRIPTION: Machine configuration for the KCU105 evaluation board.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'kcu105-microblazeel:']['kcu105-microblazeel' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in microblazeel-generic.conf will be set.
12
13# Yocto KCU105 FS-Boot variables
14YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
15YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
16YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0"
17YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0"
18XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
19
20# Yocto KCU105 device-tree variables
21YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
22YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0"
23DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
24DTC_FLAGS:pn-device-tree ?= ""
25XSCTH_PROC:pn-device-tree ?= "microblaze_0"
26YAML_DT_BOARD_FLAGS ?= "{BOARD kcu105}"
27
28# Set DDR Base address for u-boot-xlnx-scr variables
29DDR_BASEADDR ?= "0x80000000"
30SKIP_APPEND_BASEADDR ?= "0"
31
32# Required generic machine inclusion
33require conf/machine/microblaze-generic.conf
34
35# This machine conf file uses kcu105-microblazeel xsa as reference input.
36# User can override with kcu105 custom xsa using HDF_BASE and HDF_PATH variables
37# from local.conf.
38HDF_MACHINE = "kcu105-microblazeel"
39
40#### No additional settings should be after the Postamble
41#### Postamble
42PACKAGE_EXTRA_ARCHS:append = "${@['', 'kcu105_microblazeel']['kcu105-microblazeel' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf b/meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf
new file mode 100644
index 00000000..ada52ceb
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vcu118-microblazeel.conf
@@ -0,0 +1,46 @@
1#@TYPE: Machine
2#@NAME: vcu118-microblazeel
3#@DESCRIPTION: Machine configuration for the VCU118 evaluation board.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'vcu118-microblazeel:']['vcu118-microblazeel' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in microblazeel-generic.conf will be set.
12
13# Yocto VCU118 FS-Boot variables
14YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0"
15YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0"
16YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "DDR4_0"
17YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0"
18XSCTH_PROC:pn-fs-boot ?= "microblaze_0"
19
20# Yocto VCU118 device-tree variables
21YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0"
22YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "DDR4_0"
23DT_PADDING_SIZE:pn-device-tree ?= "0x1000"
24DTC_FLAGS:pn-device-tree ?= ""
25XSCTH_PROC:pn-device-tree ?= "microblaze_0"
26YAML_DT_BOARD_FLAGS ?= "{BOARD vcu118-rev2.0}"
27
28# Yocto KERNEL Variables
29UBOOT_ENTRYPOINT ?= "0x80000000"
30UBOOT_LOADADDRESS ?= "0x80000000"
31
32# Set DDR Base address for u-boot-xlnx-scr variables
33DDR_BASEADDR ?= "0x80000000"
34SKIP_APPEND_BASEADDR ?= "0"
35
36# Required generic machine inclusion
37require conf/machine/microblaze-generic.conf
38
39# This machine conf file uses vcu118-microblazeel xsa as reference input.
40# User can override with vcu118 custom xsa using HDF_BASE and HDF_PATH variables
41# from local.conf.
42HDF_MACHINE = "vcu118-microblazeel"
43
44#### No additional settings should be after the Postamble
45#### Postamble
46PACKAGE_EXTRA_ARCHS:append = "${@['', 'vcu118_microblazeel']['vcu118-microblazeel' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/vek280-versal.conf b/meta-xilinx-bsp/conf/machine/vek280-versal.conf
new file mode 100644
index 00000000..b533b833
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vek280-versal.conf
@@ -0,0 +1,35 @@
1#@TYPE: Machine
2#@NAME: vek280-versal
3#@DESCRIPTION: Machine configuration for the VEK280 evaluation boards.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'vek280-versal:']['vek280-versal' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in versal-generic.conf will be set.
12
13# Yocto device-tree variables
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
15YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vek280-reva}"
16
17# Yocto PLM variables
18YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
19YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
20
21# vek280-versal Serial Console
22SERIAL_CONSOLES ?= "115200;ttyAMA0"
23YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
24
25# Required generic machine inclusion
26require conf/machine/versal-ai-edge-generic.conf
27
28# This machine conf file uses vek280-versal xsa as reference input.
29# User can override with vek280 custom xsa using HDF_BASE and HDF_PATH variables
30# from local.conf.
31HDF_MACHINE = "vek280-versal"
32
33#### No additional settings should be after the Postamble
34#### Postamble
35PACKAGE_EXTRA_ARCHS:append = "${@['', 'vek280_versal']['vek280-versal' != '${MACHINE}']}" \ No newline at end of file
diff --git a/meta-xilinx-bsp/conf/machine/vhk158-versal.conf b/meta-xilinx-bsp/conf/machine/vhk158-versal.conf
new file mode 100644
index 00000000..5c0406de
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vhk158-versal.conf
@@ -0,0 +1,52 @@
1#@TYPE: Machine
2#@NAME: vhk158-versal
3#@DESCRIPTION: Machine configuration for the VHK158 evaluation board.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'vhk158-versal:']['vhk158-versal' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in versal-generic.conf will be set.
12
13# Yocto device-tree variables
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
15YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vhk158-reva}"
16
17# Yocto arm-trusted-firmware(TF-A) variables
18ATF_CONSOLE_DEFAULT ?= "pl011"
19TFA_BL33_LOAD ?= "0x8000000"
20
21# Yocto PLM variables
22YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
23YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
24
25# Yocto KERNEL Variables
26UBOOT_ENTRYPOINT ?= "0x200000"
27UBOOT_LOADADDRESS ?= "0x200000"
28
29# vhk158-versal Serial Console
30SERIAL_CONSOLES ?= "115200;ttyAMA0"
31YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
32
33# Required generic machine inclusion
34# VHK158 board uses Versal HBM device hence use soc variant based generic
35# machine inclusion
36require conf/machine/versal-hbm-generic.conf
37
38# This machine conf file uses vhk158-versal xsa as reference input.
39# User can override with vhk158 custom xsa using HDF_BASE and HDF_PATH variables
40# from local.conf.
41HDF_MACHINE = "vhk158-versal"
42
43# VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G,
44# Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM
45QB_MEM = "-m 32G"
46
47QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vhk158.dtb"
48QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"
49
50#### No additional settings should be after the Postamble
51#### Postamble
52PACKAGE_EXTRA_ARCHS:append = "${@['', 'vhk158_versal']['vhk158-versal' != '${MACHINE}']}" \ No newline at end of file
diff --git a/meta-xilinx-bsp/conf/machine/vpk180-versal.conf b/meta-xilinx-bsp/conf/machine/vpk180-versal.conf
new file mode 100644
index 00000000..099cd956
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/vpk180-versal.conf
@@ -0,0 +1,48 @@
1#@TYPE: Machine
2#@NAME: vpk180-versal
3#@DESCRIPTION: Machine configuration for the VPK180 evaluation board.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'vpk180-versal:']['vpk180-versal' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in versal-generic.conf will be set.
12
13# Yocto device-tree variables
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
15YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vpk180-reva}"
16
17# Yocto arm-trusted-firmware(TF-A) variables
18ATF_CONSOLE_DEFAULT ?= "pl011"
19TFA_BL33_LOAD ?= "0x8000000"
20
21# Yocto PLM variables
22YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
23YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
24
25# Yocto KERNEL Variables
26UBOOT_ENTRYPOINT ?= "0x200000"
27UBOOT_LOADADDRESS ?= "0x200000"
28
29# vpk180-versal Serial Console
30SERIAL_CONSOLES ?= "115200;ttyAMA0"
31YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
32
33# Required generic machine inclusion
34# VPK180 board uses Versal Premium device hence use soc variant based generic
35# machine inclusion
36require conf/machine/versal-premium-generic.conf
37
38# This machine conf file uses vpk180-versal xsa as reference input.
39# User can override with vpk180 custom xsa using HDF_BASE and HDF_PATH variables
40# from local.conf.
41HDF_MACHINE = "vpk180-versal"
42
43QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vpk180.dtb"
44QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"
45
46#### No additional settings should be after the Postamble
47#### Postamble
48PACKAGE_EXTRA_ARCHS:append = "${@['', 'vpk180_versal']['vpk180-versal' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf
new file mode 100644
index 00000000..d7b2f340
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf
@@ -0,0 +1,50 @@
1#@TYPE: Machine
2#@NAME: zcu208-zynqmp
3#@DESCRIPTION: Machine configuration for the ZCU208 evaluation board.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'zcu208-zynqmp:']['zcu208-zynqmp' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in zynqmp-generic.conf will be set.
12
13# Yocto device-tree variables
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
15YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
16YAML_DT_BOARD_FLAGS ?= "{BOARD zcu208-reva}"
17
18# Yocto arm-trusted-firmware(TF-A) variables
19ATF_CONSOLE_DEFAULT ?= "cadence"
20TFA_BL33_LOAD ?= "0x8000000"
21
22# Yocto PMUFW variables
23YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
24YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
25
26# Yocto FSBL variables
27YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
28YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
29
30# Yocto KERNEL Variables
31UBOOT_ENTRYPOINT ?= "0x200000"
32UBOOT_LOADADDRESS ?= "0x200000"
33
34# zcu208-zynqmp Serial Console
35SERIAL_CONSOLES ?= "115200;ttyPS0"
36YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
37
38# Required generic machine inclusion
39# ZCU208 board uses ZynqMP DR device hence use soc variant based generic machine
40# inclusion
41require conf/machine/zynqmp-dr-generic.conf
42
43# This eval board machine conf file uses zcu208-zynqmp xsa as reference input.
44# User can override with zcu208 custom xsa using HDF_BASE and HDF_PATH variables
45# from local.conf.
46HDF_MACHINE = "zcu208-zynqmp"
47
48#### No additional settings should be after the Postamble
49#### Postamble
50PACKAGE_EXTRA_ARCHS:append = "${@['', 'zcu208_zynqmp']['zcu208-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf
new file mode 100644
index 00000000..6b1dd488
--- /dev/null
+++ b/meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf
@@ -0,0 +1,50 @@
1#@TYPE: Machine
2#@NAME: zcu670-zynqmp
3#@DESCRIPTION: Machine configuration for the ZCU670 evaluation board.
4
5#### Preamble
6MACHINEOVERRIDES =. "${@['', 'zcu670-zynqmp:']['zcu670-zynqmp' !='${MACHINE}']}"
7#### Regular settings follow
8
9# Variables that changes based on hw design or board specific requirement must be
10# defined before calling the required inclusion file else pre-expansion value
11# defined in zynqmp-generic.conf will be set.
12
13# Yocto device-tree variables
14YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
15YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
16YAML_DT_BOARD_FLAGS ?= "{BOARD zcu670-revb}"
17
18# Yocto arm-trusted-firmware(TF-A) variables
19ATF_CONSOLE_DEFAULT ?= "cadence"
20TFA_BL33_LOAD ?= "0x8000000"
21
22# Yocto PMUFW variables
23YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
24YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"
25
26# Yocto FSBL variables
27YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
28YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"
29
30# Yocto KERNEL Variables
31UBOOT_ENTRYPOINT ?= "0x200000"
32UBOOT_LOADADDRESS ?= "0x200000"
33
34# zcu670-zynqmp Serial Console
35SERIAL_CONSOLES ?= "115200;ttyPS0"
36YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"
37
38# Required generic machine inclusion
39# ZCU670 board uses ZynqMP DR device hence use soc variant based generic machine
40# inclusion
41require conf/machine/zynqmp-dr-generic.conf
42
43# This eval board machine conf file uses zcu670-zynqmp xsa as reference input.
44# User can override with zcu670 custom xsa using HDF_BASE and HDF_PATH variables
45# from local.conf.
46HDF_MACHINE = "zcu670-zynqmp"
47
48#### No additional settings should be after the Postamble
49#### Postamble
50PACKAGE_EXTRA_ARCHS:append = "${@['', 'zcu670_zynqmp']['zcu670-zynqmp' != '${MACHINE}']}"
diff --git a/meta-xilinx-contrib/README.md b/meta-xilinx-contrib/README.md
index 629a7798..30dc3282 100644
--- a/meta-xilinx-contrib/README.md
+++ b/meta-xilinx-contrib/README.md
@@ -31,4 +31,4 @@ This layer depends on:
31 https://git.yoctoproject.org/meta-xilinx (official version) 31 https://git.yoctoproject.org/meta-xilinx (official version)
32 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) 32 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release)
33 layers: meta-xilinx-microblaze, meta-xilinx-core, meta-xilinx-vendor 33 layers: meta-xilinx-microblaze, meta-xilinx-core, meta-xilinx-vendor
34 branch: langdale or amd xilinx release version (e.g. rel-v2022.2) 34 branch: langdale or amd xilinx release version (e.g. rel-v2023.1)
diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch
new file mode 100644
index 00000000..660bc218
--- /dev/null
+++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch
@@ -0,0 +1,305 @@
1From 21cc8144efdaa3cd8dbd7279f87b14fa3432fae4 Mon Sep 17 00:00:00 2001
2From: Jason Wu <jason.wu.misc@gmail.com>
3Date: Sun, 10 Apr 2016 13:14:13 +1000
4Subject: [PATCH 1/3] drm: xilinx: Add encoder for Digilent boards
5
6Add the dglnt_encoder driver that enables DRM support for the VGA and
7HDMI output ports found on many Digilent boards.
8
9Upstream-Status: Pending
10
11Signed-off-by: Sam Bobrowicz <sbobrowicz@digilentinc.com>
12Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
13---
14 .../bindings/drm/xilinx/dglnt_encoder.txt | 23 +++
15 drivers/gpu/drm/xilinx/Kconfig | 6 +
16 drivers/gpu/drm/xilinx/Makefile | 1 +
17 drivers/gpu/drm/xilinx/dglnt_encoder.c | 217 +++++++++++++++++++++
18 4 files changed, 247 insertions(+)
19 create mode 100644 Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
20 create mode 100644 drivers/gpu/drm/xilinx/dglnt_encoder.c
21
22diff --git a/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
23new file mode 100644
24index 0000000..242b24e
25--- /dev/null
26+++ b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt
27@@ -0,0 +1,23 @@
28+Device-Tree bindings for Digilent DRM Encoder Slave
29+
30+This driver provides support for VGA and HDMI outputs on Digilent FPGA boards.
31+The VGA or HDMI port must be connected to a Xilinx display pipeline via an
32+axi2vid IP core.
33+
34+Required properties:
35+ - compatible: Should be "digilent,drm-encoder".
36+
37+Optional properties:
38+ - dglnt,edid-i2c: The I2C device connected to the DDC bus on the video
39+ connector. This is used to obtain the supported resolutions
40+ of an attached monitor. If not defined, then a default
41+ set of resolutions is used and the display will initialize
42+ to 720p. Note most VGA connectors on Digilent boards do
43+ not have the DDC bus routed out.
44+
45+Example:
46+
47+ encoder_0: digilent_encoder {
48+ compatible = "digilent,drm-encoder";
49+ dglnt,edid-i2c = <&i2c1>;
50+ };
51diff --git a/drivers/gpu/drm/xilinx/Kconfig b/drivers/gpu/drm/xilinx/Kconfig
52index 57e18a9..d9ecff2 100644
53--- a/drivers/gpu/drm/xilinx/Kconfig
54+++ b/drivers/gpu/drm/xilinx/Kconfig
55@@ -33,6 +33,12 @@ config DRM_XILINX_DP_SUB
56 help
57 DRM driver for Xilinx Display Port Subsystem.
58
59+config DRM_DIGILENT_ENCODER
60+ tristate "Digilent VGA/HDMI DRM Encoder Driver"
61+ depends on DRM_XILINX
62+ help
63+ DRM slave encoder for Video-out on Digilent boards.
64+
65 config DRM_XILINX_DP_SUB_DEBUG_FS
66 bool "Xilinx DRM DPSUB debugfs"
67 depends on DEBUG_FS && DRM_XILINX_DP_SUB
68diff --git a/drivers/gpu/drm/xilinx/Makefile b/drivers/gpu/drm/xilinx/Makefile
69index 19bc154..c2717e40 100644
70--- a/drivers/gpu/drm/xilinx/Makefile
71+++ b/drivers/gpu/drm/xilinx/Makefile
72@@ -7,6 +7,7 @@ xilinx_drm-y := xilinx_drm_crtc.o xilinx_drm_connector.o xilinx_drm_drv.o \
73 xilinx_drm_plane.o
74 xilinx_drm-y += xilinx_cresample.o xilinx_osd.o xilinx_rgb2yuv.o xilinx_vtc.o
75
76+obj-$(CONFIG_DRM_DIGILENT_ENCODER) += dglnt_encoder.o
77 obj-$(CONFIG_DRM_XILINX) += xilinx_drm.o
78 obj-$(CONFIG_DRM_XILINX_DP) += xilinx_drm_dp.o
79 obj-$(CONFIG_DRM_XILINX_DP_SUB) += xilinx_drm_dp_sub.o
80diff --git a/drivers/gpu/drm/xilinx/dglnt_encoder.c b/drivers/gpu/drm/xilinx/dglnt_encoder.c
81new file mode 100644
82index 0000000..cb9fc7d
83--- /dev/null
84+++ b/drivers/gpu/drm/xilinx/dglnt_encoder.c
85@@ -0,0 +1,217 @@
86+/*
87+ * dglnt_encoder.c - DRM slave encoder for Video-out on Digilent boards
88+ *
89+ * Copyright (C) 2015 Digilent
90+ * Author: Sam Bobrowicz <sbobrowicz@digilentinc.com>
91+ *
92+ * Based on udl_encoder.c and udl_connector.c, Copyright (C) 2012 Red Hat.
93+ * Also based on xilinx_drm_dp.c, Copyright (C) 2014 Xilinx, Inc.
94+ *
95+ * This software is licensed under the terms of the GNU General Public
96+ * License version 2, as published by the Free Software Foundation, and
97+ * may be copied, distributed, and modified under those terms.
98+ *
99+ * This program is distributed in the hope that it will be useful,
100+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
101+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
102+ * GNU General Public License for more details.
103+ */
104+
105+#include <drm/drmP.h>
106+#include <drm/drm_edid.h>
107+#include <drm/drm_encoder_slave.h>
108+
109+#include <linux/device.h>
110+#include <linux/module.h>
111+#include <linux/err.h>
112+#include <linux/i2c.h>
113+#include <linux/of.h>
114+#include <linux/of_platform.h>
115+#include <linux/platform_device.h>
116+
117+#define DGLNT_ENC_MAX_FREQ 150000
118+#define DGLNT_ENC_MAX_H 1920
119+#define DGLNT_ENC_MAX_V 1080
120+#define DGLNT_ENC_PREF_H 1280
121+#define DGLNT_ENC_PREF_V 720
122+
123+struct dglnt_encoder {
124+ struct drm_encoder *encoder;
125+ struct i2c_adapter *i2c_bus;
126+ bool i2c_present;
127+};
128+
129+static inline struct dglnt_encoder *to_dglnt_encoder(
130+ struct drm_encoder *encoder)
131+{
132+ return to_encoder_slave(encoder)->slave_priv;
133+}
134+
135+static bool dglnt_mode_fixup(struct drm_encoder *encoder,
136+ const struct drm_display_mode *mode,
137+ struct drm_display_mode *adjusted_mode)
138+{
139+ return true;
140+}
141+
142+static void dglnt_encoder_mode_set(struct drm_encoder *encoder,
143+ struct drm_display_mode *mode,
144+ struct drm_display_mode *adjusted_mode)
145+{
146+}
147+
148+static void
149+dglnt_encoder_dpms(struct drm_encoder *encoder, int mode)
150+{
151+}
152+
153+static void dglnt_encoder_save(struct drm_encoder *encoder)
154+{
155+}
156+
157+static void dglnt_encoder_restore(struct drm_encoder *encoder)
158+{
159+}
160+
161+static int dglnt_encoder_mode_valid(struct drm_encoder *encoder,
162+ struct drm_display_mode *mode)
163+{
164+ if (mode &&
165+ !(mode->flags & ((DRM_MODE_FLAG_INTERLACE |
166+ DRM_MODE_FLAG_DBLCLK) | DRM_MODE_FLAG_3D_MASK)) &&
167+ (mode->clock <= DGLNT_ENC_MAX_FREQ) &&
168+ (mode->hdisplay <= DGLNT_ENC_MAX_H) &&
169+ (mode->vdisplay <= DGLNT_ENC_MAX_V))
170+ return MODE_OK;
171+ return MODE_BAD;
172+}
173+
174+static int dglnt_encoder_get_modes(struct drm_encoder *encoder,
175+ struct drm_connector *connector)
176+{
177+ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder);
178+ struct edid *edid;
179+ int num_modes = 0;
180+
181+ if (dglnt->i2c_present) {
182+ edid = drm_get_edid(connector, dglnt->i2c_bus);
183+ drm_connector_update_edid_property(connector, edid);
184+ if (edid) {
185+ num_modes = drm_add_edid_modes(connector, edid);
186+ kfree(edid);
187+ }
188+ } else {
189+ num_modes = drm_add_modes_noedid(connector, DGLNT_ENC_MAX_H,
190+ DGLNT_ENC_MAX_V);
191+ drm_set_preferred_mode(connector, DGLNT_ENC_PREF_H,
192+ DGLNT_ENC_PREF_V);
193+ }
194+ return num_modes;
195+}
196+
197+static enum drm_connector_status dglnt_encoder_detect(
198+ struct drm_encoder *encoder,
199+ struct drm_connector *connector)
200+{
201+ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder);
202+
203+ if (dglnt->i2c_present) {
204+ if (drm_probe_ddc(dglnt->i2c_bus))
205+ return connector_status_connected;
206+ return connector_status_disconnected;
207+ } else
208+ return connector_status_unknown;
209+}
210+
211+static struct drm_encoder_slave_funcs dglnt_encoder_slave_funcs = {
212+ .dpms = dglnt_encoder_dpms,
213+ .save = dglnt_encoder_save,
214+ .restore = dglnt_encoder_restore,
215+ .mode_fixup = dglnt_mode_fixup,
216+ .mode_valid = dglnt_encoder_mode_valid,
217+ .mode_set = dglnt_encoder_mode_set,
218+ .detect = dglnt_encoder_detect,
219+ .get_modes = dglnt_encoder_get_modes,
220+};
221+
222+static int dglnt_encoder_encoder_init(struct platform_device *pdev,
223+ struct drm_device *dev,
224+ struct drm_encoder_slave *encoder)
225+{
226+ struct dglnt_encoder *dglnt = platform_get_drvdata(pdev);
227+ struct device_node *sub_node;
228+
229+ encoder->slave_priv = dglnt;
230+ encoder->slave_funcs = &dglnt_encoder_slave_funcs;
231+
232+ dglnt->encoder = &encoder->base;
233+
234+ /* get i2c adapter for edid */
235+ dglnt->i2c_present = false;
236+ sub_node = of_parse_phandle(pdev->dev.of_node, "dglnt,edid-i2c", 0);
237+ if (sub_node) {
238+ dglnt->i2c_bus = of_find_i2c_adapter_by_node(sub_node);
239+ if (!dglnt->i2c_bus)
240+ DRM_INFO("failed to get the edid i2c adapter, using default modes\n");
241+ else
242+ dglnt->i2c_present = true;
243+ of_node_put(sub_node);
244+ }
245+
246+ return 0;
247+}
248+
249+static int dglnt_encoder_probe(struct platform_device *pdev)
250+{
251+ struct dglnt_encoder *dglnt;
252+
253+ dglnt = devm_kzalloc(&pdev->dev, sizeof(*dglnt), GFP_KERNEL);
254+ if (!dglnt)
255+ return -ENOMEM;
256+
257+ platform_set_drvdata(pdev, dglnt);
258+
259+ return 0;
260+}
261+
262+static int dglnt_encoder_remove(struct platform_device *pdev)
263+{
264+ return 0;
265+}
266+
267+static const struct of_device_id dglnt_encoder_of_match[] = {
268+ { .compatible = "digilent,drm-encoder", },
269+ { /* end of table */ },
270+};
271+MODULE_DEVICE_TABLE(of, dglnt_encoder_of_match);
272+
273+static struct drm_platform_encoder_driver dglnt_encoder_driver = {
274+ .platform_driver = {
275+ .probe = dglnt_encoder_probe,
276+ .remove = dglnt_encoder_remove,
277+ .driver = {
278+ .owner = THIS_MODULE,
279+ .name = "dglnt-drm-enc",
280+ .of_match_table = dglnt_encoder_of_match,
281+ },
282+ },
283+
284+ .encoder_init = dglnt_encoder_encoder_init,
285+};
286+
287+static int __init dglnt_encoder_init(void)
288+{
289+ return platform_driver_register(&dglnt_encoder_driver.platform_driver);
290+}
291+
292+static void __exit dglnt_encoder_exit(void)
293+{
294+ platform_driver_unregister(&dglnt_encoder_driver.platform_driver);
295+}
296+
297+module_init(dglnt_encoder_init);
298+module_exit(dglnt_encoder_exit);
299+
300+MODULE_AUTHOR("Digilent, Inc.");
301+MODULE_DESCRIPTION("DRM slave encoder for Video-out on Digilent boards");
302+MODULE_LICENSE("GPL v2");
303--
3042.7.4
305
diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch
new file mode 100644
index 00000000..9b6229db
--- /dev/null
+++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch
@@ -0,0 +1,607 @@
1From 217e3b6f4393926b8dcad841381527ef3fc808c2 Mon Sep 17 00:00:00 2001
2From: Jason Wu <jason.wu.misc@gmail.com>
3Date: Sun, 10 Apr 2016 13:16:06 +1000
4Subject: [PATCH 2/3] clk: Add driver for axi_dynclk IP Core
5
6Add support for the axi_dynclk IP Core available from Digilent. This IP
7core dynamically configures the clock resources inside a Xilinx FPGA to
8generate a clock with a software programmable frequency.
9
10Upstream-Status: Pending
11
12Signed-off-by: Sam Bobrowicz <sbobrowicz@digilentinc.com>
13Signed-off-by: Jason Wu <jason.wu.misc@gmail.com>
14---
15 drivers/clk/Kconfig | 8 +
16 drivers/clk/Makefile | 1 +
17 drivers/clk/clk-dglnt-dynclk.c | 547 +++++++++++++++++++++++++++++++++++++++++
18 3 files changed, 556 insertions(+)
19 create mode 100644 drivers/clk/clk-dglnt-dynclk.c
20
21diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig
22index dccb111100..7fe65a702b 100644
23--- a/drivers/clk/Kconfig
24+++ b/drivers/clk/Kconfig
25@@ -148,6 +148,14 @@ config CLK_QORIQ
26 This adds the clock driver support for Freescale QorIQ platforms
27 using common clock framework.
28
29+config COMMON_CLK_DGLNT_DYNCLK
30+ tristate "Digilent axi_dynclk Driver"
31+ depends on ARCH_ZYNQ || MICROBLAZE
32+ help
33+ ---help---
34+ Support for the Digilent AXI Dynamic Clock core for Xilinx
35+ FPGAs.
36+
37 config COMMON_CLK_XGENE
38 bool "Clock driver for APM XGene SoC"
39 default y
40diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile
41index 0760449dde..45ce97d053 100644
42--- a/drivers/clk/Makefile
43+++ b/drivers/clk/Makefile
44@@ -24,6 +24,7 @@ obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o
45 obj-$(CONFIG_COMMON_CLK_CDCE925) += clk-cdce925.o
46 obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o
47 obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o
48+obj-$(CONFIG_COMMON_CLK_DGLNT_DYNCLK) += clk-dglnt-dynclk.o
49 obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o
50 obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o
51 obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o
52diff --git a/drivers/clk/clk-dglnt-dynclk.c b/drivers/clk/clk-dglnt-dynclk.c
53new file mode 100644
54index 0000000000..496ad5fc90
55--- /dev/null
56+++ b/drivers/clk/clk-dglnt-dynclk.c
57@@ -0,0 +1,547 @@
58+/*
59+ * clk-dglnt-dynclk.c - Digilent AXI Dynamic Clock (axi_dynclk) Driver
60+ *
61+ * Copyright (C) 2015 Digilent
62+ * Author: Sam Bobrowicz <sbobrowicz@digilentinc.com>
63+ *
64+ * Reused code from clk-axi-clkgen.c, Copyright (C) 2012-2013 Analog Devices Inc.
65+ *
66+ * This software is licensed under the terms of the GNU General Public
67+ * License version 2, as published by the Free Software Foundation, and
68+ * may be copied, distributed, and modified under those terms.
69+ *
70+ * This program is distributed in the hope that it will be useful,
71+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
72+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
73+ * GNU General Public License for more details.
74+ */
75+
76+#include <linux/platform_device.h>
77+#include <linux/clk-provider.h>
78+#include <linux/clk.h>
79+#include <linux/slab.h>
80+#include <linux/io.h>
81+#include <linux/of.h>
82+#include <linux/module.h>
83+#include <linux/err.h>
84+#include <linux/kernel.h>
85+
86+#define CLK_BIT_WEDGE 13
87+#define CLK_BIT_NOCOUNT 12
88+
89+/* This value is used to signal an error */
90+#define ERR_CLKCOUNTCALC 0xFFFFFFFF
91+#define ERR_CLKDIVIDER (1 << CLK_BIT_WEDGE | 1 << CLK_BIT_NOCOUNT)
92+
93+#define DYNCLK_DIV_1_REGMASK 0x1041
94+/* 25 MHz (125 KHz / 5) */
95+#define DYNCLK_DEFAULT_FREQ 125000
96+
97+#define MMCM_FREQ_VCOMIN 600000
98+#define MMCM_FREQ_VCOMAX 1200000
99+#define MMCM_FREQ_PFDMIN 10000
100+#define MMCM_FREQ_PFDMAX 450000
101+#define MMCM_FREQ_OUTMIN 4000
102+#define MMCM_FREQ_OUTMAX 800000
103+#define MMCM_DIV_MAX 106
104+#define MMCM_FB_MIN 2
105+#define MMCM_FB_MAX 64
106+#define MMCM_CLKDIV_MAX 128
107+#define MMCM_CLKDIV_MIN 1
108+
109+#define OFST_DISPLAY_CTRL 0x0
110+#define OFST_DISPLAY_STATUS 0x4
111+#define OFST_DISPLAY_CLK_L 0x8
112+#define OFST_DISPLAY_FB_L 0x0C
113+#define OFST_DISPLAY_FB_H_CLK_H 0x10
114+#define OFST_DISPLAY_DIV 0x14
115+#define OFST_DISPLAY_LOCK_L 0x18
116+#define OFST_DISPLAY_FLTR_LOCK_H 0x1C
117+
118+static const u64 lock_lookup[64] = {
119+ 0b0011000110111110100011111010010000000001,
120+ 0b0011000110111110100011111010010000000001,
121+ 0b0100001000111110100011111010010000000001,
122+ 0b0101101011111110100011111010010000000001,
123+ 0b0111001110111110100011111010010000000001,
124+ 0b1000110001111110100011111010010000000001,
125+ 0b1001110011111110100011111010010000000001,
126+ 0b1011010110111110100011111010010000000001,
127+ 0b1100111001111110100011111010010000000001,
128+ 0b1110011100111110100011111010010000000001,
129+ 0b1111111111111000010011111010010000000001,
130+ 0b1111111111110011100111111010010000000001,
131+ 0b1111111111101110111011111010010000000001,
132+ 0b1111111111101011110011111010010000000001,
133+ 0b1111111111101000101011111010010000000001,
134+ 0b1111111111100111000111111010010000000001,
135+ 0b1111111111100011111111111010010000000001,
136+ 0b1111111111100010011011111010010000000001,
137+ 0b1111111111100000110111111010010000000001,
138+ 0b1111111111011111010011111010010000000001,
139+ 0b1111111111011101101111111010010000000001,
140+ 0b1111111111011100001011111010010000000001,
141+ 0b1111111111011010100111111010010000000001,
142+ 0b1111111111011001000011111010010000000001,
143+ 0b1111111111011001000011111010010000000001,
144+ 0b1111111111010111011111111010010000000001,
145+ 0b1111111111010101111011111010010000000001,
146+ 0b1111111111010101111011111010010000000001,
147+ 0b1111111111010100010111111010010000000001,
148+ 0b1111111111010100010111111010010000000001,
149+ 0b1111111111010010110011111010010000000001,
150+ 0b1111111111010010110011111010010000000001,
151+ 0b1111111111010010110011111010010000000001,
152+ 0b1111111111010001001111111010010000000001,
153+ 0b1111111111010001001111111010010000000001,
154+ 0b1111111111010001001111111010010000000001,
155+ 0b1111111111001111101011111010010000000001,
156+ 0b1111111111001111101011111010010000000001,
157+ 0b1111111111001111101011111010010000000001,
158+ 0b1111111111001111101011111010010000000001,
159+ 0b1111111111001111101011111010010000000001,
160+ 0b1111111111001111101011111010010000000001,
161+ 0b1111111111001111101011111010010000000001,
162+ 0b1111111111001111101011111010010000000001,
163+ 0b1111111111001111101011111010010000000001,
164+ 0b1111111111001111101011111010010000000001,
165+ 0b1111111111001111101011111010010000000001,
166+ 0b1111111111001111101011111010010000000001,
167+ 0b1111111111001111101011111010010000000001,
168+ 0b1111111111001111101011111010010000000001,
169+ 0b1111111111001111101011111010010000000001,
170+ 0b1111111111001111101011111010010000000001,
171+ 0b1111111111001111101011111010010000000001,
172+ 0b1111111111001111101011111010010000000001,
173+ 0b1111111111001111101011111010010000000001,
174+ 0b1111111111001111101011111010010000000001,
175+ 0b1111111111001111101011111010010000000001,
176+ 0b1111111111001111101011111010010000000001,
177+ 0b1111111111001111101011111010010000000001,
178+ 0b1111111111001111101011111010010000000001,
179+ 0b1111111111001111101011111010010000000001,
180+ 0b1111111111001111101011111010010000000001,
181+ 0b1111111111001111101011111010010000000001,
182+ 0b1111111111001111101011111010010000000001
183+};
184+
185+static const u32 filter_lookup_low[64] = {
186+ 0b0001011111,
187+ 0b0001010111,
188+ 0b0001111011,
189+ 0b0001011011,
190+ 0b0001101011,
191+ 0b0001110011,
192+ 0b0001110011,
193+ 0b0001110011,
194+ 0b0001110011,
195+ 0b0001001011,
196+ 0b0001001011,
197+ 0b0001001011,
198+ 0b0010110011,
199+ 0b0001010011,
200+ 0b0001010011,
201+ 0b0001010011,
202+ 0b0001010011,
203+ 0b0001010011,
204+ 0b0001010011,
205+ 0b0001010011,
206+ 0b0001010011,
207+ 0b0001010011,
208+ 0b0001010011,
209+ 0b0001100011,
210+ 0b0001100011,
211+ 0b0001100011,
212+ 0b0001100011,
213+ 0b0001100011,
214+ 0b0001100011,
215+ 0b0001100011,
216+ 0b0001100011,
217+ 0b0001100011,
218+ 0b0001100011,
219+ 0b0001100011,
220+ 0b0001100011,
221+ 0b0001100011,
222+ 0b0001100011,
223+ 0b0010010011,
224+ 0b0010010011,
225+ 0b0010010011,
226+ 0b0010010011,
227+ 0b0010010011,
228+ 0b0010010011,
229+ 0b0010010011,
230+ 0b0010010011,
231+ 0b0010010011,
232+ 0b0010010011,
233+ 0b0010100011,
234+ 0b0010100011,
235+ 0b0010100011,
236+ 0b0010100011,
237+ 0b0010100011,
238+ 0b0010100011,
239+ 0b0010100011,
240+ 0b0010100011,
241+ 0b0010100011,
242+ 0b0010100011,
243+ 0b0010100011,
244+ 0b0010100011,
245+ 0b0010100011,
246+ 0b0010100011,
247+ 0b0010100011,
248+ 0b0010100011,
249+ 0b0010100011
250+};
251+
252+struct dglnt_dynclk_reg;
253+struct dglnt_dynclk_mode;
254+struct dglnt_dynclk;
255+
256+struct dglnt_dynclk_reg {
257+ u32 clk0L;
258+ u32 clkFBL;
259+ u32 clkFBH_clk0H;
260+ u32 divclk;
261+ u32 lockL;
262+ u32 fltr_lockH;
263+};
264+
265+struct dglnt_dynclk_mode {
266+ u32 freq;
267+ u32 fbmult;
268+ u32 clkdiv;
269+ u32 maindiv;
270+};
271+
272+struct dglnt_dynclk {
273+ void __iomem *base;
274+ struct clk_hw clk_hw;
275+ unsigned long freq;
276+};
277+
278+u32 dglnt_dynclk_divider(u32 divide)
279+{
280+ u32 output = 0;
281+ u32 highTime = 0;
282+ u32 lowTime = 0;
283+
284+ if ((divide < 1) || (divide > 128))
285+ return ERR_CLKDIVIDER;
286+
287+ if (divide == 1)
288+ return DYNCLK_DIV_1_REGMASK;
289+
290+ highTime = divide / 2;
291+ /* if divide is odd */
292+ if (divide & 0x1) {
293+ lowTime = highTime + 1;
294+ output = 1 << CLK_BIT_WEDGE;
295+ } else {
296+ lowTime = highTime;
297+ }
298+
299+ output |= 0x03F & lowTime;
300+ output |= 0xFC0 & (highTime << 6);
301+ return output;
302+}
303+
304+u32 dglnt_dynclk_count_calc(u32 divide)
305+{
306+ u32 output = 0;
307+ u32 divCalc = 0;
308+
309+ divCalc = dglnt_dynclk_divider(divide);
310+ if (divCalc == ERR_CLKDIVIDER)
311+ output = ERR_CLKCOUNTCALC;
312+ else
313+ output = (0xFFF & divCalc) | ((divCalc << 10) & 0x00C00000);
314+ return output;
315+}
316+
317+
318+int dglnt_dynclk_find_reg(struct dglnt_dynclk_reg *regValues,
319+ struct dglnt_dynclk_mode *clkParams)
320+{
321+ if ((clkParams->fbmult < 2) || clkParams->fbmult > 64)
322+ return -EINVAL;
323+
324+ regValues->clk0L = dglnt_dynclk_count_calc(clkParams->clkdiv);
325+ if (regValues->clk0L == ERR_CLKCOUNTCALC)
326+ return -EINVAL;
327+
328+ regValues->clkFBL = dglnt_dynclk_count_calc(clkParams->fbmult);
329+ if (regValues->clkFBL == ERR_CLKCOUNTCALC)
330+ return -EINVAL;
331+
332+ regValues->clkFBH_clk0H = 0;
333+
334+ regValues->divclk = dglnt_dynclk_divider(clkParams->maindiv);
335+ if (regValues->divclk == ERR_CLKDIVIDER)
336+ return -EINVAL;
337+
338+ regValues->lockL = (u32)(lock_lookup[clkParams->fbmult - 1] &
339+ 0xFFFFFFFF);
340+
341+ regValues->fltr_lockH = (u32)((lock_lookup[clkParams->fbmult - 1] >>
342+ 32) & 0x000000FF);
343+ regValues->fltr_lockH |= ((filter_lookup_low[clkParams->fbmult - 1] <<
344+ 16) & 0x03FF0000);
345+
346+ return 0;
347+}
348+
349+void dglnt_dynclk_write_reg(struct dglnt_dynclk_reg *regValues,
350+ void __iomem *baseaddr)
351+{
352+ writel(regValues->clk0L, baseaddr + OFST_DISPLAY_CLK_L);
353+ writel(regValues->clkFBL, baseaddr + OFST_DISPLAY_FB_L);
354+ writel(regValues->clkFBH_clk0H, baseaddr + OFST_DISPLAY_FB_H_CLK_H);
355+ writel(regValues->divclk, baseaddr + OFST_DISPLAY_DIV);
356+ writel(regValues->lockL, baseaddr + OFST_DISPLAY_LOCK_L);
357+ writel(regValues->fltr_lockH, baseaddr + OFST_DISPLAY_FLTR_LOCK_H);
358+}
359+
360+u32 dglnt_dynclk_find_mode(u32 freq, u32 parentFreq,
361+ struct dglnt_dynclk_mode *bestPick)
362+{
363+ u32 bestError = MMCM_FREQ_OUTMAX;
364+ u32 curError;
365+ u32 curClkMult;
366+ u32 curFreq;
367+ u32 divVal;
368+ u32 curFb, curClkDiv;
369+ u32 minFb = 0;
370+ u32 maxFb = 0;
371+ u32 curDiv = 1;
372+ u32 maxDiv;
373+ bool freq_found = false;
374+
375+ bestPick->freq = 0;
376+ if (parentFreq == 0)
377+ return 0;
378+
379+ /* minimum frequency is actually dictated by VCOmin */
380+ if (freq < MMCM_FREQ_OUTMIN)
381+ freq = MMCM_FREQ_OUTMIN;
382+ if (freq > MMCM_FREQ_OUTMAX)
383+ freq = MMCM_FREQ_OUTMAX;
384+
385+ if (parentFreq > MMCM_FREQ_PFDMAX)
386+ curDiv = 2;
387+ maxDiv = parentFreq / MMCM_FREQ_PFDMIN;
388+ if (maxDiv > MMCM_DIV_MAX)
389+ maxDiv = MMCM_DIV_MAX;
390+
391+ while (curDiv <= maxDiv && !freq_found) {
392+ minFb = curDiv * DIV_ROUND_UP(MMCM_FREQ_VCOMIN, parentFreq);
393+ maxFb = curDiv * (MMCM_FREQ_VCOMAX / parentFreq);
394+ if (maxFb > MMCM_FB_MAX)
395+ maxFb = MMCM_FB_MAX;
396+ if (minFb < MMCM_FB_MIN)
397+ minFb = MMCM_FB_MIN;
398+
399+ divVal = curDiv * freq;
400+ /*
401+ * This multiplier is used to find the best clkDiv value for
402+ * each FB value
403+ */
404+ curClkMult = ((parentFreq * 1000) + (divVal / 2)) / divVal;
405+
406+ curFb = minFb;
407+ while (curFb <= maxFb && !freq_found) {
408+ curClkDiv = ((curClkMult * curFb) + 500) / 1000;
409+ if (curClkDiv > MMCM_CLKDIV_MAX)
410+ curClkDiv = MMCM_CLKDIV_MAX;
411+ if (curClkDiv < MMCM_CLKDIV_MIN)
412+ curClkDiv = MMCM_CLKDIV_MIN;
413+ curFreq = (((parentFreq * curFb) / curDiv) / curClkDiv);
414+ if (curFreq >= freq)
415+ curError = curFreq - freq;
416+ else
417+ curError = freq - curFreq;
418+ if (curError < bestError) {
419+ bestError = curError;
420+ bestPick->clkdiv = curClkDiv;
421+ bestPick->fbmult = curFb;
422+ bestPick->maindiv = curDiv;
423+ bestPick->freq = curFreq;
424+ }
425+ if (!curError)
426+ freq_found = true;
427+ curFb++;
428+ }
429+ curDiv++;
430+ }
431+ return bestPick->freq;
432+}
433+
434+static struct dglnt_dynclk *clk_hw_to_dglnt_dynclk(struct clk_hw *clk_hw)
435+{
436+ return container_of(clk_hw, struct dglnt_dynclk, clk_hw);
437+}
438+
439+
440+static int dglnt_dynclk_enable(struct clk_hw *clk_hw)
441+{
442+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
443+ unsigned int clock_state;
444+
445+ if (dglnt_dynclk->freq) {
446+ writel(1, dglnt_dynclk->base + OFST_DISPLAY_CTRL);
447+ do {
448+ clock_state = readl(dglnt_dynclk->base +
449+ OFST_DISPLAY_STATUS);
450+ } while (!clock_state);
451+ }
452+ return 0;
453+}
454+
455+static void dglnt_dynclk_disable(struct clk_hw *clk_hw)
456+{
457+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
458+
459+ writel(0, dglnt_dynclk->base + OFST_DISPLAY_CTRL);
460+}
461+
462+static int dglnt_dynclk_set_rate(struct clk_hw *clk_hw,
463+ unsigned long rate, unsigned long parent_rate)
464+{
465+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
466+ struct dglnt_dynclk_reg clkReg;
467+ struct dglnt_dynclk_mode clkMode;
468+
469+ if (parent_rate == 0 || rate == 0)
470+ return -EINVAL;
471+ if (rate == dglnt_dynclk->freq)
472+ return 0;
473+
474+ /*
475+ * Convert from Hz to KHz, then multiply by five to account for
476+ * BUFR division
477+ */
478+ rate = (rate + 100) / 200;
479+ /* convert from Hz to KHz */
480+ parent_rate = (parent_rate + 500) / 1000;
481+ if (!dglnt_dynclk_find_mode(rate, parent_rate, &clkMode))
482+ return -EINVAL;
483+
484+ /*
485+ * Write to the PLL dynamic configuration registers to configure it
486+ * with the calculated parameters.
487+ */
488+ dglnt_dynclk_find_reg(&clkReg, &clkMode);
489+ dglnt_dynclk_write_reg(&clkReg, dglnt_dynclk->base);
490+ dglnt_dynclk->freq = clkMode.freq * 200;
491+ dglnt_dynclk_disable(clk_hw);
492+ dglnt_dynclk_enable(clk_hw);
493+
494+ return 0;
495+}
496+
497+static long dglnt_dynclk_round_rate(struct clk_hw *hw, unsigned long rate,
498+ unsigned long *parent_rate)
499+{
500+ struct dglnt_dynclk_mode clkMode;
501+
502+ dglnt_dynclk_find_mode(((rate + 100) / 200),
503+ ((*parent_rate) + 500) / 1000, &clkMode);
504+
505+ return (clkMode.freq * 200);
506+}
507+
508+static unsigned long dglnt_dynclk_recalc_rate(struct clk_hw *clk_hw,
509+ unsigned long parent_rate)
510+{
511+ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw);
512+
513+ return dglnt_dynclk->freq;
514+}
515+
516+
517+static const struct clk_ops dglnt_dynclk_ops = {
518+ .recalc_rate = dglnt_dynclk_recalc_rate,
519+ .round_rate = dglnt_dynclk_round_rate,
520+ .set_rate = dglnt_dynclk_set_rate,
521+ .enable = dglnt_dynclk_enable,
522+ .disable = dglnt_dynclk_disable,
523+};
524+
525+static const struct of_device_id dglnt_dynclk_ids[] = {
526+ { .compatible = "digilent,axi-dynclk", },
527+ { },
528+};
529+MODULE_DEVICE_TABLE(of, dglnt_dynclk_ids);
530+
531+static int dglnt_dynclk_probe(struct platform_device *pdev)
532+{
533+ const struct of_device_id *id;
534+ struct dglnt_dynclk *dglnt_dynclk;
535+ struct clk_init_data init;
536+ const char *parent_name;
537+ const char *clk_name;
538+ struct resource *mem;
539+ struct clk *clk;
540+
541+ if (!pdev->dev.of_node)
542+ return -ENODEV;
543+
544+ id = of_match_node(dglnt_dynclk_ids, pdev->dev.of_node);
545+ if (!id)
546+ return -ENODEV;
547+
548+ dglnt_dynclk = devm_kzalloc(&pdev->dev, sizeof(*dglnt_dynclk),
549+ GFP_KERNEL);
550+ if (!dglnt_dynclk)
551+ return -ENOMEM;
552+
553+ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
554+ dglnt_dynclk->base = devm_ioremap_resource(&pdev->dev, mem);
555+ if (IS_ERR(dglnt_dynclk->base))
556+ return PTR_ERR(dglnt_dynclk->base);
557+
558+ parent_name = of_clk_get_parent_name(pdev->dev.of_node, 0);
559+ if (!parent_name)
560+ return -EINVAL;
561+
562+ clk_name = pdev->dev.of_node->name;
563+ of_property_read_string(pdev->dev.of_node, "clock-output-names",
564+ &clk_name);
565+
566+ init.name = clk_name;
567+ init.ops = &dglnt_dynclk_ops;
568+ init.flags = 0;
569+ init.parent_names = &parent_name;
570+ init.num_parents = 1;
571+
572+ dglnt_dynclk->freq = 0;
573+ dglnt_dynclk_disable(&dglnt_dynclk->clk_hw);
574+
575+ dglnt_dynclk->clk_hw.init = &init;
576+ clk = devm_clk_register(&pdev->dev, &dglnt_dynclk->clk_hw);
577+ if (IS_ERR(clk))
578+ return PTR_ERR(clk);
579+
580+ return of_clk_add_provider(pdev->dev.of_node, of_clk_src_simple_get,
581+ clk);
582+}
583+
584+static int dglnt_dynclk_remove(struct platform_device *pdev)
585+{
586+ of_clk_del_provider(pdev->dev.of_node);
587+
588+ return 0;
589+}
590+
591+static struct platform_driver dglnt_dynclk_driver = {
592+ .driver = {
593+ .name = "dglnt-dynclk",
594+ .owner = THIS_MODULE,
595+ .of_match_table = dglnt_dynclk_ids,
596+ },
597+ .probe = dglnt_dynclk_probe,
598+ .remove = dglnt_dynclk_remove,
599+};
600+module_platform_driver(dglnt_dynclk_driver);
601+
602+MODULE_LICENSE("GPL v2");
603+MODULE_AUTHOR("Sam Bobrowicz <sbobrowicz@digilentinc.com>");
604+MODULE_DESCRIPTION("CCF Driver for Digilent axi_dynclk IP Core");
605--
6062.14.2
607
diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch
new file mode 100644
index 00000000..a98d84c5
--- /dev/null
+++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch
@@ -0,0 +1,54 @@
1From 1a18e2b514ae9e75145597ac509a87f656c976ba Mon Sep 17 00:00:00 2001
2From: Nathan Rossi <nathan@nathanrossi.com>
3Date: Mon, 2 May 2016 23:46:42 +1000
4Subject: [PATCH 3/3] drm: xilinx: Fix DPMS transition to on
5
6Fix the issues where the VTC is reset (losing its timing config).
7
8Also fix the issue where the plane destroys its DMA descriptors and
9marks the DMA channels as inactive but never recreates the descriptors
10and never updates the active state when turning DPMS back on.
11
12Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
13Upstream-Status: Pending [This is a workaround]
14---
15 drivers/gpu/drm/xilinx/xilinx_drm_crtc.c | 1 -
16 drivers/gpu/drm/xilinx/xilinx_drm_plane.c | 3 ++-
17 2 files changed, 2 insertions(+), 2 deletions(-)
18
19diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
20index 631d35b921..93dbd4b58a 100644
21--- a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
22+++ b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c
23@@ -88,7 +88,6 @@ static void xilinx_drm_crtc_dpms(struct drm_crtc *base_crtc, int dpms)
24 default:
25 if (crtc->vtc) {
26 xilinx_vtc_disable(crtc->vtc);
27- xilinx_vtc_reset(crtc->vtc);
28 }
29 if (crtc->cresample) {
30 xilinx_cresample_disable(crtc->cresample);
31diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
32index 6a248b72d4..d2518a4bdf 100644
33--- a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
34+++ b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c
35@@ -140,7 +140,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane)
36 for (i = 0; i < MAX_NUM_SUB_PLANES; i++) {
37 struct xilinx_drm_plane_dma *dma = &plane->dma[i];
38
39- if (dma->chan && dma->is_active) {
40+ if (dma->chan) {
41 flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT;
42 desc = dmaengine_prep_interleaved_dma(dma->chan,
43 &dma->xt,
44@@ -153,6 +153,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane)
45 dmaengine_submit(desc);
46
47 dma_async_issue_pending(dma->chan);
48+ dma->is_active = true;
49 }
50 }
51 }
52--
532.14.2
54
diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0004-minized-wifi-bluetooth.cfg b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0004-minized-wifi-bluetooth.cfg
new file mode 100644
index 00000000..f71e53ab
--- /dev/null
+++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2023.1/0004-minized-wifi-bluetooth.cfg
@@ -0,0 +1,33 @@
1#
2# Bluetooth config
3#
4CONFIG_BT=y
5CONFIG_BT_BREDR=y
6CONFIG_BT_HS=y
7CONFIG_BT_LE=y
8CONFIG_BT_BCM=y
9CONFIG_BT_HCIUART=y
10CONFIG_BT_HCIUART_H4=y
11CONFIG_BT_HCIUART_BCM=y
12CONFIG_BT_HIDP=y
13CONFIG_CFG80211=y
14CONFIG_CFG80211_DEFAULT_PS=y
15CONFIG_CFG80211_CRDA_SUPPORT=y
16CONFIG_BRCMUTIL=y
17CONFIG_BRCMFMAC=y
18CONFIG_BRCMFMAC_PROTO_BCDC=y
19CONFIG_BRCMFMAC_SDIO=y
20CONFIG_CRYPTO_BLKCIPHER=y
21CONFIG_CRYPTO_MANAGER=y
22CONFIG_CRYPTO_ECB=y
23CONFIG_CRYPTO_CMAC=y
24CONFIG_CRYPTO_SHA256=y
25
26#
27# Regulator config
28#
29CONFIG_REGMAP_IRQ=y
30CONFIG_I2C_XILINX=y
31CONFIG_MFD_DA9062=y
32CONFIG_REGULATOR_DA9062=y
33
diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2023.1.bbappend b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2023.1.bbappend
new file mode 100644
index 00000000..c789c7a9
--- /dev/null
+++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2023.1.bbappend
@@ -0,0 +1,12 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/linux-xlnx/v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}:"
2
3# Note: These patches are very old and doesn't apply on top of 5.x
4# kernel. For more details refer README.md file.
5
6#SRC_URI:append:zybo-linux-bd-zynq7 = " \
7# file://0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch \
8# file://0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch \
9# file://0003-drm-xilinx-Fix-DPMS-transition-to-on.patch \
10# "
11
12SRC_URI:append:minized-zynq7 = " file://0004-minized-wifi-bluetooth.cfg"
diff --git a/meta-xilinx-core/classes/gen-machine-conf.bbclass b/meta-xilinx-core/classes/gen-machine-conf.bbclass
new file mode 100644
index 00000000..25960cd1
--- /dev/null
+++ b/meta-xilinx-core/classes/gen-machine-conf.bbclass
@@ -0,0 +1,6 @@
1#Add scripts path with the tools to PATH to be able to use from eSDK
2sdk_ext_postinst:append() {
3 if [ -d $target_sdk_dir/layers/meta-xilinx/meta-xilinx-core/gen-machine-conf ]; then
4 echo "export PATH=$target_sdk_dir/layers/meta-xilinx/meta-xilinx-core/gen-machine-conf:\$PATH" >> $env_setup_script
5 fi
6}
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf
index 5f0c939f..36f445ac 100644
--- a/meta-xilinx-core/conf/layer.conf
+++ b/meta-xilinx-core/conf/layer.conf
@@ -41,12 +41,13 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
41 *->xserver-xorg \ 41 *->xserver-xorg \
42" 42"
43 43
44XILINX_RELEASE_VERSION ??= "v2022.2" 44XILINX_RELEASE_VERSION ??= "v2023.1"
45 45
46BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" 46BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION"
47 47
48XILINX_QEMU_VERSION[v2022.1] = "v7.1.0-xilinx-v2022.1%" 48XILINX_QEMU_VERSION[v2022.1] = "v7.1.0-xilinx-v2022.1%"
49XILINX_QEMU_VERSION[v2022.2] = "v7.1.0-xilinx-v2022.2%" 49XILINX_QEMU_VERSION[v2022.2] = "v7.1.0-xilinx-v2022.2%"
50XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%"
50PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 51PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
51PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 52PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
52PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 53PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
@@ -54,14 +55,21 @@ PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%"
54 55
55XILINX_ATF_VERSION[v2022.1] = "2.6-xilinx-v2022.1%" 56XILINX_ATF_VERSION[v2022.1] = "2.6-xilinx-v2022.1%"
56XILINX_ATF_VERSION[v2022.2] = "2.6-xilinx-v2022.2%" 57XILINX_ATF_VERSION[v2022.2] = "2.6-xilinx-v2022.2%"
58XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%"
57PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 59PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
58 60
59XILINX_UBOOT_VERSION[v2022.1] = "v2021.01-xilinx-v2022.1%" 61XILINX_UBOOT_VERSION[v2022.1] = "v2021.01-xilinx-v2022.1%"
60XILINX_UBOOT_VERSION[v2022.2] = "v2021.01-xilinx-v2022.2%" 62XILINX_UBOOT_VERSION[v2022.2] = "v2021.01-xilinx-v2022.2%"
63XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%"
61 64
62PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 65PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
63PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 66PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
64 67
65XILINX_LINUX_VERSION[v2022.1] = "5.15.19-xilinx-v2022.1%" 68XILINX_LINUX_VERSION[v2022.1] = "5.15.19-xilinx-v2022.1%"
66XILINX_LINUX_VERSION[v2022.2] = "5.15.36-xilinx-v2022.2%" 69XILINX_LINUX_VERSION[v2022.2] = "5.15.36-xilinx-v2022.2%"
70XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%"
67PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 71PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
72
73# Add support to eSDK for gen-machine-conf if it exists
74PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts"
75IMAGE_CLASSES += "gen-machine-conf"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/open-amp-device-tree.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/open-amp-device-tree.bb
index 9f481fec..8f77bd54 100644
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/open-amp-device-tree.bb
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/open-amp-device-tree.bb
@@ -11,8 +11,6 @@ SRC_URI = " \
11 file://zynqmp-openamp-overlay.dts \ 11 file://zynqmp-openamp-overlay.dts \
12 file://versal-openamp.dtsi \ 12 file://versal-openamp.dtsi \
13 file://versal-openamp-overlay.dts \ 13 file://versal-openamp-overlay.dts \
14 file://versal-net-openamp.dtsi \
15 file://versal-net-openamp-overlay.dts \
16" 14"
17 15
18# We don't have anything to include from the kernel 16# We don't have anything to include from the kernel
@@ -21,7 +19,6 @@ KERNEL_INCLUDE = ""
21COMPATIBLE_MACHINE:zynq = "${MACHINE}" 19COMPATIBLE_MACHINE:zynq = "${MACHINE}"
22COMPATIBLE_MACHINE:zynqmp = "${MACHINE}" 20COMPATIBLE_MACHINE:zynqmp = "${MACHINE}"
23COMPATIBLE_MACHINE:versal = "${MACHINE}" 21COMPATIBLE_MACHINE:versal = "${MACHINE}"
24COMPATIBLE_MACHINE:versal-net = "${MACHINE}"
25 22
26inherit devicetree image-artifact-names features_check 23inherit devicetree image-artifact-names features_check
27 24
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb
new file mode 100644
index 00000000..30ca3501
--- /dev/null
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.1.bb
@@ -0,0 +1,15 @@
1SRCBRANCH ?= "2023.1"
2SRCREV = "be635252271de342014a146825870b64bd41d6eb"
3BRANCH = "xlnx_rel_v2023.1"
4LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4"
5PV = "${SRCBRANCH}+git${SRCPV}"
6
7REPO = "git://github.com/Xilinx/libmetal.git;protocol=https"
8
9include ${LAYER_PATH_openamp-layer}/recipes-openamp/libmetal/libmetal.inc
10
11RPROVIDES:${PN}-dbg += "libmetal-dbg"
12RPROVIDES:${PN}-dev += "libmetal-dev"
13RPROVIDES:${PN}-lic += "libmetal-lic"
14RPROVIDES:${PN}-src += "libmetal-src"
15RPROVIDES:${PN}-staticdev += "libmetal-staticdev"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb
new file mode 100644
index 00000000..e295b869
--- /dev/null
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.1.bb
@@ -0,0 +1,16 @@
1SRCBRANCH ?= "2023.1"
2SRCREV = "c8aaf2f26d5493f492f0af09dd558d45908636da"
3BRANCH = "xlnx_rel_v2023.1"
4LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505"
5PV = "${SRCBRANCH}+git${SRCPV}"
6REPO = "git://github.com/Xilinx/open-amp.git;protocol=https"
7
8include ${LAYER_PATH_openamp-layer}/recipes-openamp/open-amp/open-amp.inc
9require ${LAYER_PATH_openamp-layer}/vendor/xilinx/recipes-openamp/open-amp/open-amp-xlnx.inc
10
11RPROVIDES:${PN}-dbg += "open-amp-dbg"
12RPROVIDES:${PN}-dev += "open-amp-dev"
13RPROVIDES:${PN}-lic += "open-amp-lic"
14RPROVIDES:${PN}-src += "open-amp-src"
15RPROVIDES:${PN}-staticdev += "open-amp-staticdev"
16
diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend
index db4f4820..0440b1bc 100644
--- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend
+++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend
@@ -1,5 +1,7 @@
1SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2022.x;protocol=https" 1SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https"
2SRCREV = "cdb1a7b55c375f5237683a512257e0fc573063a2" 2SRCREV = "395f00d44ee259d5db6fd6165c6cd18c8fe40e2f"
3
4FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:"
3 5
4BASEVERSION = "1.1.0" 6BASEVERSION = "1.1.0"
5 7
diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf
new file mode 160000
Subproject a08b0e9e88b4c70336b12d57d4704343474d608
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.2.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.2.bb
index 787111b5..810b51fd 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.2.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.2.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine runtime" 1SUMMARY = "Xilinx AI Engine runtime"
2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" 2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP"
3 3
4require aie-rt.inc 4require aie-rt-2022.inc
5 5
6SECTION = "libs" 6SECTION = "libs"
7 7
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
new file mode 100644
index 00000000..6a4fd880
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
@@ -0,0 +1,47 @@
1SUMMARY = "Xilinx AI Engine runtime"
2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP"
3
4require aie-rt.inc
5
6SECTION = "libs"
7
8AIEDIR ?= "${S}/driver"
9S = "${WORKDIR}/git"
10I = "${AIEDIR}/include"
11
12COMPATIBLE_MACHINE = "^$"
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
15PV = "3.3"
16
17IOBACKENDS ?= "Linux"
18
19DEPENDS = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}"
20RDEPENDS:${PN} = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}"
21
22PROVIDES = "libxaiengine"
23RPROVIDES:${PN} = "libxaiengine"
24
25# The makefile isn't ready for parallel execution at the moment
26PARALLEL_MAKE = "-j 1"
27
28CFLAGS += "-Wall -Wextra -fno-thread-jumps -fno-tree-pre"
29CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'Linux', ' -D__AIELINUX__', '', d)}"
30CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'metal', ' -D__AIEMETAL__', '', d)}"
31EXTRA_OEMAKE = "-C ${AIEDIR}/src -f Makefile.Linux CFLAGS='${CFLAGS}'"
32
33
34do_compile(){
35 oe_runmake
36}
37
38do_install(){
39 install -d ${D}${includedir}
40 install ${I}/*.h ${D}${includedir}/
41 install -d ${D}${includedir}/xaiengine
42 install ${I}/xaiengine/*.h ${D}${includedir}/xaiengine/
43 install -d ${D}${libdir}
44 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir}
45}
46
47PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc
new file mode 100644
index 00000000..85121654
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc
@@ -0,0 +1,11 @@
1SECTION = "libs"
2
3REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https"
4
5BRANCH ?= "xlnx_rel_v2022.2"
6SRCREV ?= "ae24c8ede049906323510693f37e6167a963fd0e"
7
8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM ?= "file://license.txt;md5=b81abf1f508952331dd7d2ab36408f5b"
10
11SRC_URI = "${REPO};branch=${BRANCH}"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc
index 85121654..5eeb69d4 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc
@@ -2,8 +2,8 @@ SECTION = "libs"
2 2
3REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" 3REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https"
4 4
5BRANCH ?= "xlnx_rel_v2022.2" 5BRANCH ?= "xlnx_rel_v2023.1"
6SRCREV ?= "ae24c8ede049906323510693f37e6167a963fd0e" 6SRCREV ?= "1ad203de0b7f282b1c0659fd2ae3f218652c7274"
7 7
8LICENSE = "BSD-3-Clause" 8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM ?= "file://license.txt;md5=b81abf1f508952331dd7d2ab36408f5b" 9LIC_FILES_CHKSUM ?= "file://license.txt;md5=b81abf1f508952331dd7d2ab36408f5b"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.0.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.0.bb
index 641c39a9..7bb4b849 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.0.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.0.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" 1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)"
2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" 2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP"
3 3
4require aie-rt.inc 4require aie-rt-2022.inc
5 5
6SECTION = "devel" 6SECTION = "devel"
7 7
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
new file mode 100644
index 00000000..641c39a9
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
@@ -0,0 +1,33 @@
1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)"
2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP"
3
4require aie-rt.inc
5
6SECTION = "devel"
7
8XAIEFAL_DIR ?= "fal"
9S = "${WORKDIR}/git"
10
11COMPATIBLE_MACHINE = "^$"
12COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
13COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
14
15IOBACKENDS ?= "Linux"
16
17PROVIDES = "aiefal"
18ALLOW_EMPTY:${PN} = "1"
19
20inherit pkgconfig cmake
21
22DEPENDS = "libxaiengine"
23
24OECMAKE_SOURCEPATH = "${S}/${XAIEFAL_DIR}"
25
26EXTRA_OECMAKE = "-DWITH_TESTS=OFF "
27EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == 'y' else '-DWITH_EXAMPLES=OFF'}"
28
29FILES:${PN}-demos = " \
30 ${bindir}/* \
31"
32
33PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
new file mode 100644
index 00000000..2bcbe7d4
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
@@ -0,0 +1,8 @@
1ATF_VERSION = "2.8"
2SRCREV = "c9b71dc96f3f18ca94cad590612aae3224c8c84d"
3BRANCH = "xlnx_rebase_v2.8"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5
6
7include arm-trusted-firmware.inc
8
diff --git a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.1.bb b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.1.bb
new file mode 100644
index 00000000..a934230d
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.1.bb
@@ -0,0 +1,31 @@
1SUMMARY = "Building and installing bootgen"
2DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images"
3
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d526b6d0807bf263b97da1da876f39b1"
6
7S = "${WORKDIR}/git"
8
9DEPENDS += "openssl"
10RDEPENDS:${PN} += "openssl"
11
12REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https"
13BRANCH = "xlnx_rel_v2023.1"
14SRCREV = "4f1e1caf2c09cdeacc35cbeedaf2550c6e44c7fd"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}'
20CXXFLAGS:append = " -std=c++0x"
21
22TARGET_CC_ARCH += "${LDFLAGS}"
23
24do_install() {
25 install -d ${D}${bindir}
26 install -Dm 0755 ${S}/bootgen ${D}${bindir}
27}
28
29FILES:${PN} = "${bindir}/bootgen"
30
31BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb
new file mode 100644
index 00000000..a4149d39
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.1.bb
@@ -0,0 +1,72 @@
1SUMMARY = "Xilinx dfx-mgr libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and Binaries"
3
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d67bcef754e935bf77b6d7051bd62b5e"
6
7REPO ?= "git://github.com/Xilinx/dfx-mgr.git;protocol=https"
8BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
9SRC_URI = "${REPO};${BRANCHARG}"
10
11BRANCH = "xlnx_rel_v2023.1"
12SRCREV = "5918fb3406d828693cca484b77229ffd031b5dc4"
13SOMAJOR = "1"
14SOMINOR = "0"
15SOVERSION = "${SOMAJOR}.${SOMINOR}"
16
17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal"
20
21S = "${WORKDIR}/git"
22
23inherit cmake update-rc.d systemd
24
25DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm"
26RDEPENDS:${PN} += " freeipmi"
27EXTRA_OECMAKE += " \
28 -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \
29 "
30
31INITSCRIPT_NAME = "dfx-mgr.sh"
32INITSCRIPT_PARAMS = "start 99 S ."
33
34SYSTEMD_PACKAGES="${PN}"
35SYSTEMD_SERVICE:${PN}="dfx-mgr.service"
36SYSTEMD_AUTO_ENABLE:${PN}="enable"
37
38
39do_install(){
40 install -d ${D}${bindir}
41 install -d ${D}${libdir}
42 install -d ${D}${includedir}
43 install -d ${D}${base_libdir}/firmware/xilinx
44 install -d ${D}${sysconfdir}/dfx-mgrd
45
46 cp ${B}/example/sys/linux/dfx-mgrd-static ${D}${bindir}/dfx-mgrd
47 cp ${B}/example/sys/linux/dfx-mgr-client-static ${D}${bindir}/dfx-mgr-client
48 chrpath -d ${D}${bindir}/dfx-mgrd
49 chrpath -d ${D}${bindir}/dfx-mgr-client
50 install -m 0644 ${S}/src/dfxmgr_client.h ${D}${includedir}
51
52 oe_soinstall ${B}/src/libdfx-mgr.so.${SOVERSION} ${D}${libdir}
53
54 install -m 0755 ${S}/src/daemon.conf ${D}${sysconfdir}/dfx-mgrd/
55
56 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
57 install -d ${D}${sysconfdir}/init.d/
58 install -m 0755 ${S}/src/dfx-mgr.sh ${D}${sysconfdir}/init.d/
59 fi
60
61 install -m 0755 ${S}/src/dfx-mgr.sh ${D}${bindir}
62 install -m 0755 ${S}/src/scripts/xlnx-firmware-detect ${D}${bindir}
63
64 install -d ${D}${systemd_system_unitdir}
65 install -m 0644 ${S}/src/dfx-mgr.service ${D}${systemd_system_unitdir}
66}
67
68PACKAGES =+ "libdfx-mgr"
69
70FILES:${PN} += "${base_libdir}/firmware/xilinx"
71FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${sysconfdir}/init.d/dfx-mgr.sh', '', d)} ${systemd_system_unitdir}"
72FILES:libdfx-mgr = "${libdir}/libdfx-mgr.so.${SOVERSION} ${libdir}/libdfx-mgr.so.${SOMAJOR}"
diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb
new file mode 100644
index 00000000..287246c2
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.1.bb
@@ -0,0 +1,23 @@
1SUMMARY = "Xilinx libdfx library"
2DESCRIPTION = "Xilinx libdfx Library and headers"
3
4LICENSE = "MIT & GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=94aba86aec117f003b958a52f019f1a7"
6
7BRANCH ?= "xlnx_rel_v2023.1"
8REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https"
9BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
10SRC_URI = "${REPO};${BRANCHARG}"
11SRCREV = "52c1d83c72a2b2e85d256411a199ed1baed12ae1"
12
13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:versal = "versal"
16
17S = "${WORKDIR}/git"
18
19inherit cmake
20
21# Due to an update where the soname/version was defined, we need to use an RREPLACES
22# so updates will work properly.
23RREPLACES:${PN} = "libdfx"
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb
new file mode 100644
index 00000000..fe5ecf79
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb
@@ -0,0 +1,21 @@
1require u-boot-tools-xlnx.inc
2require u-boot-xlnx-2023.1.inc
3
4# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct
5# bmp_logo.h
6SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"'
7
8# Default do_compile fails with:
9# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates.
10# The regular workaround of calling 'git diff' seems to be problematic.
11do_compile () {
12 oe_runmake -C ${S} tools-only_defconfig O=${B}
13
14 # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
15 # generating it requires bin2header tool, which for target build
16 # is built with target tools and thus cannot be executed on host.
17 sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config
18
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20}
21
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic-top.h b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic-top.h
new file mode 100644
index 00000000..be823421
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic-top.h
@@ -0,0 +1,8 @@
1/*
2 * This file is use for addition u-boot configurations for microblaze.
3 */
4#include <configs/microblaze-generic.h>
5
6/* Core microblaze boot configurations */
7#define XILINX_USE_ICACHE 1
8#define XILINX_USE_DCACHE 1
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic.cfg b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic.cfg
new file mode 100644
index 00000000..3c911a06
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2023.01/microblaze-generic.cfg
@@ -0,0 +1,83 @@
1# SPDX-License-Identifier: MIT
2
3#........................................................................
4# WARNING
5#
6# This file is a u-boot configuration fragment, and not a full u-boot
7# configuration file. The final u-boot configuration is made up of
8# an assembly of processed fragments, each of which is designed to
9# capture a specific part of the final configuration (e.g. platform
10# configuration, feature configuration, and board specific hardware
11# configuration). For more information on u-boot configuration, please
12# refer the product documentation.
13#
14#.......................................................................
15
16#
17# Definitions for Generic Microbalze machine.
18#
19CONFIG_BOOTDELAY=4
20CONFIG_TEXT_BASE=0x80100000
21CONFIG_SYS_PROMPT="U-Boot>"
22CONFIG_SYS_CONFIG_NAME="microblaze-generic-top"
23CONFIG_BOOT_SCRIPT_OFFSET=0x1F00000
24# CONFIG_SYS_NS16550 is not set
25# CONFIG_SYS_FLASH_USE_BUFFER_WRITE is not set
26# CONFIG_SYS_FLASH_CFI is not set
27# CONFIG_FLASH_CFI_DRIVER is not set
28# CONFIG_CMD_FLASH is not set
29# CONFIG_CMD_IMLS is not set
30# CONFIG_MTD_NOR_FLASH is not set
31# CONFIG_MTD_DEVICE is not set
32# CONFIG_SYS_FLASH_PROTECTION is not set
33# CONFIG_SPI_FLASH_SST is not set
34# CONFIG_XILINX_EMACLITE is not set
35# CONFIG_PHY_VITESSE is not set
36# CONFIG_CMD_EXT2 is not set
37# CONFIG_CMD_EXT4 is not set
38# CONFIG_CMD_EXT4_WRITE is not set
39# CONFIG_CMD_FAT is not set
40# CONFIG_DOS_PARTITION is not set
41# CONFIG_FAT_WRITE is not set
42CONFIG_DM=y
43CONFIG_SYS_MALLOC_F=y
44CONFIG_XILINX_UARTLITE=y
45CONFIG_XILINX_AXIEMAC=y
46CONFIG_PHY_XILINX=y
47CONFIG_PHY_TI=y
48CONFIG_NET=y
49CONFIG_PHY_GIGE=y
50CONFIG_NETDEVICES=y
51CONFIG_CMD_NET=y
52CONFIG_DM_ETH=y
53CONFIG_CMD_PING=y
54CONFIG_CMD_DHCP=y
55CONFIG_PHYLIB=y
56CONFIG_CMD_TFTPPUT=y
57CONFIG_CMD_NFS=y
58CONFIG_CMD_MII=y
59CONFIG_PHY_MARVELL=y
60CONFIG_PHY_REALTEK=y
61CONFIG_PHY_NATSEMI=y
62CONFIG_XILINX_SPI=y
63CONFIG_CMD_SPI=y
64CONFIG_CMD_SF=y
65CONFIG_SPI_FLASH=y
66CONFIG_SPI_FLASH_BAR=y
67CONFIG_DM_SPI_FLASH=y
68CONFIG_DM_SPI=y
69CONFIG_SPI_FLASH_SPANSION=y
70CONFIG_SPI_FLASH_STMICRO=y
71CONFIG_SPI_FLASH_WINBOND=y
72CONFIG_SPI_FLASH_MACRONIX=y
73CONFIG_SPI=y
74CONFIG_SPI_FLASH_ISSI=y
75# CONFIG_BOOTARGS is not set
76# CONFIG_USE_BOOTARGS is not set
77# CONFIG_SPL is not set
78# CONFIG_I2C_EEPROM is not set
79# CONFIG_CMD_EEPROM is not set
80# CONFIG_SYS_I2C_EEPROM_ADDR is not set
81# CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW is not set
82CONFIG_DCACHE=y
83CONFIG_ICACHE=y
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc
new file mode 100644
index 00000000..01082966
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc
@@ -0,0 +1,17 @@
1UBOOT_VERSION = "v2023.01"
2
3UBRANCH = "xlnx_rebase_v2023.01"
4
5SRCREV = "40a08d69e749c0472103551c85c02c41f979453d"
6
7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
9
10# u-boot-xlnx has support for these
11HAS_PLATFORM_INIT ?= " \
12 xilinx_zynqmp_virt_config \
13 xilinx_zynq_virt_defconfig \
14 xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
15 "
16
17DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb
new file mode 100644
index 00000000..fd76bc51
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb
@@ -0,0 +1,4 @@
1
2require u-boot-xlnx.inc
3require u-boot-spl-zynq-init.inc
4require u-boot-xlnx-2023.1.inc
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend
new file mode 100644
index 00000000..fd3a3c11
--- /dev/null
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbppend
@@ -0,0 +1,5 @@
1# Minimum board memory required for each type
2QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G"
5QB_MEM:versal = "-m 16G"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb
new file mode 100644
index 00000000..91e787bd
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb
@@ -0,0 +1,6 @@
1
2require qemu-devicetrees.inc
3
4BRANCH ?= "xlnx_rel_v2023.1"
5SRCREV ?= "1c45adcde1fc06432c01be250bf668c6477d8459"
6
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc
new file mode 100644
index 00000000..06ac05a1
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc
@@ -0,0 +1,3 @@
1XILINX_QEMU_VERSION = "v7.1.0"
2BRANCH = "xlnx_rel_v2023.1"
3SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb
new file mode 100644
index 00000000..06711fd9
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb
@@ -0,0 +1,9 @@
1require qemu-xilinx-2023.1.inc
2require qemu-xilinx-native-7.1.inc
3require qemu-native-alt.inc
4
5BPN = "qemu-xilinx"
6
7EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
8
9PACKAGECONFIG ??= "pie"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb
new file mode 100644
index 00000000..1e738530
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb
@@ -0,0 +1,26 @@
1require qemu-system-native-alt.inc
2require qemu-xilinx-2023.1.inc
3require qemu-xilinx-native-7.1.inc
4
5PROVIDES = "qemu-system-native"
6
7EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
8
9PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp"
10
11PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
12
13DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native"
14DEPENDS += "qemu-xilinx-multiarch-helper-native"
15
16do_install:append() {
17 # The following is also installed by qemu-native
18 rm -f ${D}${datadir}/qemu/trace-events-all
19 rm -rf ${D}${datadir}/qemu/keymaps
20 rm -rf ${D}${datadir}/icons
21 rm -rf ${D}${includedir}/qemu-plugin.h
22
23 # Install qmp.py to be used with testimage
24 install -d ${D}${libdir}/qemu-python/qmp/
25 install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/
26}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb
new file mode 100644
index 00000000..6c1851ba
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb
@@ -0,0 +1,24 @@
1require qemu-xilinx-2023.1.inc
2require recipes-devtools/qemu/qemu.inc
3require qemu-xilinx-7.1.inc
4require qemu-alt.inc
5
6# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
7DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
8MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
9PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
10
11BBCLASSEXTEND = "nativesdk"
12
13RDEPENDS:${PN}:class-target += "bash"
14
15PROVIDES:class-nativesdk = "nativesdk-qemu"
16RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu"
17
18EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
19EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
20EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
21
22do_install:append:class-nativesdk() {
23 ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
24}
diff --git a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb b/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb
index e3113b4d..07de26dc 100644
--- a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb
+++ b/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb
@@ -13,8 +13,8 @@ PROVIDES += "virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm"
13FILESEXTRAPATHS:prepend := "${THISDIR}/files:" 13FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
14 14
15REPO ?= "git://github.com/Xilinx/mali-userspace-binaries.git;protocol=https" 15REPO ?= "git://github.com/Xilinx/mali-userspace-binaries.git;protocol=https"
16BRANCH ?= "xlnx_rel_v2022.2" 16BRANCH ?= "xlnx_rel_v2023.1"
17SRCREV ?= "a1a22c9f03b20d8cb70b91727fe51c1db7f4b061" 17SRCREV ?= "b3a772aad859cdadc8513b11c3e995546c20e75e"
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19 19
20PV = "r9p0-01rel0" 20PV = "r9p0-01rel0"
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb
new file mode 100644
index 00000000..28770994
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.1.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "6.1.0"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2023.1"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "5b0969ac09f301c33bccc140c8f60e832f5cf222"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.1.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.1.bb
new file mode 100644
index 00000000..20acb8b3
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.1.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx HDMI Linux Kernel module"
2DESCRIPTION = "Out-of-tree HDMI kernel modules provider for MPSoC EG/EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b34277fe156508fd5a650609dc36d1fe"
6
7XLNX_HDMI_VERSION = "6.1"
8PV = "${XLNX_HDMI_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2023.1"
13REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https"
14SRCREV = "1c6330f02fea68992e22400fdbc8c0d0e63e2958"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-microblaze.inc b/meta-xilinx-core/recipes-kernel/linux/linux-microblaze.inc
index 40fdc70a..a2f15adb 100644
--- a/meta-xilinx-core/recipes-kernel/linux/linux-microblaze.inc
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-microblaze.inc
@@ -1,5 +1,4 @@
1SRC_URI += " \ 1SRC_URI += " \
2 file://mb-no-tree-loop-distribute-patterns.patch \
3 file://microblaze_generic.cfg \ 2 file://microblaze_generic.cfg \
4 " 3 "
5 4
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.1.bb
new file mode 100644
index 00000000..6740a459
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.1.bb
@@ -0,0 +1,11 @@
1LINUX_VERSION = "6.1.5"
2YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta"
3KBRANCH="xlnx_rebase_v6.1_LTS"
4SRCREV = "716921b6d7dc9db49660369428fb61ca96947ccb"
5SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f"
6
7KCONF_AUDIT_LEVEL="0"
8
9include linux-xlnx.inc
10
11FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops.bb b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops.bb
index 38ec473b..2648c372 100644
--- a/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops.bb
+++ b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops.bb
@@ -8,9 +8,10 @@ RDEPENDS:${PN} += "lopper"
8SRC_URI = " \ 8SRC_URI = " \
9 file://lop-microblaze-yocto.dts \ 9 file://lop-microblaze-yocto.dts \
10 file://lop-xilinx-id-cpus.dts \ 10 file://lop-xilinx-id-cpus.dts \
11 file://lop-machine-name.dts \
11 " 12 "
12 13
13LIC_FILES_CHKSUM = "file://lop-microblaze-yocto.dts;endline=8;md5=a0e89d39fa397ec5d5320409ff701280" 14LIC_FILES_CHKSUM = "file://lop-microblaze-yocto.dts;endline=10;md5=27139f9b862dc6fe466c7157aba7ed9c"
14 15
15S = "${WORKDIR}" 16S = "${WORKDIR}"
16 17
@@ -23,6 +24,7 @@ do_install() {
23 mkdir -p ${D}/${PYTHON_SITEPACKAGES_DIR}/lopper/lops 24 mkdir -p ${D}/${PYTHON_SITEPACKAGES_DIR}/lopper/lops
24 cp ${S}/lop-microblaze-yocto.dts ${D}/${PYTHON_SITEPACKAGES_DIR}/lopper/lops/. 25 cp ${S}/lop-microblaze-yocto.dts ${D}/${PYTHON_SITEPACKAGES_DIR}/lopper/lops/.
25 cp ${S}/lop-xilinx-id-cpus.dts ${D}/${PYTHON_SITEPACKAGES_DIR}/lopper/lops/. 26 cp ${S}/lop-xilinx-id-cpus.dts ${D}/${PYTHON_SITEPACKAGES_DIR}/lopper/lops/.
27 cp ${S}/lop-machine-name.dts ${D}/${PYTHON_SITEPACKAGES_DIR}/lopper/lops/.
26} 28}
27 29
28FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/lopper/lops" 30FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/lopper/lops"
diff --git a/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-machine-name.dts b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-machine-name.dts
new file mode 100644
index 00000000..0fb5649a
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-machine-name.dts
@@ -0,0 +1,44 @@
1/*
2 * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
3 *
4 * Author:
5 * Mark Hatle <mark.hatle@amd.com>
6 *
7 * SPDX-License-Identifier: BSD-3-Clause
8 */
9
10/dts-v1/;
11
12/ {
13 compatible = "system-device-tree-v1,lop";
14 lops {
15 compatible = "system-device-tree-v1,lop";
16 track_feature: track_feature {
17 compatible = "system-device-tree-v1,lop,code-v1";
18 noexec;
19 code = "
20 # print( 'track: lopper library routine: %s' % node )
21 try:
22 node.tunes[prop] = prop
23 except:
24 pass
25 ";
26 };
27 lop_0_1 {
28 compatible = "system-device-tree-v1,lop,select-v1";
29 select_1;
30 select_2 = "/";
31 lop_0_2 {
32 compatible = "system-device-tree-v1,lop,code-v1";
33 inherit = "subsystem";
34 code = "
35 for n in tree.__selected__:
36 mach_name = n['compatible'].value[0].replace(',','-').replace('.','-')
37 model = n['model'].value[0]
38 device_id = n['device_id'].value[0]
39 print( '%s %s %s' % (mach_name.lower(), device_id, model) )
40 ";
41 };
42 };
43 };
44};
diff --git a/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts
index 72eb4665..5e5f7986 100644
--- a/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts
+++ b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-microblaze-yocto.dts
@@ -1,8 +1,10 @@
1/* 1/*
2 * Copyright (c) 2020 Xilinx Inc. All rights reserved. 2 * Copyright (c) 2020 Xilinx Inc. All rights reserved.
3 * Copyright (c) 2023 Advanced Micro Devices, Inc. All rights reserved.
3 * 4 *
4 * Author: 5 * Author:
5 * Bruce Ashfield <bruce.ashfield@xilinx.com> 6 * Bruce Ashfield <bruce.ashfield@amd.com>
7 * Mark Hatle <mark.hatle@amd.com>
6 * 8 *
7 * SPDX-License-Identifier: BSD-3-Clause 9 * SPDX-License-Identifier: BSD-3-Clause
8 */ 10 */
@@ -38,13 +40,16 @@
38 n.tunes = OrderedDict() 40 n.tunes = OrderedDict()
39 n.tunes['microblaze'] = 'microblaze' 41 n.tunes['microblaze'] = 'microblaze'
40 n.tunes['version'] = 'v9.2' 42 n.tunes['version'] = 'v9.2'
43 n.tune_type = val.split('-')[0]
41 44
42 if val == 'pmc-microblaze' or val == 'psm-microblaze': 45 elif val == 'pmc-microblaze' or val == 'psm-microblaze':
43 n.tunes = OrderedDict() 46 n.tunes = OrderedDict()
44 n.tunes['microblaze'] = 'microblaze' 47 n.tunes['microblaze'] = 'microblaze'
45 n.tunes['version'] = 'v10.0' 48 n.tunes['version'] = 'v10.0'
49 n.tune_type = val.split('-')[0]
46 50
47 n.tune_type = val 51 else:
52 n.tune_type = re.split('@', n.name)[0]
48 "; 53 ";
49 }; 54 };
50 }; 55 };
@@ -225,18 +230,16 @@
225 compatible = "system-device-tree-v1,lop,code-v1"; 230 compatible = "system-device-tree-v1,lop,code-v1";
226 code = " 231 code = "
227 cpu_addr = 0 232 cpu_addr = 0
233 firmware_cpus = {}
228 for n in __selected__: 234 for n in __selected__:
229 tname = re.split('@', n.name) 235 tname = 'microblaze-'+n.tune_type
230 tname = tname[0]+str(cpu_addr) 236 if n.tune_type == 'cpu':
231 cpu_addr += 1 237 tname = tname + str(cpu_addr)
232 print( 'AVAILTUNES += \"microblaze-%s\"' % tname ) 238 cpu_addr += 1
233 print( 'TUNE_FEATURES:tune-microblaze-%s = \"' % tname, end='' ) 239 print( '# %s\\n# compatible = \"%s\";' % (n, n['compatible'].value[0]))
234 for t in n.tunes.values(): 240 print( 'AVAILTUNES += \"%s\"' % tname )
235 print( ' %s' % t, end='' ) 241 print( 'TUNE_FEATURES:tune-%s = \"%s\"' % (tname, ' '.join(n.tunes.values())))
236 print( '\"' ) 242 print( 'PACKAGE_EXTRA_ARCHS:tune-%s = \"${TUNE_PKGARCH}\"\\n' % tname )
237 print( 'PACKAGE_EXTRA_ARCHS:tune-microblaze-%s = \"${TUNE_PKGARCH}\"' % tname )
238 print( 'TUNE_FEATURES:tune-%s = \"${TUNE_FEATURES:tune-microblaze-%s}\"\\n' % (n.tune_type,tname) )
239
240 "; 243 ";
241 }; 244 };
242 }; 245 };
diff --git a/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts
index 67d68bba..1468801a 100644
--- a/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts
+++ b/meta-xilinx-core/recipes-kernel/lopper/xilinx-lops/lop-xilinx-id-cpus.dts
@@ -104,19 +104,27 @@
104 inherit = "lopper_lib"; 104 inherit = "lopper_lib";
105 code = " 105 code = "
106 cpu_output = {} 106 cpu_output = {}
107 symbol_node = node.tree['/__symbols__']
108 prop_dict = symbol_node.__props__
107 for c in __selected__: 109 for c in __selected__:
110 num_cpu = 0
108 for c_node in c.subnodes( children_only = True ): 111 for c_node in c.subnodes( children_only = True ):
109 try: 112 try:
110 cpu_node = c_node['device_type'].value[0] 113 cpu_node = c_node['device_type'].value[0]
114 num_cpu = c_node['reg'].value[0]
115 num_cpu = num_cpu + 1
111 except: 116 except:
112 cpu_node = None 117 cpu_node = None
113 if cpu_node: 118 if cpu_node:
114 if c_node.ref == 0: 119 match = [label for label,node_abs in prop_dict.items() if re.match(node_abs[0], c_node.abs_path) and len(node_abs[0]) == len(c_node.abs_path)]
120 cpu_name = match[0]
121 if num_cpu != 0:
115 cpu_type = c_node['compatible'].value[0] 122 cpu_type = c_node['compatible'].value[0]
116 cpu_output[cpu_type] = '{} {} {}'.format(cpu_type,'None','None') 123 dict_key = cpu_name + str(num_cpu)
124 cpu_output[dict_key] = '{} {} {} {} {}'.format(cpu_type, num_cpu-1, 'None', cpu_name, 'None')
117 125
118 if cpu_output: 126 if cpu_output:
119 print( '# global no-domain cpus' ) 127 print( '# global core_number no-domain cpu_name' )
120 128
121 for o in cpu_output.values(): 129 for o in cpu_output.values():
122 print( '%s' % o ) 130 print( '%s' % o )
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.1.bb
new file mode 100644
index 00000000..9adfcade
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.1.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Linux kernel module for Video Code Unit"
2DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XILINX_VCU_VERSION = "1.0.0"
8PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
13
14BRANCH = "xlnx_rel_v2023.1"
15REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https"
16SRCREV = "4afe0ab4eb3b7f2d17bcb823dee0caa0f03ab7a0"
17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = " \
20 ${REPO};${BRANCHARG} \
21 file://99-vcu-enc-dec.rules \
22 "
23
24inherit module features_check
25
26REQUIRED_MACHINE_FEATURES = "vcu"
27
28EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
29
30RDEPENDS:${PN} = "vcu-firmware"
31
32KERNEL_MODULE_AUTOLOAD += "dmaproxy"
33
34do_install:append() {
35 install -d ${D}${sysconfdir}/udev/rules.d
36 install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
37}
38
39FILES:${PN} = "${sysconfdir}/udev/rules.d/*"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
new file mode 100644
index 00000000..3c258008
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
@@ -0,0 +1,51 @@
1SUMMARY = "OpenMAX Integration layer for VCU"
2DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5375796c5ae4ee85ea1f2c1603e58509"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2023.1"
10REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https"
11SRCREV = "4773b372b72b88ccbabc122b023f042fb22a019e"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24DEPENDS = "libvcu-xlnx"
25RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx"
26
27EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
28
29EXTRA_OEMAKE = " \
30 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
31 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
32 "
33
34do_install() {
35 install -d ${D}${libdir}
36 install -d ${D}${includedir}/vcu-omx-il
37
38 install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
39
40 install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder
41 install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder
42
43 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
44 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
45 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
46}
47
48# These libraries shouldn't get installed in world builds unless something
49# explicitly depends upon them.
50
51EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
new file mode 100644
index 00000000..7dc97d72
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
@@ -0,0 +1,44 @@
1SUMMARY = "Control Software for VCU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=5375796c5ae4ee85ea1f2c1603e58509"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2023.1"
10REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https"
11SRCREV = "83aabb84c26667f7d6aee632654c63e504838061"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22RDEPENDS:${PN} = "kernel-module-vcu"
23
24EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
25
26do_install() {
27 install -d ${D}${libdir}
28 install -d ${D}${includedir}/vcu-ctrl-sw/include
29
30 install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder
31 install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder
32
33 oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include
34 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
35 oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
36}
37
38# These libraries shouldn't get installed in world builds unless something
39# explicitly depends upon them.
40
41EXCLUDE_FROM_WORLD = "1"
42
43# Disable buildpaths QA check warnings.
44INSANE_SKIP:${PN} += "buildpaths"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
new file mode 100644
index 00000000..50e7926d
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
@@ -0,0 +1,38 @@
1SUMMARY = "Firmware for VCU"
2DESCRIPTION = "Firmware binaries provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6da65299754e921b31f03e9b11d77a74"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9S = "${WORKDIR}/git"
10
11BRANCH ?= "xlnx_rel_v2023.1"
12REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https"
13SRCREV = "c90288595ac9a12ff401de6dfa680b1f9adce5f6"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22do_install() {
23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw
24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw
27}
28
29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*"
33
34# These libraries shouldn't get installed in world builds unless something
35# explicitly depends upon them.
36EXCLUDE_FROM_WORLD = "1"
37
38INSANE_SKIP:${PN} = "ldflags"
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules b/meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules
new file mode 100644
index 00000000..78bb54f4
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vdu/files/99-vdu-enc-dec.rules
@@ -0,0 +1,4 @@
1# Allegro VDU Encode, Decoder module drivers
2SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP[0-4]*", MODE="0660", GROUP="video", TAG+="uaccess"
3
4
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb
new file mode 100644
index 00000000..a1396278
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb
@@ -0,0 +1,41 @@
1SUMMARY = "Linux kernel module for Video Decode Unit"
2DESCRIPTION = "Out-of-tree VDU decoder common kernel modules"
3SECTION = "kernel/modules"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XILINX_VDU_VERSION = "1.0.0"
8PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
12
13BRANCH ?= "xlnx_rel_v2023.1"
14REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https"
15SRCREV ?= "82d06e395c93a1e941b83cccbb6f2e4e6d966f1c"
16
17BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
18SRC_URI = "${REPO};${BRANCHARG} \
19 file://99-vdu-enc-dec.rules \
20"
21
22inherit module features_check
23
24REQUIRED_MACHINE_FEATURES = "vdu"
25
26EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
27
28RDEPENDS:${PN} = "vdu-firmware"
29
30COMPATIBLE_MACHINE = "^$"
31COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
32COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge"
33
34PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
35
36do_install:append() {
37 install -d ${D}${sysconfdir}/udev/rules.d
38 install -m 0644 ${WORKDIR}/99-vdu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
39}
40
41FILES:${PN} = "${sysconfdir}/udev/rules.d/*"
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
new file mode 100644
index 00000000..82f3c4f5
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
@@ -0,0 +1,44 @@
1SUMMARY = "Control Software for VDU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VDU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f"
5
6XILINX_VDU_VERSION = "1.0.0"
7PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
8
9inherit autotools features_check
10
11REQUIRED_MACHINE_FEATURES = "vdu"
12
13BRANCH ?= "xlnx_rel_v2023.1"
14REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https"
15SRCREV ?= "06fc18b303b40d4fee7549ad162c22ee1bc31582"
16
17BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
18SRC_URI = "${REPO};${BRANCHARG}"
19
20S = "${WORKDIR}/git"
21
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
24COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge"
25
26PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
27
28RDEPENDS:${PN} = "kernel-module-vdu"
29
30do_compile[dirs] = "${S}"
31do_install[dirs] = "${S}"
32
33EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
34EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}"
35
36do_install:append() {
37
38 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
39}
40
41# These libraries shouldn't get installed in world builds unless something
42# explicitly depends upon them.
43
44EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
new file mode 100644
index 00000000..88b50193
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
@@ -0,0 +1,53 @@
1SUMMARY = "OpenMAX Integration layer for VDU"
2DESCRIPTION = "OMX IL Libraries,test application and headers for VDU"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f"
5
6XILINX_VDU_VERSION = "1.0.0"
7PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2023.1"
10REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https"
11SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG} \
15 "
16S = "${WORKDIR}/git"
17
18inherit autotools features_check
19
20REQUIRED_MACHINE_FEATURES = "vdu"
21
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
24COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge"
25
26PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
27
28DEPENDS = "libvdu-ctrlsw"
29RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw"
30
31EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include"
32
33do_compile[dirs] = "${S}"
34do_install[dirs] = "${S}"
35
36EXTRA_OEMAKE = " \
37 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
38 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
39 INSTALL_PATH=${D}${bindir} \
40 INCLUDE_INST_PATH=${D}${includedir} \
41 "
42
43do_install:append() {
44 install -d ${D}${libdir}
45
46 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
47 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
48}
49
50# These libraries shouldn't get installed in world builds unless something
51# explicitly depends upon them.
52
53EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb
new file mode 100755
index 00000000..e96e0d24
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb
@@ -0,0 +1,42 @@
1SUMMARY = "Firmware for VDU"
2DESCRIPTION = "Firmware binaries provider for VDU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c5784f63397086d836580d8785d1deb9"
5
6XILINX_VDU_VERSION = "1.0.0"
7PV = "${XILINX_VDU_VERSION}-xilinx-${XILINX_RELEASE_VERSION}+git${SRCPV}"
8
9S = "${WORKDIR}/git"
10
11inherit autotools features_check
12
13REQUIRED_MACHINE_FEATURES = "vdu"
14
15BRANCH ?= "xlnx_rel_v2023.1"
16REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https"
17SRCREV ?= "63fe2fce6e46d5bf03e33300a58a37d8568722ee"
18
19BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
20SRC_URI = "${REPO};${BRANCHARG}"
21
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
24COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge"
25
26PACKAGE_ARCH = "${SOC_FAMILY_ARCH}"
27EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware"
28
29do_compile[noexec] = "1"
30do_install[dirs] = "${S}"
31
32# Inhibit warnings about files being stripped
33INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
34INHIBIT_PACKAGE_STRIP = "1"
35FILES:${PN} = "/lib/firmware/*"
36
37
38# These libraries shouldn't get installed in world builds unless something
39# explicitly depends upon them.
40EXCLUDE_FROM_WORLD = "1"
41
42INSANE_SKIP:${PN} = "ldflags"
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc
index 19f8f8cd..3b150673 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc
@@ -3,6 +3,6 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '
3SRC_URI = "${REPO};${BRANCHARG}" 3SRC_URI = "${REPO};${BRANCHARG}"
4 4
5BRANCH= "2023.1" 5BRANCH= "2023.1"
6SRCREV= "f0c2e397211347dfa1ea92910712d481fe43f662" 6SRCREV= "64c933573e7e50a8aba939a74209590c2b739e8b"
7PV = "202310.2.15.0" 7PV = "202310.2.15.0"
8 8
diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md
index 99675b0a..8014265b 100644
--- a/meta-xilinx-standalone-experimental/README.md
+++ b/meta-xilinx-standalone-experimental/README.md
@@ -14,36 +14,47 @@ parts and pieces.
14**Note:** to use this layer you must REMOVE meta-xilinx-tools from your 14**Note:** to use this layer you must REMOVE meta-xilinx-tools from your
15project. meta-xilinx-tools is not compatible with this experimental 15project. meta-xilinx-tools is not compatible with this experimental
16approach. You may also have to remove other layers that depend 16approach. You may also have to remove other layers that depend
17on meta-xilinx-tools, such as meta-som. 17on meta-xilinx-tools, such as meta-kria and meta-system-controller.
18 18
19To use the experimental version of the embedded software (firmware) 19To use the experimental version of the embedded software (firmware)
20as well as system configuration, you must build the 'meta-xilinx-setup' 20as well as system configuration, you must build the 'meta-xilinx-setup'
21SDK. This SDK is passed a device tree, constructed from DTG++ and 21SDK. This SDK is passed a device tree, constructed from System Device tree and
22produces a number of configuration files. 22produces a number of configuration files.
23 23
24To build the setup SDK: 241. Remove meta-xilinx-tools, meta-kria and meta-system-controller, then add the decoupling layer
25 25```
26MACHINE=qemux86-64 bitbake meta-xilinx-setup 26$ bitbake-layers remove-layer meta-xilinx-tools
27 27$ bitbake-layers remove-layer meta-kria
28To install the setup SDK: 28$ bitbake-layers remove-layer meta-system-controller
29 29$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx/meta-xilinx-standalone-experimental
30./tmp/deploy/sdk/x86_64-xilinx-nativesdk-prestep-2021.2.sh -d prestep -y 30```
312. Build the setup SDK
32```
33$ bitbake meta-xilinx-setup
34```
353. Install the setup SDK:
36```
37$ .${TMPDIR}/tmp/deploy/sdk/x86_64-xilinx-nativesdk-prestep-2023.1....sh -d prestep -y
38```
31 39
32Then follow the instructions in the 'prestep/README-setup' file. 40Then follow the instructions in the 'prestep/README-setup' file.
33 41
34 42
35
36## Dependencies 43## Dependencies
37 44
38This layer depends on: 45This layer depends on:
39 46
40 URI: git://git.openembedded.org/bitbake 47 URI: https://git.yoctoproject.org/poky
48 layers: meta, meta-poky
49 branch: langdale
41 50
42 URI: git://git.openembedded.org/openembedded-core 51 URI: https://git.openembedded.org/meta-openembedded
43 layers: meta 52 layers: meta-oe
44 branch: master or xilinx current release version (e.g. hosister) 53 branch: langdale
45 54
46 URI: git://git.yoctoproject.org/meta-xilinx.git 55 URI:
56 https://git.yoctoproject.org/meta-xilinx (official version)
57 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release)
47 layers: meta-xilinx-core, meta-xilinx-bsp, meta-xilinx-standalone 58 layers: meta-xilinx-core, meta-xilinx-bsp, meta-xilinx-standalone
48 branch: master or xilinx current release version (e.g. hosister) 59 branch: langdale or amd xilinx release version (e.g. rel-v2023.1)
49 60
diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass
index f133662a..febdebad 100644
--- a/meta-xilinx-standalone-experimental/classes/esw.bbclass
+++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass
@@ -26,7 +26,7 @@ COMPATIBLE_HOST = ".*-elf"
26COMPATIBLE_HOST:arm = "[^-]*-[^-]*-eabi" 26COMPATIBLE_HOST:arm = "[^-]*-[^-]*-eabi"
27 27
28CONFIG_DTFILE ??= "" 28CONFIG_DTFILE ??= ""
29DTS_FILE = "${DEPLOY_DIR_IMAGE}/devicetree/${@os.path.basename(d.getVar('CONFIG_DTFILE'))}" 29DTS_FILE = "${DEPLOY_DIR_IMAGE}/devicetree/${@os.path.basename(d.getVar('CONFIG_DTFILE').replace('.dts','.dtb'))}"
30 30
31DEPENDS += "python3-pyyaml-native lopper-native device-tree python3-dtc-native" 31DEPENDS += "python3-pyyaml-native lopper-native device-tree python3-dtc-native"
32 32
@@ -48,9 +48,9 @@ def get_xlnx_cmake_machine(fam, d):
48def get_xlnx_cmake_processor(tune, machine, d): 48def get_xlnx_cmake_processor(tune, machine, d):
49 cmake_processor = tune 49 cmake_processor = tune
50 if tune.startswith('microblaze'): 50 if tune.startswith('microblaze'):
51 if (machine == 'microblaze-pmu'): 51 if (machine == 'psu_pmu_0'):
52 cmake_processor = 'pmu_microblaze' 52 cmake_processor = 'pmu_microblaze'
53 elif (machine == 'microblaze-plm'): 53 elif (machine == 'psv_pmc_0'):
54 cmake_processor = 'plm_microblaze' 54 cmake_processor = 'plm_microblaze'
55 else: 55 else:
56 cmake_processor = 'microblaze' 56 cmake_processor = 'microblaze'
@@ -79,6 +79,11 @@ cmake_do_generate_toolchain_file:append() {
79 # Will need this in the future to make cmake understand esw variables 79 # Will need this in the future to make cmake understand esw variables
80 # set( CMAKE_SYSTEM_NAME `echo elf | sed -e 's/^./\u&/' -e 's/^\(Linux\).*/\1/'` ) 80 # set( CMAKE_SYSTEM_NAME `echo elf | sed -e 's/^./\u&/' -e 's/^\(Linux\).*/\1/'` )
81 set( CMAKE_SYSTEM_NAME "${XLNX_CMAKE_SYSTEM_NAME}" ) 81 set( CMAKE_SYSTEM_NAME "${XLNX_CMAKE_SYSTEM_NAME}" )
82 set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${S}/cmake)
83 set( CMAKE_LIBRARY_PATH ${CMAKE_INSTALL_LIBDIR})
84 if ("${XLNX_CMAKE_PROCESSOR}" STREQUAL "plm_microblaze")
85 set( CMAKE_BUILD_TYPE Release)
86 endif()
82 add_definitions( "${XLNX_CMAKE_BSP_VARS}" ) 87 add_definitions( "${XLNX_CMAKE_BSP_VARS}" )
83EOF 88EOF
84} 89}
@@ -119,7 +124,7 @@ python do_generate_driver_data() {
119 src_dir = glob.glob(d.getVar('OECMAKE_SOURCEPATH')) 124 src_dir = glob.glob(d.getVar('OECMAKE_SOURCEPATH'))
120 machine = d.getVar('ESW_MACHINE') 125 machine = d.getVar('ESW_MACHINE')
121 126
122 driver_name = d.getVar('REQUIRED_DISTRO_FEATURES') 127 driver_name = d.getVar('REQUIRED_MACHINE_FEATURES')
123 128
124 if len(system_dt) == 0: 129 if len(system_dt) == 0:
125 bb.error("Couldn't find device tree %s" % d.getVar('DTS_FILE')) 130 bb.error("Couldn't find device tree %s" % d.getVar('DTS_FILE'))
diff --git a/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass b/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass
index 508da535..43e78191 100644
--- a/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass
+++ b/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass
@@ -6,7 +6,6 @@ do_configure:prepend() {
6 ( 6 (
7 cd ${S} 7 cd ${S}
8 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 8 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
9 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
10 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 9 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
11 ) 10 )
12} 11}
diff --git a/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc b/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc
index 2b461993..b252e609 100644
--- a/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc
+++ b/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc
@@ -2,11 +2,13 @@
2# meta-xilinx/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass 2# meta-xilinx/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass
3 3
4# Make it clear decoupling is 'experimental' in the version 4# Make it clear decoupling is 'experimental' in the version
5ESW_VER = "experimental" 5ESW_VER = "2023.1_sdt_experimental"
6 6
7REPO = "git://github.com/Xilinx/embeddedsw-experimental-dt-support.git;protocol=https" 7REPO = "git://github.com/Xilinx/embeddedsw-experimental-dt-support.git;protocol=https"
8 8
9ESW_BRANCH[experimental] = "xlnx_rel_v2022.1_sdt_experimental_beta" 9ESW_BRANCH[2023.1_sdt_experimental] = "xlnx_rel_v2023.1_sdt"
10ESW_REV[experimental] = "2f93defe078000965c8f7203da11817c9f0982d1" 10ESW_REV[2023.1_sdt_experimental] = "b47bfef27d7af0690add590b9c98e6fc51a1a1f6"
11LIC_FILES_CHKSUM[master] = '7c92de7a21a6613265035c28f4a92f48' 11LIC_FILES_CHKSUM[master] = '7c92de7a21a6613265035c28f4a92f48'
12LIC_FILES_CHKSUM[xlnx_rel_v2022.1_sdt_experimental_beta] = 'e26f53a7d6f58f4b1a9687099417225c' 12LIC_FILES_CHKSUM[xlnx_rel_v2022.1_sdt_experimental_beta] = 'e26f53a7d6f58f4b1a9687099417225c'
13LIC_FILES_CHKSUM[xlnx_rel_v2023.1_sdt_experimental] = 'ce611484168a6000bd35df68fc4f4290'
14LIC_FILES_CHKSUM[xlnx_rel_v2023.1_sdt] = 'ce611484168a6000bd35df68fc4f4290'
diff --git a/meta-xilinx-standalone-experimental/conf/layer.conf b/meta-xilinx-standalone-experimental/conf/layer.conf
index 54098905..12734173 100644
--- a/meta-xilinx-standalone-experimental/conf/layer.conf
+++ b/meta-xilinx-standalone-experimental/conf/layer.conf
@@ -12,6 +12,9 @@ BBFILE_COLLECTIONS += "xilinx-standalone-exp"
12BBFILE_PATTERN_xilinx-standalone-exp = "^${LAYERDIR}/" 12BBFILE_PATTERN_xilinx-standalone-exp = "^${LAYERDIR}/"
13BBFILE_PRIORITY_xilinx-standalone-exp = "7" 13BBFILE_PRIORITY_xilinx-standalone-exp = "7"
14 14
15# Allow other layers to find the root of this layer if necessary
16META_XILINX_STANDALONE_EXP_PATH = "${LAYERDIR}"
17
15LAYERDEPENDS_xilinx-standalone-exp = "core \ 18LAYERDEPENDS_xilinx-standalone-exp = "core \
16 xilinx \ 19 xilinx \
17 xilinx-standalone \ 20 xilinx-standalone \
@@ -20,3 +23,6 @@ LAYERDEPENDS_xilinx-standalone-exp = "core \
20 " 23 "
21 24
22LAYERSERIES_COMPAT_xilinx-standalone-exp = "mickledore" 25LAYERSERIES_COMPAT_xilinx-standalone-exp = "mickledore"
26
27# Aid debugging, show where the device trees are we are using
28BUILDCFG_VARS:append = " SYSTEM_DTFILE CONFIG_DTFILE"
diff --git a/meta-xilinx-standalone-experimental/conf/multiconfig/pmumc.conf b/meta-xilinx-standalone-experimental/conf/multiconfig/pmumc.conf
deleted file mode 100644
index 756ea94a..00000000
--- a/meta-xilinx-standalone-experimental/conf/multiconfig/pmumc.conf
+++ /dev/null
@@ -1,8 +0,0 @@
1MACHINE = "microblaze-pmu"
2DISTRO = "xilinx-standalone"
3TMPDIR = "${TOPDIR}/tmp-${MACHINE}-${TCLIBC}"
4
5# These should be temporary until the dtg repo has the correct design
6HDF_BASE ?= "file://"
7HDF_PATH ?= "${TOPDIR}/system.dsa"
8HDF_EXT ?= "dsa"
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb
index 8ffb01cb..d62779ae 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb
@@ -10,9 +10,10 @@ do_configure:prepend() {
10 ( 10 (
11 cd ${S} 11 cd ${S}
12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
13 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/ 13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
14 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 14 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
15 install -m 0644 ${CUSTOM_SRCFILE}/* ${S}/${ESW_COMPONENT_SRC}/ 15 install -m 0644 ${CUSTOM_SRCFILE}/* ${S}/${ESW_COMPONENT_SRC}/
16 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
16 ) 17 )
17} 18}
18 19
@@ -25,10 +26,10 @@ inherit image-artifact-names
25 26
26CUSTOM_APP_BASE_NAME ?= "${CUSTOM_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 27CUSTOM_APP_BASE_NAME ?= "${CUSTOM_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
27 28
28ESW_COMPONENT ??= "executable.elf" 29ESW_COMPONENT ??= "empty_application.elf"
29 30
30do_compile:append() { 31do_compile:append() {
31 ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/executable.bin 32 ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/empty_application.bin
32} 33}
33 34
34do_install() { 35do_install() {
@@ -38,7 +39,7 @@ do_install() {
38do_deploy() { 39do_deploy() {
39 install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.elf 40 install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.elf
40 ln -sf ${CUSTOM_APP_BASE_NAME}.elf ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.elf 41 ln -sf ${CUSTOM_APP_BASE_NAME}.elf ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.elf
41 install -m 0644 ${B}/executable.bin ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.bin 42 install -m 0644 ${B}/empty_application.bin ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.bin
42 ln -sf ${CUSTOM_APP_BASE_NAME}.bin ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.bin 43 ln -sf ${CUSTOM_APP_BASE_NAME}.bin ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.bin
43} 44}
44addtask deploy before do_build after do_install 45addtask deploy before do_build after do_install
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb
index f97240f8..8106684b 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb
index 5e58c601..f7eae1dc 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb
index e4a2b041..51b89b8e 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb
index bf892954..606fd01e 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb
index 0a28d3df..7f9d86e2 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
12 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb
index 0212dab2..4fc02f36 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
12 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb
index 16d9d030..1de5ef8c 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb
@@ -10,8 +10,9 @@ do_configure:prepend() {
10 ( 10 (
11 cd ${S} 11 cd ${S}
12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
13 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
14 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 13 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
14 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
15 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
15 ) 16 )
16} 17}
17 18
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb
index 84909f18..c59d816e 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
12 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb
index eea50f60..b9834e34 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
12 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb
index fac6ace0..0acc4b8f 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
12 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb
index 0c1b1f9b..00a9eaa6 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
12 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb
index 8973ee60..5f54caf9 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb
@@ -8,8 +8,9 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
12 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
13 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
13 ) 14 )
14} 15}
15 16
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb
index f2af00f6..1ece5a8c 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb
@@ -10,15 +10,16 @@ do_configure:prepend() {
10 ( 10 (
11 cd ${S} 11 cd ${S}
12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} memtest 12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} memtest
13 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
14 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 13 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
14 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
15 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
15 ) 16 )
16} 17}
17 18
18do_install() { 19do_install() {
19 install -d ${D}/${base_libdir}/firmware 20 install -d ${D}/${base_libdir}/firmware
20 # Note that we have to make the ELF executable for it to be stripped 21 # Note that we have to make the ELF executable for it to be stripped
21 install -m 0755 ${B}/memory_test* ${D}/${base_libdir}/firmware 22 install -m 0755 ${B}/memory_tests* ${D}/${base_libdir}/firmware
22} 23}
23 24
24inherit image-artifact-names 25inherit image-artifact-names
@@ -28,13 +29,13 @@ MEMORY_TESTS_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERS
28do_deploy() { 29do_deploy() {
29 30
30 # We need to deploy the stripped elf, hence why not doing it from ${D} 31 # We need to deploy the stripped elf, hence why not doing it from ${D}
31 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_test.elf ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.elf 32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.elf
32 ln -sf ${MEMORY_TESTS_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf 33 ln -sf ${MEMORY_TESTS_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
33 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/memory_test.elf ${WORKDIR}/package/${base_libdir}/firmware/memory_test.bin 34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin
34 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_test.bin ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.bin 35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.bin
35 ln -sf ${MEMORY_TESTS_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin 36 ln -sf ${MEMORY_TESTS_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
36} 37}
37 38
38addtask deploy before do_build after do_package 39addtask deploy before do_build after do_package
39 40
40FILES:${PN} = "${base_libdir}/firmware/memory_test*" 41FILES:${PN} = "${base_libdir}/firmware/memory_tests*"
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb
index 21422739..b6b15d5a 100644
--- a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb
@@ -10,8 +10,9 @@ do_configure:prepend() {
10 ( 10 (
11 cd ${S} 11 cd ${S}
12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 12 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
13 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
14 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 13 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
14 cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files
15 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
15 ) 16 )
16} 17}
17 18
@@ -29,13 +30,9 @@ python do_generate_app_data() {
29 if len(src_dir) == 0: 30 if len(src_dir) == 0:
30 bb.error("Couldn't find source dir %s" % d.getVar('OECMAKE_SOURCEPATH')) 31 bb.error("Couldn't find source dir %s" % d.getVar('OECMAKE_SOURCEPATH'))
31 32
32 driver_name = d.getVar('REQUIRED_DISTRO_FEATURES') 33 driver_name = d.getVar('REQUIRED_MACHINE_FEATURES')
33 command = ["lopper"] + ["-f"] + [system_dt[0]] + ["--"] + ["baremetal_gentestapp_xlnx"] + [machine] + [srcdir[0]] 34 command = ["lopper"] + ["-f"] + ["-O"] + [src_dir[0]] + [system_dt[0]] + ["--"] + ["baremetal_gentestapp_xlnx"] + [machine] + [srcdir[0]]
34 subprocess.run(command, check = True) 35 subprocess.run(command, check = True)
35 with open("file_list.txt", 'r') as fd:
36 for line in fd:
37 command = ["install"] + ["-m"] + ["0755"] + [line.strip()] + [src_dir[0]]
38 subprocess.run(command, check = True)
39} 36}
40addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot 37addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
41do_prepare_recipe_sysroot[rdeptask] = "do_unpack" 38do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
@@ -46,10 +43,10 @@ inherit image-artifact-names
46 43
47PERIPHERAL_TEST_BASE_NAME ?= "${PERIPHERAL_TEST_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" 44PERIPHERAL_TEST_BASE_NAME ?= "${PERIPHERAL_TEST_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}"
48 45
49ESW_COMPONENT ??= "executable.elf" 46ESW_COMPONENT ??= "peripheral_tests.elf"
50 47
51do_compile:append() { 48do_compile:append() {
52 ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/executable.bin 49 ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/peripheral_tests.bin
53} 50}
54 51
55do_install() { 52do_install() {
@@ -59,7 +56,7 @@ do_install() {
59do_deploy() { 56do_deploy() {
60 install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.elf 57 install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.elf
61 ln -sf ${PERIPHERAL_TEST_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf 58 ln -sf ${PERIPHERAL_TEST_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
62 install -m 0644 ${B}/executable.bin ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.bin 59 install -m 0644 ${B}/peripheral_tests.bin ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.bin
63 ln -sf ${PERIPHERAL_TEST_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin 60 ln -sf ${PERIPHERAL_TEST_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
64} 61}
65addtask deploy before do_build after do_install 62addtask deploy before do_build after do_install
diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend
index 43dcc106..d40f3cdb 100644
--- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend
+++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend
@@ -49,6 +49,7 @@ do_configure:prepend() {
49 else 49 else
50 bbwarn "Using the default psu_init.h, this may not work correctly." 50 bbwarn "Using the default psu_init.h, this may not work correctly."
51 fi 51 fi
52 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
52} 53}
53 54
54do_install() { 55do_install() {
diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend
index 8a72a184..cc6d757f 100644
--- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend
+++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend
@@ -10,6 +10,13 @@ ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/"
10 10
11ESW_COMPONENT = "versal_plm.elf" 11ESW_COMPONENT = "versal_plm.elf"
12 12
13do_configure:prepend() {
14 (
15 cd ${S}
16 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
17 )
18}
19
13do_compile:append() { 20do_compile:append() {
14 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin 21 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
15} 22}
diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend
index dd0a3d92..b5908d46 100644
--- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend
+++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend
@@ -8,7 +8,15 @@ inherit esw
8 8
9ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src" 9ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src"
10 10
11ESW_COMPONENT = "pmufw.elf" 11ESW_COMPONENT = "zynqmp_pmufw.elf"
12
13
14do_configure:prepend() {
15 (
16 cd ${S}
17 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
18 )
19}
12 20
13do_compile:append() { 21do_compile:append() {
14 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin 22 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend
index 9b3d6475..c4953ce7 100644
--- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend
+++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend
@@ -10,6 +10,13 @@ ESW_COMPONENT_SRC = "/lib/sw_apps/versal_psmfw/src/"
10 10
11ESW_COMPONENT = "versal_psmfw.elf" 11ESW_COMPONENT = "versal_psmfw.elf"
12 12
13do_configure:prepend() {
14 (
15 cd ${S}
16 install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC}
17 )
18}
19
13do_compile:append() { 20do_compile:append() {
14 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin 21 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
15} 22}
diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup b/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup
index 88046966..0a5736d8 100644
--- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup
+++ b/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup
@@ -1,25 +1,12 @@
1Document Version: 20211209 1Document Version: 20230112
2 2
3The Yocto Project setup for the new workflow is as follows. Be sure to read 3The Yocto Project setup for the System Device Tree workflow is as follows.
4everything below, as the steps will be updated in the future if the 4Be sure to read everything below, as the steps will be updated in the future
5setup script changes. 5if the setup script changes.
6 6
7The steps in this document expect that you have already built the setup 7The steps in this document expect that you have already built the setup
8(meta-xilinx-setup) SDK, and installed it. 8(meta-xilinx-setup) SDK, and installed it.
9 9
10* Configure you local.conf
11
12The following items should be in your conf/local.conf. This ensures that
13the correct configurations are available, and the correct firmware version
14is selected for this workflow.
15
16# Instruct the system to use the decoupling firmware sources,
17# add the following to the conf/local.conf:
18PREFERRED_VERSION_fsbl-firmware = "experimental%"
19PREFERRED_VERSION_pmu-firmware = "experimental%"
20PREFERRED_VERSION_plm-firmware = "experimental%"
21PREFERRED_VERSION_psm-firmware = "experimental%"
22
23* Run the setup script 10* Run the setup script
24 11
25The setup environment should be run in a new shell (not the build shell) 12The setup environment should be run in a new shell (not the build shell)
@@ -28,68 +15,88 @@ to ensure that you do not contaminate the environment for your build.
28We will assume below that the directory "prestep" was used for the SDK, 15We will assume below that the directory "prestep" was used for the SDK,
29however you may use any path you wish. 16however you may use any path you wish.
30 17
31# Source the SDK environment file 18Source the SDK environment file
32. <build>/prestep/environment-setup-x86_64-petalinux-linux 19 $ . <build>/prestep/environment-setup-x86_64-petalinux-linux
33 20
34# Run the script from the same directory as this README 21Run the script from the same directory as this README
35<build>/prestep/dt-processor.sh -c <conf> -s <dtb> 22 $ <build>/prestep/dt-processor.sh -c <conf> -s <dtb> -l conf/local.conf
36 23
37# For example, zynqmp: 24Note: The -l option will automatically add the necessary parameters to the
38# <build>/prestep/dt-processor.sh -c <build>/conf -s <device-tree>/zu-sdt/system-top.dts 25local.conf file. If you need to re-run this comment, you just clear the
39# 26parameters from the end of the file. Without the -l option the items are
40# Follow the instructions returned by the script! 27printed to the screen and must be manually added to your conf/local.conf
41# Such as: 28
42 29For example, zynqmp:
43To enable this, add the following to your local.conf: 30 $ ./prestep/dt-processor.sh -c conf -s /proj/yocto/zcu102-sdt/system-top.dts -l conf/local.conf
44 31
45# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere 32The following will be written to the end of the conf/local.conf file:
46BASE_TMPDIR = "${TOPDIR}" 33
47require conf/cortexa53-zynqmp-linux.conf 34 # Each multiconfig will define it's own TMPDIR, this is the new default based
48SYSTEM_DTFILE = "/proj/yocto/zu_sdt/system-top.dts" 35 # on BASE_TMPDIR for the Linux build
49BBMULTICONFIG += " cortexa53-zynqmp-fsbl-baremetal cortexa53-zynqmp-baremetal cortexa53-zynqmp-freertos cortexr5-zynqmp-fsbl-baremetal cortexr5-zynqmp-baremetal cortexr5-zynqmp-freertos microblaze-pmu" 36 TMPDIR = "${BASE_TMPDIR}/tmp"
50FSBL_DEPENDS = "" 37
51FSBL_MCDEPENDS = "mc::cortexa53-zynqmp-fsbl-baremetal:fsbl-firmware:do_deploy" 38 # Use the newly generated MACHINE
52FSBL_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-cortexa53-zynqmp-fsbl-baremetal/deploy/images/${MACHINE}" 39 MACHINE = "xlnx-zynqmp-zcu102-rev1-0"
53R5FSBL_DEPENDS = "" 40
54R5FSBL_MCDEPENDS = "mc::cortexr5-zynqmp-fsbl-baremetal:fsbl-firmware:do_deploy" 41 # All of the TMPDIRs must be in a common parent directory. This is defined
55R5FSBL_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-cortexr5-zynqmp-fsbl-baremetal/deploy/images/${MACHINE}" 42 # as BASE_TMPDIR.
56PMU_DEPENDS = "" 43 # Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp
57PMU_MCDEPENDS = "mc::microblaze-pmu:pmu-firmware:do_deploy" 44 BASE_TMPDIR ?= "${TOPDIR}"
58PMU_FIRMWARE_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-pmu/deploy/images/${MACHINE}" 45
59 46 # The following is the full set of multiconfigs for this configuration
60# 47 # A large list can cause a slow parse.
61# OR 48 BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freertos cortexa53-1-zynqmp-baremetal cortexa53-1-zynqmp-freertos cortexa53-2-zynqmp-baremetal cortexa53-2-zynqmp-freertos cortexa53-3-zynqmp-baremetal cortexa53-3-zynqmp-freertos cortexr5-0-zynqmp-fsbl-baremetal cortexr5-0-zynqmp-baremetal cortexr5-0-zynqmp-freertos cortexr5-1-zynqmp-baremetal cortexr5-1-zynqmp-freertos microblaze-0-pmu"
62# 49 # Alternatively trim the list to the minimum
63# Versal: 50 #BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal microblaze-0-pmu"
64# <build>/prestep/dt-processor.sh -c <build>/conf -s <device-tree>/vck190-sdt/system-top.dts 51
65# 52
66# Follow the instructions returned by the script! 53For example, versal:
67# Such as: 54 $ ./prestep/dt-processor.sh -c conf -s /proj/yocto/vmk180-sdt/system-top.dts -l conf/local.conf
68 55
69To enable this, add the following to your local.conf: 56The following will be written to the end of the conf/local.conf file:
70 57
71# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere 58 # Each multiconfig will define it's own TMPDIR, this is the new default based
72BASE_TMPDIR = "${TOPDIR}" 59 # on BASE_TMPDIR for the Linux build
73require conf/cortexa72-versal-linux.conf 60 TMPDIR = "${BASE_TMPDIR}/tmp"
74SYSTEM_DTFILE = "/proj/yocto/mhatle/DTB-FLOW/testing/vck190-sdt/system-top.dts" 61
75BBMULTICONFIG += " cortexa72-versal-baremetal cortexa72-versal-freertos microblaze-pmc microblaze-psm cortexr5-versal-baremetal cortexr5-versal-freertos" 62 # Use the newly generated MACHINE
76PLM_DEPENDS = "" 63 MACHINE = "xlnx-versal-vmk180-rev1-1-x-ebm-01-reva"
77PLM_MCDEPENDS = "mc::microblaze-pmc:plm-firmware:do_deploy" 64
78PLM_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-pmc/deploy/images/${MACHINE}" 65 # All of the TMPDIRs must be in a common parent directory. This is defined
79PSM_DEPENDS = "" 66 # as BASE_TMPDIR.
80PSM_MCDEPENDS = "mc::microblaze-psm:psm-firmware:do_deploy" 67 # Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp
81PSM_FIRMWARE_DEPLOY_DIR = "${BASE_TMPDIR}/tmp-microblaze-psm/deploy/images/${MACHINE}" 68 BASE_TMPDIR ?= "${TOPDIR}"
82PDI_PATH = "__PATH TO PDI FILE HERE__" 69
83 70 # The following is the full set of multiconfigs for this configuration
84# NOTE: On versal, you MUST specify the PDI file as directed by the instructions. 71 # A large list can cause a slow parse.
85# such as: PDI_PATH = "__PATH TO PDI FILE HERE__" 72 BBMULTICONFIG = " cortexa72-0-versal-baremetal cortexa72-0-versal-freertos cortexa72-1-versal-baremetal cortexa72-1-versal-freertos microblaze-0-pmc microblaze-0-psm cortexr5-0-versal-baremetal cortexr5-0-versal-freertos cortexr5-1-versal-baremetal cortexr5-1-versal-freertos"
86# Use the full path to the corresponding PDI file, such as: 73 # Alternatively trim the list to the minimum
87PDI_PATH = "/proj/yocto/vck190-sdt/base-design.pdi" 74 #BBMULTICONFIG = " microblaze-0-pmc microblaze-0-psm"
88 75
89# _EXIT THE NEW SHELL_ return the build environment 76
90 77You can now EXIT THE NEW SHELL return the build environment for the remaining steps.
91### In the original build shell 78
92# Build your Linux sytem: 79* Bitbake Performance Note
93bitbake petalinux-image-minimal 80
94 81Each BBMULTICONFIG value requires all of the recipes to be parsed for that
95# The output will be in tmp/deploy/images/... 82configuration. Thus each multiconfig will add more parsing time. A long list
83can lead to a very slow parse (many minutes). To speed up parsing, it is
84suggested that you trim this down to only the configurations you require.
85A minimum configuration is included with the generated configuration.
86
87* Build your project
88
89You should now be able to build your project normally. See the Yocto Project
90documentation if you have questions on how to work with the multiconfig
91recipes. The following is a simple build for testing.
92
93In the original build shell
94Build your Linux sytem:
95 $ bitbake petalinux-image-minimal
96
97The output will be in tmp/deploy/images/...
98
99If the system is QEMU capable execute QEMU using:
100 $ runqemu nographic slirp core-image-minimal
101
102To terminate qemu, usually the command is ctrl-a x
diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh
index 22345321..939fabe4 100755
--- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh
+++ b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh
@@ -34,12 +34,14 @@ usage() {
34 cat <<EOF 34 cat <<EOF
35$0 35$0
36 -c <config_dir> Location of the build conf directory 36 -c <config_dir> Location of the build conf directory
37 -s <system_dtb> Path to system DTB 37 -s <system_dts> Path to system dts
38 [-d <domain_file>] Path to domain file (.yml/.dts) 38 [-d <domain_file>] Path to domain file (.yml/.dts)
39 [-o <overlay_dtb>] Generate overlay dts 39 [-o <overlay_dts>] Generate overlay dts
40 [-e <external_fpga>] Apply a partial overlay 40 [-e <external_fpga>] Apply a partial overlay
41 [-m <machine>] zynqmp or versal 41 [-m <machine_conf>] The name of the machine .conf to generate
42 [-p <psu_init_path>] Path to psu_init files, defaults to system_dtb path 42 [-t <machine>] Machine type: zynqmp or versal (usually auto detected)
43 [-v <soc_variant>] SOC Variant: cg, dr, eg, ev, ai-prime, premium (usually auto detected)
44 [-p <psu_init_path>] Path to psu_init files, defaults to system_dts path
43 [-i <pdu_path>] Path to the pdi file 45 [-i <pdu_path>] Path to the pdi file
44 [-l <config_file>] write local.conf changes to this file 46 [-l <config_file>] write local.conf changes to this file
45 [-P <petalinux_schema>] Path to petalinux schema file 47 [-P <petalinux_schema>] Path to petalinux schema file
@@ -52,14 +54,16 @@ parse_args() {
52 [ $# -eq 0 ] && usage 54 [ $# -eq 0 ] && usage
53 [ $1 = "--help" ] && usage 55 [ $1 = "--help" ] && usage
54 56
55 while getopts ":c:s:d:o:e:m:l:hP:p:i:" opt; do 57 while getopts ":c:s:d:o:e:m:l:hP:p:i:t:v:" opt; do
56 case ${opt} in 58 case ${opt} in
57 c) config_dir=$OPTARG ;; 59 c) config_dir=$OPTARG ;;
58 s) system_dtb=$OPTARG ;; 60 s) system_dts=$OPTARG ;;
59 o) overlay_dtb=$OPTARG ;; 61 o) overlay_dts=$OPTARG ;;
60 d) domain_file=$OPTARG ;; 62 d) domain_file=$OPTARG ;;
61 e) external_fpga=$OPTARG ;; 63 e) external_fpga=$OPTARG ;;
62 m) machine=$OPTARG ;; 64 m) mach_conf=$OPTARG ; mach_conf=${mach_conf%%.conf} ;;
65 t) machine=$OPTARG ;;
66 v) soc_variant=$OPTARG ;;
63 p) psu_init_path=$OPTARG ;; 67 p) psu_init_path=$OPTARG ;;
64 i) pdi_path=$OPTARG ;; 68 i) pdi_path=$OPTARG ;;
65 l) localconf=$OPTARG ;; 69 l) localconf=$OPTARG ;;
@@ -71,17 +75,17 @@ parse_args() {
71 done 75 done
72 76
73 [ -z "${config_dir}" ] && error "You must specify the path to the build conf directory with -c" 77 [ -z "${config_dir}" ] && error "You must specify the path to the build conf directory with -c"
74 [ -z "${system_dtb}" ] && error "You must specify the path to the system device tree with -s" 78 [ -z "${system_dts}" ] && error "You must specify the path to the system device tree with -s"
75 [ -f "${config_dir}/local.conf" ] || error "Invalid config dir: ${config_dir}" 79 [ -f "${config_dir}/local.conf" ] || error "Invalid config dir: ${config_dir}"
76 [ -f "${system_dtb}" ] || error "Unable to find: ${system_dtb}" 80 [ -f "${system_dts}" ] || error "Unable to find: ${system_dts}"
77 system_dtb=$(realpath ${system_dtb}) 81 system_dts=$(realpath ${system_dts})
78 if [ -z "$psu_init_path" ]; then 82 if [ -z "$psu_init_path" ]; then
79 psu_init_path=$(dirname ${system_dtb}) 83 psu_init_path=$(dirname ${system_dts})
80 else 84 else
81 psu_init_path=$(realpath ${psu_init_path}) 85 psu_init_path=$(realpath ${psu_init_path})
82 fi 86 fi
83 if [ -z "$pdi_path" ]; then 87 if [ -z "$pdi_path" ]; then
84 pdi_path=$(dirname ${system_dtb}) 88 pdi_path=$(dirname ${system_dts})
85 else 89 else
86 pdi_path=$(realpath ${pdi_path}) 90 pdi_path=$(realpath ${pdi_path})
87 fi 91 fi
@@ -93,51 +97,115 @@ parse_args() {
93 97
94detect_machine() { 98detect_machine() {
95 if [ -z "${machine}" ]; then 99 if [ -z "${machine}" ]; then
96 # Identify the system type first using PSM/PMC/PMU 100 if [ -n "${deviceid}" ]; then
97 while read -r cpu domain os_hint; do 101 case ${deviceid} in
98 case ${cpu} in 102 # ZynqMP variants
99 pmu-microblaze) 103 xczu*cg)
100 machine="zynqmp" ;; 104 machine="zynqmp"
101 pmc-microblaze | psm-microblaze) 105 soc_variant="cg" ;;
102 machine="versal" ;; 106 xczu*dr)
107 machine="zynqmp"
108 soc_variant="dr" ;;
109 xczu*eg)
110 machine="zynqmp"
111 soc_variant="eg" ;;
112 xczu*ev)
113 machine="zynqmp"
114 soc_variant="ev" ;;
115 # Versal variants
116 xcvm*)
117 machine="versal"
118 soc_variant="prime" ;;
119 xcvc*)
120 machine="versal"
121 soc_variant="ai-core" ;;
122 xcve*)
123 machine="versal"
124 soc_variant="ai-edge" ;;
125 xcvn*)
126 machine="versal"
127 soc_variant="net" ;;
128 xcvp*)
129 machine="versal"
130 soc_variant="premium" ;;
131 xcvh*)
132 machine="versal"
133 soc_variant="hbm" ;;
134 # Special Case Starter Kit SOMs
135 xck26)
136 incmachine="k26-smk.conf"
137 machine="zynqmp"
138 soc_variant="ev" ;;
139 xck24)
140 incmachine="k24-smk.conf"
141 machine="zynqmp"
142 soc_variant="eg" ;;
103 esac 143 esac
104 done <${cpulist} 144 else
145 # Identify the system type first using PSM/PMC/PMU
146 while read -r cpu core domain cpu_name os_hint; do
147 case ${cpu} in
148 pmu-microblaze)
149 machine="zynqmp" ;;
150 pmc-microblaze | psm-microblaze)
151 machine="versal" ;;
152 esac
153 done <${cpulist}
154 fi
105 fi 155 fi
106 156
107 # Machine not provided and we cannot identify.. 157 # Machine not provided and we cannot identify..
108 [ -z ${machine} ] && \ 158 [ -z ${machine} ] && \
109 error "Unable to autodetect machine type, use -m to specify the machine." 159 error "Unable to autodetect machine type, use -t to specify the machine."
110 160
111 case ${machine} in 161 case ${machine} in
112 zynqmp | versal) : ;; 162 zynqmp | versal) : ;;
113 *) error "Invalid machine type ${machine}; please choose zynqmp or versal" 163 *) error "Invalid machine type ${machine}; please choose zynqmp or versal"
114 esac 164 esac
165
166 [ -z ${soc_variant} ] && \
167 warn "Unable to autodetect soc variant, use -v to specify a variant."
168}
169
170dump_cpus() {
171 prefix="$1"
172 while read -r cpu core domain cpu_name os_hint; do
173 case ${cpu} in
174 \#*) ;;
175 \[*) ;;
176 pmu-microblaze) echo "${prefix}zynqmp-pmu ${cpu_name}" ;;
177 pmc-microblaze) echo "${prefix}versal-plm ${cpu_name}" ;;
178 psm-microblaze) echo "${prefix}versal-psm ${cpu_name}" ;;
179 xlnx,microblaze) echo "${prefix}microblaze ${core} ${cpu_name}";;
180 arm,*) echo "${prefix}${cpu/,/ } ${core} ${cpu_name}";;
181 *) echo "${prefix}${cpu} ${core} ${cpu_name}";;
182 esac
183 done <${cpulist}
115} 184}
116 185
117cortex_a53_linux() { 186cortex_a53_linux() {
118 info "cortex-a53 for Linux [ $1 ]" 187 info "cortex-a53 for Linux [ $1 ]"
119 188
120 if [ "$1" = "None" ]; then 189 if [ "$1" = "None" ]; then
121 dtb_file="cortexa53-${machine}-linux.dtb"
122 dts_file="cortexa53-${machine}-linux.dts" 190 dts_file="cortexa53-${machine}-linux.dts"
123 system_conf=conf/cortexa53-${machine}-linux.conf 191 system_conf=${dts_file}
124 conf_file=cortexa53-${machine}-linux.conf 192 conf_file=""
125 else 193 else
126 dtb_file="cortexa53-${machine}-$1-linux.dtb" 194 mc_name=cortexa53-${machine}-$1-linux
127 dts_file="cortexa53-${machine}-$1-linux.dts" 195 dts_file="${mc_name}.dts"
128 multiconf="${multiconf} cortexa53-${machine}-linux" 196 multiconf="${multiconf} ${mc_name}"
129 conf_file=multiconfig/cortexa53-${machine}-$1-linux.conf 197 conf_file=multiconfig/${mc_name}.conf
130 fi 198 fi
131 199
132 # Check if it is overlay dts otherwise just create linux dtb 200 # Check if it is overlay dts otherwise just create linux dts
133 ( 201 (
134 cd dtb || error "Unable to cd to dtb dir" 202 cd dts || error "Unable to cd to dts dir"
135 if [ "${overlay_dtb}" = "true" ]; then 203 if [ "${overlay_dts}" = "true" ]; then
136 if [ "${external_fpga}" = "true" ]; then 204 if [ "${external_fpga}" = "true" ]; then
137 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- xlnx_overlay_dt ${machine} full \ 205 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt ${machine} full \
138 || error "lopper failed" 206 || error "lopper failed"
139 else 207 else
140 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dtb}" -- xlnx_overlay_dt ${machine} partial \ 208 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- xlnx_overlay_dt ${machine} partial \
141 || error "lopper failed" 209 || error "lopper failed"
142 fi 210 fi
143 dtc -q -O dtb -o pl.dtbo -b 0 -@ pl.dtsi || error "dtc failed" 211 dtc -q -O dtb -o pl.dtbo -b 0 -@ pl.dtsi || error "dtc failed"
@@ -146,42 +214,27 @@ cortex_a53_linux() {
146 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" \ 214 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" \
147 -i "${lops_dir}/lop-domain-linux-a53.dts" \ 215 -i "${lops_dir}/lop-domain-linux-a53.dts" \
148 -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \ 216 -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \
149 "${system_dtb}" "${dtb_file}" \ 217 "${system_dts}" "${dts_file}" \
150 || error "lopper failed"
151 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \
152 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" \
153 -i "${lops_dir}/lop-domain-linux-a53.dts" \
154 -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \
155 "${system_dtb}" "${dts_file}" \
156 || error "lopper failed" 218 || error "lopper failed"
157 else 219 else
158 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \ 220 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \
159 -i "${lops_dir}/lop-domain-linux-a53.dts" \ 221 -i "${lops_dir}/lop-domain-linux-a53.dts" \
160 -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \ 222 -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \
161 "${system_dtb}" "${dtb_file}" \ 223 "${system_dts}" "${dts_file}" \
162 || error "lopper failed"
163 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \
164 -i "${lops_dir}/lop-domain-linux-a53.dts" \
165 -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \
166 "${system_dtb}" "${dts_file}" \
167 || error "lopper failed" 224 || error "lopper failed"
168 fi 225 fi
169 rm -f pl.dtsi lop-a53-imux.dts.dtb lop-domain-linux-a53.dts.dtb 226 rm -f pl.dtsi lop-a53-imux.dts.dtb lop-domain-linux-a53.dts.dtb lop-domain-linux-a53-prune.dts.dtb
170 ) 227 )
171 228
229 if [ -z "${conf_file}" ]; then
230 return $?
231 fi
232
233 ## Generate a multiconfig
172 cat <<EOF >"${conf_file}" 234 cat <<EOF >"${conf_file}"
173CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 235CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
174CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
175 236
176MACHINE = "${machine}-generic" 237TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
177# We don't want the kernel to build us a device-tree
178KERNEL_DEVICETREE:${machine}-generic = ""
179# We need u-boot to use the one we passed in
180DEVICE_TREE_NAME:pn-u-boot-xlnx-scr = "\${@os.path.basename(d.getVar('CONFIG_DTFILE'))}"
181# Update bootbin to use proper device tree
182BIF_PARTITION_IMAGE[device-tree] = "\${RECIPE_SYSROOT}/boot/devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE'))}"
183# Remap boot files to ensure the right device tree is listed first
184IMAGE_BOOT_FILES = "devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE'))} \${@get_default_image_boot_files(d)}"
185EOF 238EOF
186} 239}
187 240
@@ -191,7 +244,7 @@ cortex_a53_baremetal() {
191 [ ${a53_fsbl_done} = 1 ] && return 244 [ ${a53_fsbl_done} = 1 ] && return
192 info "cortex-a53 FSBL baremetal configuration" 245 info "cortex-a53 FSBL baremetal configuration"
193 else 246 else
194 info "cortex-a53 for baremetal [ $1 ]" 247 info "cortex-a53 baremetal configuration for core $2 [ $1 ]"
195 fi 248 fi
196 249
197 suffix=""; lto="-nolto" 250 suffix=""; lto="-nolto"
@@ -199,44 +252,47 @@ cortex_a53_baremetal() {
199 suffix="-$1"; lto="" 252 suffix="-$1"; lto=""
200 fi 253 fi
201 254
202 dtb_file="cortexa53-${machine}${suffix}-baremetal.dtb" 255 mc_name="cortexa53-$2-${machine}${suffix}-baremetal"
203 multiconf="${multiconf} cortexa53-${machine}${suffix}-baremetal" 256 dts_file="${mc_name}.dts"
204 conf_file="multiconfig/cortexa53-${machine}${suffix}-baremetal.conf" 257 multiconf="${multiconf} ${mc_name}"
205 libxil="multiconfig/includes/cortexa53-${machine}${suffix}-libxil.conf" 258 conf_file="multiconfig/${mc_name}.conf"
206 distro="multiconfig/includes/cortexa53-${machine}${suffix}-distro.conf" 259 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
260 features="machine/include/${mach_conf}/${mc_name}-features.conf"
207 yocto_distro="xilinx-standalone${lto}" 261 yocto_distro="xilinx-standalone${lto}"
208 if [ "$1" = "fsbl" ]; then 262 if [ "$1" = "fsbl" ]; then
209 fsbl_mcdepends="mc::${dtb_file%%.dtb}:fsbl-firmware:do_deploy" 263 fsbl_mcdepends="mc::${mc_name}:fsbl-firmware:do_deploy"
210 fsbl_deploy_dir="\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}/deploy/images/\${MACHINE}" 264 fsbl_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}"
265 multiconf_min="${multiconf_min} ${mc_name}"
211 a53_fsbl_done=1 266 a53_fsbl_done=1
212 fi 267 fi
213 268
214 # Build device tree 269 # Build device tree
215 ( 270 (
216 cd dtb || error "Unable to cd to dtb dir" 271 cd dts || error "Unable to cd to dts dir"
217 if [ -n "${domain_file}" ]; then 272 if [ -n "${domain_file}" ]; then
218 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 273 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \
219 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dtb}" "${dtb_file}" \ 274 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \
220 || error "lopper failed" 275 || error "lopper failed"
221 else 276 else
222 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \ 277 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \
223 "${system_dtb}" "${dtb_file}" || error "lopper failed" 278 "${system_dts}" "${dts_file}" || error "lopper failed"
224 fi 279 fi
225 rm -f lop-a53-imux.dts.dtb 280 rm -f lop-a53-imux.dts.dtb
226 ) 281 )
227 282
228 # Build baremetal multiconfig 283 # Build baremetal multiconfig
229 if [ -n "${domain_file}" ]; then 284 if [ -n "${domain_file}" ]; then
230 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 285 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
231 -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" \ 286 -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \
232 || error "lopper failed" 287 || error "lopper failed"
233 else 288 else
234 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" \ 289 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \
235 || error "lopper failed" 290 || error "lopper failed"
236 fi 291 fi
237 292
238 mv libxil.conf "${libxil}" 293 mv libxil.conf "${libxil}"
239 mv distro.conf "${distro}" 294 mv distro.conf "${features}"
295 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
240 296
241 if [ "$1" = "fsbl" ]; then 297 if [ "$1" = "fsbl" ]; then
242 if [ ! -e "${psu_init_path}/psu_init.c" ]; then 298 if [ ! -e "${psu_init_path}/psu_init.c" ]; then
@@ -253,80 +309,66 @@ EOF
253 cat /dev/null >"${conf_file}" 309 cat /dev/null >"${conf_file}"
254 fi 310 fi
255 cat <<EOF >>"${conf_file}" 311 cat <<EOF >>"${conf_file}"
256CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 312CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
257CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
258 313
259ESW_MACHINE = "cortexa53-${machine}" 314ESW_MACHINE = "$3"
260DEFAULTTUNE = "cortexa53" 315DEFAULTTUNE = "cortexa53"
261 316
262TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 317TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
263 318
264DISTRO = "${yocto_distro}" 319DISTRO = "${yocto_distro}"
265
266LIBXIL_CONFIG = "conf/${libxil}"
267require conf/${distro}
268
269SKIP_META_VIRT_SANITY_CHECK = "1"
270SKIP_META_SECURITY_SANITY_CHECK = "1"
271SKIP_META_TPM_SANITY_CHECK = "1"
272EOF 320EOF
273} 321}
274 322
275cortex_a53_freertos() { 323cortex_a53_freertos() {
276 info "cortex-a53 for FreeRTOS [ $1 ]" 324 info "cortex-a53 FreeRTOS configuration for core $2 [ $1 ]"
277 325
278 suffix="" 326 suffix=""
279 [ "$1" != "None" ] && suffix="-$1" 327 [ "$1" != "None" ] && suffix="-$1"
280 328
281 dtb_file="cortexa53-${machine}${suffix}-freertos.dtb" 329 mc_name="cortexa53-$2-${machine}${suffix}-freertos"
282 multiconf="${multiconf} cortexa53-${machine}${suffix}-freertos" 330 dts_file="${mc_name}.dts"
283 conf_file="multiconfig/cortexa53-${machine}${suffix}-freertos.conf" 331 multiconf="${multiconf} ${mc_name}"
284 libxil="multiconfig/includes/cortexa53-${machine}${suffix}-libxil.conf" 332 conf_file="multiconfig/${mc_name}.conf"
285 distro="multiconfig/includes/cortexa53-${machine}${suffix}-distro.conf" 333 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
334 features="machine/include/${mach_conf}/${mc_name}-features.conf"
286 335
287 # Build device tree 336 # Build device tree
288 ( 337 (
289 cd dtb || error "Unable to cd to dtb dir" 338 cd dts || error "Unable to cd to dts dir"
290 if [ -n "${domain_file}" ]; then 339 if [ -n "${domain_file}" ]; then
291 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 340 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \
292 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dtb}" "${dtb_file}" \ 341 -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \
293 || error "lopper failed" 342 || error "lopper failed"
294 else 343 else
295 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \ 344 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \
296 "${system_dtb}" "${dtb_file}" || error "lopper failed" 345 "${system_dts}" "${dts_file}" || error "lopper failed"
297 fi 346 fi
298 rm -f lop-a53-imux.dts.dtb 347 rm -f lop-a53-imux.dts.dtb
299 ) 348 )
300 349
301 # Build baremetal multiconfig 350 # Build baremetal multiconfig
302 if [ -n "${domain_file}" ]; then 351 if [ -n "${domain_file}" ]; then
303 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 352 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
304 -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" || error "lopper failed" 353 -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed"
305 else 354 else
306 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa53-${machine} "${embeddedsw}" \ 355 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \
307 || error "lopper failed" 356 || error "lopper failed"
308 fi 357 fi
309 358
310 mv libxil.conf "${libxil}" 359 mv libxil.conf "${libxil}"
311 mv distro.conf "${distro}" 360 mv distro.conf "${features}"
361 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
312 362
313 cat <<EOF >"${conf_file}" 363 cat <<EOF >"${conf_file}"
314CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 364CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
315CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
316 365
317ESW_MACHINE = "cortexa53-${machine}" 366ESW_MACHINE = "$3"
318DEFAULTTUNE = "cortexa53" 367DEFAULTTUNE = "cortexa53"
319 368
320TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 369TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
321 370
322DISTRO = "xilinx-freertos" 371DISTRO = "xilinx-freertos"
323
324LIBXIL_CONFIG = "conf/${libxil}"
325require conf/${distro}
326
327SKIP_META_VIRT_SANITY_CHECK = "1"
328SKIP_META_SECURITY_SANITY_CHECK = "1"
329SKIP_META_TPM_SANITY_CHECK = "1"
330EOF 372EOF
331} 373}
332 374
@@ -336,36 +378,35 @@ cortex_a72_linux() {
336 # Find the first file ending in .pdi 378 # Find the first file ending in .pdi
337 full_pdi_path=$(ls ${pdi_path}/*.pdi 2>/dev/null | head -n 1) 379 full_pdi_path=$(ls ${pdi_path}/*.pdi 2>/dev/null | head -n 1)
338 if [ -z "${full_pdi_path}" ]; then 380 if [ -z "${full_pdi_path}" ]; then
339 warn "Warning: Unable to find a pdi file in ${pdi_path}" 381 error "Unable to find a pdi file in ${pdi_path}, use the -i option to point to the directory containing a .pdi file"
340 full_pdi_path="__PATH TO PDI FILE HERE__" 382 full_pdi_path="__PATH TO PDI FILE HERE__"
341 elif [ "${full_pdi_path}" != "$(ls ${pdi_path}/*.pdi 2>/dev/null)" ]; then 383 elif [ "${full_pdi_path}" != "$(ls ${pdi_path}/*.pdi 2>/dev/null)" ]; then
342 warn "Warning: multiple PDI files found, using first found $(basename ${full_pdi_path})." 384 warn "Warning: multiple PDI files found, using first found $(basename ${full_pdi_path})."
343 fi 385 fi
344 386
345 if [ "$1" = "None" ]; then 387 if [ "$1" = "None" ]; then
346 dtb_file="cortexa72-${machine}-linux.dtb"
347 dts_file="cortexa72-${machine}-linux.dts" 388 dts_file="cortexa72-${machine}-linux.dts"
348 system_conf=conf/cortexa72-${machine}-linux.conf 389 system_conf=${dts_file}
349 conf_file=cortexa72-${machine}-linux.conf 390 conf_file=""
350 else 391 else
351 dtb_file="cortexa72-${machine}-$1-linux.dtb" 392 mc_name="cortexa72-${machine}-$1-linux"
352 dts_file="cortexa72-${machine}-$1-linux.dts" 393 dts_file="${mc_name}.dts"
353 multiconf="${multiconf} cortexa72-${machine}-linux" 394 multiconf="${multiconf} ${mc_name}"
354 conf_file=multiconfig/cortexa72-${machine}-$1-linux.conf 395 conf_file=multiconfig/${mc_name}.conf
355 fi 396 fi
356 397
357 ( 398 (
358 cd dtb || error "Unable to cd to dtb dir" 399 cd dts || error "Unable to cd to dts dir"
359 # Check if it is overlay dts otherwise just create linux dtb 400 # Check if it is overlay dts otherwise just create linux dts
360 if [ "${overlay_dtb}" = "true" ]; then 401 if [ "${overlay_dts}" = "true" ]; then
361 # As there is no partial support on Versal, As per fpga manager implementatin there is 402 # As there is no partial support on Versal, As per fpga manager implementatin there is
362 # a flag "external_fpga" which says apply overlay without loading the bit file. 403 # a flag "external_fpga" which says apply overlay without loading the bit file.
363 if [ "${external_fpga}" = "true" ]; then 404 if [ "${external_fpga}" = "true" ]; then
364 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" -- xlnx_overlay_dt \ 405 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt \
365 ${machine} full external_fpga || error "lopper failed" 406 ${machine} full external_fpga || error "lopper failed"
366 else 407 else
367 # If there is no external_fpga flag, then the default is full 408 # If there is no external_fpga flag, then the default is full
368 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dtb}" -- xlnx_overlay_dt \ 409 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- xlnx_overlay_dt \
369 ${machine} full || error "lopper failed" 410 ${machine} full || error "lopper failed"
370 fi 411 fi
371 dtc -q -O dtb -o pl.dtbo -b 0 -@ pl.dtsi || error "dtc failed" 412 dtc -q -O dtb -o pl.dtbo -b 0 -@ pl.dtsi || error "dtc failed"
@@ -374,156 +415,130 @@ cortex_a72_linux() {
374 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" \ 415 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" \
375 -i "${lops_dir}/lop-domain-a72.dts" \ 416 -i "${lops_dir}/lop-domain-a72.dts" \
376 -i "${lops_dir}/lop-domain-a72-prune.dts" \ 417 -i "${lops_dir}/lop-domain-a72-prune.dts" \
377 "${system_dtb}" "${dtb_file}" \ 418 "${system_dts}" "${dts_file}" \
378 || error "lopper failed"
379 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \
380 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" \
381 -i "${lops_dir}/lop-domain-a72.dts" \
382 -i "${lops_dir}/lop-domain-a72-prune.dts" \
383 "${system_dtb}" "${dts_file}" \
384 || error "lopper failed" 419 || error "lopper failed"
385 else 420 else
386 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \ 421 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \
387 -i "${lops_dir}/lop-domain-a72.dts" \ 422 -i "${lops_dir}/lop-domain-a72.dts" \
388 -i "${lops_dir}/lop-domain-a72-prune.dts" \ 423 -i "${lops_dir}/lop-domain-a72-prune.dts" \
389 "${system_dtb}" "${dtb_file}" || error "lopper failed" 424 "${system_dts}" "${dts_file}" || error "lopper failed"
390 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \
391 -i "${lops_dir}/lop-domain-a72.dts" \
392 -i "${lops_dir}/lop-domain-a72-prune.dts" \
393 "${system_dtb}" "${dts_file}" || error "lopper failed"
394 fi 425 fi
395 rm -f pl.dtsi lop-a72-imux.dts.dtb lop-domain-a72.dts.dtb 426 rm -f pl.dtsi lop-a72-imux.dts.dtb lop-domain-a72.dts.dtb lop-domain-a72-prune.dts.dtb
396 ) 427 )
397 428
429 if [ -z "${conf_file}" ]; then
430 return $?
431 fi
432
433 ## Generate a multiconfig
398 cat <<EOF >"${conf_file}" 434 cat <<EOF >"${conf_file}"
399CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 435CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
400CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
401 436
402MACHINE = "${machine}-generic" 437TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
403# We don't want the kernel to build us a device-tree
404KERNEL_DEVICETREE:${machine}-generic = ""
405# We need u-boot to use the one we passed in
406DEVICE_TREE_NAME:pn-u-boot-xlnx-scr = "\${@os.path.basename(d.getVar('CONFIG_DTFILE'))}"
407# Update bootbin to use proper device tree
408BIF_PARTITION_IMAGE[device-tree] = "\${RECIPE_SYSROOT}/boot/devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE'))}"
409# Remap boot files to ensure the right device tree is listed first
410IMAGE_BOOT_FILES = "devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE'))} \${@get_default_image_boot_files(d)}"
411EOF 438EOF
412} 439}
413 440
414cortex_a72_baremetal() { 441cortex_a72_baremetal() {
415 info "cortex-a72 for baremetal [ $1 ]" 442 info "cortex-a72 baremetal configuration for core $2 [ $1 ]"
416 443
417 suffix="" 444 suffix=""
418 [ "$1" != "None" ] && suffix="-$1" 445 [ "$1" != "None" ] && suffix="-$1"
419 446
420 dtb_file="cortexa72-${machine}${suffix}-baremetal.dtb" 447 mc_name="cortexa72-$2-${machine}${suffix}-baremetal"
421 multiconf="${multiconf} cortexa72-${machine}${suffix}-baremetal" 448 dts_file="${mc_name}.dts"
422 conf_file="multiconfig/cortexa72-${machine}${suffix}-baremetal.conf" 449 multiconf="${multiconf} ${mc_name}"
423 libxil="multiconfig/includes/cortexa72-${machine}${suffix}-libxil.conf" 450 conf_file="multiconfig/${mc_name}.conf"
424 distro="multiconfig/includes/cortexa72-${machine}${suffix}-distro.conf" 451 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
452 features="machine/include/${mach_conf}/${mc_name}-features.conf"
425 453
426 # Build device tree 454 # Build device tree
427 ( 455 (
428 cd dtb || error "Unable to cd to dtb dir" 456 cd dts || error "Unable to cd to dts dir"
429 if [ -n "${domain_file}" ]; then 457 if [ -n "${domain_file}" ]; then
430 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 458 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \
431 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dtb}" "${dtb_file}" \ 459 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \
432 || error "lopper failed" 460 || error "lopper failed"
433 else 461 else
434 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \ 462 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \
435 "${system_dtb}" "${dtb_file}" || error "lopper failed" 463 "${system_dts}" "${dts_file}" || error "lopper failed"
436 fi 464 fi
437 rm -f lop-a72-imux.dts.dtb 465 rm -f lop-a72-imux.dts.dtb
438 ) 466 )
439 467
440 # Build baremetal multiconfig 468 # Build baremetal multiconfig
441 if [ -n "${domain_file}" ]; then 469 if [ -n "${domain_file}" ]; then
442 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 470 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
443 -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" || error "lopper failed" 471 -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed"
444 else 472 else
445 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" \ 473 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \
446 || error "lopper failed" 474 || error "lopper failed"
447 fi 475 fi
448 476
449 mv libxil.conf "${libxil}" 477 mv libxil.conf "${libxil}"
450 mv distro.conf "${distro}" 478 mv distro.conf "${features}"
479 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
451 480
452 cat <<EOF >"${conf_file}" 481 cat <<EOF >"${conf_file}"
453CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 482CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
454CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
455 483
456ESW_MACHINE = "cortexa72-${machine}" 484ESW_MACHINE = "$3"
457DEFAULTTUNE = "cortexa72" 485DEFAULTTUNE = "cortexa72"
458 486
459TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 487TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
460 488
461DISTRO = "xilinx-standalone-nolto" 489DISTRO = "xilinx-standalone-nolto"
462
463LIBXIL_CONFIG = "conf/${libxil}"
464require conf/${distro}
465
466SKIP_META_VIRT_SANITY_CHECK = "1"
467SKIP_META_SECURITY_SANITY_CHECK = "1"
468SKIP_META_TPM_SANITY_CHECK = "1"
469EOF 490EOF
470} 491}
471 492
472cortex_a72_freertos() { 493cortex_a72_freertos() {
473 info "cortex-a72 for FreeRTOS [ $1 ]" 494 info "cortex-a72 FreeRTOS configuration for core $2 [ $1 ]"
474 495
475 suffix="" 496 suffix=""
476 [ "$1" != "None" ] && suffix="-$1" 497 [ "$1" != "None" ] && suffix="-$1"
477 498
478 dtb_file="cortexa72-${machine}${suffix}-freertos.dtb" 499 mc_name="cortexa72-$2-${machine}${suffix}-freertos"
479 multiconf="${multiconf} cortexa72-${machine}${suffix}-freertos" 500 dts_file="${mc_name}.dts"
480 conf_file="multiconfig/cortexa72-${machine}${suffix}-freertos.conf" 501 multiconf="${multiconf} ${mc_name}"
481 libxil="multiconfig/includes/cortexa72-${machine}${suffix}-libxil.conf" 502 conf_file="multiconfig/${mc_name}.conf"
482 distro="multiconfig/includes/cortexa72-${machine}${suffix}-distro.conf" 503 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
504 features="machine/include/${mach_conf}/${mc_name}-features.conf"
483 505
484 # Build device tree 506 # Build device tree
485 ( 507 (
486 cd dtb || error "Unable to cd to dtb dir" 508 cd dts || error "Unable to cd to dts dir"
487 if [ -n "${domain_file}" ]; then 509 if [ -n "${domain_file}" ]; then
488 LOPPER_DTC_FLAGS="-b 0 -@" lopper -f --enhanced -x '*.yaml' \ 510 LOPPER_DTC_FLAGS="-b 0 -@" lopper -f --enhanced -x '*.yaml' \
489 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dtb}" "${dtb_file}" \ 511 -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \
490 || error "lopper failed" 512 || error "lopper failed"
491 else 513 else
492 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \ 514 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \
493 "${system_dtb}" "${dtb_file}" || error "lopper failed" 515 "${system_dts}" "${dts_file}" || error "lopper failed"
494 fi 516 fi
495 rm -f lop-a72-imux.dts.dtb 517 rm -f lop-a72-imux.dts.dtb
496 ) 518 )
497 519
498 # Build baremetal multiconfig 520 # Build baremetal multiconfig
499 if [ -n "${domain_file}" ]; then 521 if [ -n "${domain_file}" ]; then
500 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 522 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
501 -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" || error "lopper failed" 523 -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed"
502 else 524 else
503 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexa72-${machine} "${embeddedsw}" \ 525 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \
504 || error "lopper failed" 526 || error "lopper failed"
505 fi 527 fi
506 528
507 mv libxil.conf "${libxil}" 529 mv libxil.conf "${libxil}"
508 mv distro.conf "${distro}" 530 mv distro.conf "${features}"
531 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
509 532
510 cat <<EOF >"${conf_file}" 533 cat <<EOF >"${conf_file}"
511CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 534CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
512CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
513 535
514ESW_MACHINE = "cortexa72-${machine}" 536ESW_MACHINE = "$3"
515DEFAULTTUNE = "cortexa72" 537DEFAULTTUNE = "cortexa72"
516 538
517TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 539TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
518 540
519DISTRO = "xilinx-freertos" 541DISTRO = "xilinx-freertos"
520
521LIBXIL_CONFIG = "conf/${libxil}"
522require conf/${distro}
523
524SKIP_META_VIRT_SANITY_CHECK = "1"
525SKIP_META_SECURITY_SANITY_CHECK = "1"
526SKIP_META_TPM_SANITY_CHECK = "1"
527EOF 542EOF
528} 543}
529 544
@@ -533,7 +548,7 @@ cortex_r5_baremetal() {
533 [ ${r5_fsbl_done} = 1 ] && return 548 [ ${r5_fsbl_done} = 1 ] && return
534 info "cortex-r5 FSBL baremetal configuration" 549 info "cortex-r5 FSBL baremetal configuration"
535 else 550 else
536 info "cortex-r5 for baremetal [ $1 ]" 551 info "cortex-r5 baremetal configuration for core $2 [ $1 ]"
537 fi 552 fi
538 553
539 suffix=""; lto="-nolto" 554 suffix=""; lto="-nolto"
@@ -541,44 +556,46 @@ cortex_r5_baremetal() {
541 suffix="-$1"; lto="" 556 suffix="-$1"; lto=""
542 fi 557 fi
543 558
544 dtb_file="cortexr5-${machine}${suffix}-baremetal.dtb" 559 mc_name="cortexr5-$2-${machine}${suffix}-baremetal"
545 multiconf="${multiconf} cortexr5-${machine}${suffix}-baremetal" 560 dts_file="${mc_name}.dts"
546 conf_file="multiconfig/cortexr5-${machine}${suffix}-baremetal.conf" 561 multiconf="${multiconf} ${mc_name}"
547 libxil="multiconfig/includes/cortexr5-${machine}${suffix}-libxil.conf" 562 conf_file="multiconfig/${mc_name}.conf"
548 distro="multiconfig/includes/cortexr5-${machine}${suffix}-distro.conf" 563 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
564 features="machine/include/${mach_conf}/${mc_name}-features.conf"
549 yocto_distro="xilinx-standalone${lto}" 565 yocto_distro="xilinx-standalone${lto}"
550 566
551 if [ "$1" = "fsbl" ]; then 567 if [ "$1" = "fsbl" ]; then
552 r5fsbl_mcdepends="mc::${dtb_file%%.dtb}:fsbl-firmware:do_deploy" 568 r5fsbl_mcdepends="mc::${mc_name}:fsbl-firmware:do_deploy"
553 r5fsbl_deploy_dir="\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}/deploy/images/\${MACHINE}" 569 r5fsbl_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}"
554 r5_fsbl_done=1 570 r5_fsbl_done=1
555 fi 571 fi
556 572
557 # Build device tree 573 # Build device tree
558 ( 574 (
559 cd dtb || error "Unable to cd to dtb dir" 575 cd dts || error "Unable to cd to dts dir"
560 if [ -n "$domain_file" ]; then 576 if [ -n "$domain_file" ]; then
561 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 577 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \
562 -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dtb}" "${dtb_file}" \ 578 -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \
563 || error "lopper failed" 579 || error "lopper failed"
564 else 580 else
565 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-r5-imux.dts" \ 581 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-r5-imux.dts" \
566 "${system_dtb}" "${dtb_file}" || error "lopper failed" 582 "${system_dts}" "${dts_file}" || error "lopper failed"
567 fi 583 fi
568 rm -f lop-r5-imux.dts.dtb 584 rm -f lop-r5-imux.dts.dtb
569 ) 585 )
570 586
571 # Build baremetal multiconfig 587 # Build baremetal multiconfig
572 if [ -n "${domain_file}" ]; then 588 if [ -n "${domain_file}" ]; then
573 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 589 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
574 -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" || error "lopper failed" 590 -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed"
575 else 591 else
576 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" \ 592 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \
577 || error "lopper failed" 593 || error "lopper failed"
578 fi 594 fi
579 595
580 mv libxil.conf "${libxil}" 596 mv libxil.conf "${libxil}"
581 mv distro.conf "${distro}" 597 mv distro.conf "${features}"
598 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
582 599
583 if [ "$1" = "fsbl" ]; then 600 if [ "$1" = "fsbl" ]; then
584 if [ ! -e "${psu_init_path}/psu_init.c" ]; then 601 if [ ! -e "${psu_init_path}/psu_init.c" ]; then
@@ -595,80 +612,66 @@ EOF
595 cat /dev/null >"${conf_file}" 612 cat /dev/null >"${conf_file}"
596 fi 613 fi
597 cat <<EOF >>"${conf_file}" 614 cat <<EOF >>"${conf_file}"
598CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 615CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
599CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
600 616
601ESW_MACHINE = "cortexr5-${machine}" 617ESW_MACHINE = "$3"
602DEFAULTTUNE = "cortexr5" 618DEFAULTTUNE = "cortexr5"
603 619
604TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 620TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
605 621
606DISTRO = "$yocto_distro" 622DISTRO = "$yocto_distro"
607
608LIBXIL_CONFIG = "conf/${libxil}"
609require conf/${distro}
610
611SKIP_META_VIRT_SANITY_CHECK = "1"
612SKIP_META_SECURITY_SANITY_CHECK = "1"
613SKIP_META_TPM_SANITY_CHECK = "1"
614EOF 623EOF
615} 624}
616 625
617cortex_r5_freertos() { 626cortex_r5_freertos() {
618 info "cortex-r5 for FreeRTOS [ $1 ]" 627 info "cortex-r5 FreeRTOS configuration for core $2 [ $1 ]"
619 628
620 suffix="" 629 suffix=""
621 [ "$1" != "None" ] && suffix="-$1" 630 [ "$1" != "None" ] && suffix="-$1"
622 631
623 dtb_file="cortexr5-${machine}${suffix}-freertos.dtb" 632 mc_name="cortexr5-$2-${machine}${suffix}-freertos"
624 multiconf="${multiconf} cortexr5-${machine}${suffix}-freertos" 633 dts_file="${mc_name}.dts"
625 conf_file="multiconfig/cortexr5-${machine}${suffix}-freertos.conf" 634 multiconf="${multiconf} ${mc_name}"
626 libxil="multiconfig/includes/cortexr5-${machine}${suffix}-libxil.conf" 635 conf_file="multiconfig/${mc_name}.conf"
627 distro="multiconfig/includes/cortexr5-${machine}${suffix}-distro.conf" 636 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
637 features="machine/include/${mach_conf}/${mc_name}-features.conf"
628 638
629 # Build device tree 639 # Build device tree
630 ( 640 (
631 cd dtb || error "Unable to cd to dtb dir" 641 cd dts || error "Unable to cd to dts dir"
632 if [ -n "$domain_file" ]; then 642 if [ -n "$domain_file" ]; then
633 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ 643 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \
634 -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dtb}" "${dtb_file}" \ 644 -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \
635 || error "lopper failed" 645 || error "lopper failed"
636 else 646 else
637 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-r5-imux.dts" \ 647 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-r5-imux.dts" \
638 "${system_dtb}" "${dtb_file}" || error "lopper failed" 648 "${system_dts}" "${dts_file}" || error "lopper failed"
639 fi 649 fi
640 rm -f lop-r5-imux.dts.dtb 650 rm -f lop-r5-imux.dts.dtb
641 ) 651 )
642 652
643 # Build baremetal multiconfig 653 # Build baremetal multiconfig
644 if [ -n "${domain_file}" ]; then 654 if [ -n "${domain_file}" ]; then
645 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 655 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
646 -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" || error "lopper failed" 656 -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed"
647 else 657 else
648 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx cortexr5-${machine} "${embeddedsw}" \ 658 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \
649 || error "lopper failed" 659 || error "lopper failed"
650 fi 660 fi
651 661
652 mv libxil.conf "${libxil}" 662 mv libxil.conf "${libxil}"
653 mv distro.conf "${distro}" 663 mv distro.conf "${features}"
664 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
654 665
655 cat <<EOF >"${conf_file}" 666 cat <<EOF >"${conf_file}"
656CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 667CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
657CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
658 668
659ESW_MACHINE = "cortexr5-${machine}" 669ESW_MACHINE = "$3"
660DEFAULTTUNE = "cortexr5" 670DEFAULTTUNE = "cortexr5"
661 671
662TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 672TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
663 673
664DISTRO = "xilinx-freertos" 674DISTRO = "xilinx-freertos"
665
666LIBXIL_CONFIG = "conf/${libxil}"
667require conf/${distro}
668
669SKIP_META_VIRT_SANITY_CHECK = "1"
670SKIP_META_SECURITY_SANITY_CHECK = "1"
671SKIP_META_TPM_SANITY_CHECK = "1"
672EOF 675EOF
673} 676}
674 677
@@ -679,12 +682,15 @@ process_microblaze() {
679 682
680 info "Generating microblaze processor tunes" 683 info "Generating microblaze processor tunes"
681 684
685 mkdir -p machine/include/${mach_conf}
682 ( 686 (
683 cd dtb || error "Unable to cd to dtb dir" 687 cd dts || error "Unable to cd to dts dir"
684 ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dtb}" \ 688 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dts}" \
685 || error "lopper failed" 689 || error "lopper failed"
686 rm -f lop-microblaze-yocto.dts.dtb 690 rm -f lop-microblaze-yocto.dts.dtb
687 ) >microblaze.conf 691 ) >machine/include/${mach_conf}/microblaze.inc
692
693 echo "require conf/machine/include/xilinx-microblaze.inc" >> machine/include/${mach_conf}/microblaze.inc
688 694
689 microblaze_done=1 695 microblaze_done=1
690} 696}
@@ -695,55 +701,48 @@ pmu-microblaze() {
695 701
696 process_microblaze 702 process_microblaze
697 703
698 dtb_file="microblaze-pmu.dtb" 704 mc_name="microblaze-0-pmu"
699 multiconf="${multiconf} microblaze-pmu" 705 dts_file="${mc_name}.dts"
700 conf_file="multiconfig/microblaze-pmu.conf" 706 multiconf="${multiconf} ${mc_name}"
701 libxil="multiconfig/includes/microblaze-pmu-libxil.conf" 707 multiconf_min="${multiconf_min} ${mc_name}"
702 distro="multiconfig/includes/microblaze-pmu-distro.conf" 708 conf_file="multiconfig/${mc_name}.conf"
709 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
710 features="machine/include/${mach_conf}/${mc_name}-features.conf"
703 711
704 pmu_mcdepends="mc::${dtb_file%%.dtb}:pmu-firmware:do_deploy" 712 pmu_mcdepends="mc::${mc_name}:pmu-firmware:do_deploy"
705 pmu_firmware_deploy_dir="\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}/deploy/images/\${MACHINE}" 713 pmu_firmware_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}"
706 714
707 # Build device tree 715 # Build device tree
708 ( 716 (
709 cd dtb || error "Unable to cd to dtb dir" 717 cd dts || error "Unable to cd to dts dir"
710 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" "${dtb_file}" || error "lopper failed" 718 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed"
711 ) 719 )
712 720
713 # Build baremetal multiconfig 721 # Build baremetal multiconfig
714 if [ -n "${domain_file}" ]; then 722 if [ -n "${domain_file}" ]; then
715 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 723 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
716 -- baremetaldrvlist_xlnx microblaze-pmu "${embeddedsw}" || error "lopper failed" 724 -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed"
717 else 725 else
718 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx microblaze-pmu "${embeddedsw}" \ 726 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \
719 || error "lopper failed" 727 || error "lopper failed"
720 fi 728 fi
721 729
722 mv libxil.conf "${libxil}" 730 mv libxil.conf "${libxil}"
723 mv distro.conf "${distro}" 731 mv distro.conf "${features}"
732 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
724 733
725 cat <<EOF >"${conf_file}" 734 cat <<EOF >"${conf_file}"
726CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 735CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
727CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
728 736
729ESW_MACHINE = "microblaze-pmu" 737ESW_MACHINE = "$1"
730 738
731require conf/microblaze.conf 739DEFAULTTUNE = "microblaze-pmu"
732DEFAULTTUNE = "microblaze"
733TUNE_FEATURES:tune-microblaze:forcevariable = "\${TUNE_FEATURES:tune-pmu-microblaze}"
734 740
735TARGET_CFLAGS += "-DPSU_PMU=1U" 741TARGET_CFLAGS += "-DPSU_PMU=1U"
736 742
737TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 743TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
738 744
739DISTRO = "xilinx-standalone" 745DISTRO = "xilinx-standalone"
740
741LIBXIL_CONFIG = "conf/${libxil}"
742require conf/${distro}
743
744SKIP_META_VIRT_SANITY_CHECK = "1"
745SKIP_META_SECURITY_SANITY_CHECK = "1"
746SKIP_META_TPM_SANITY_CHECK = "1"
747EOF 746EOF
748} 747}
749 748
@@ -753,55 +752,48 @@ pmc-microblaze() {
753 752
754 process_microblaze 753 process_microblaze
755 754
756 dtb_file="microblaze-pmc.dtb" 755 mc_name="microblaze-0-pmc"
757 multiconf="${multiconf} microblaze-pmc" 756 dts_file="${mc_name}.dts"
758 conf_file="multiconfig/microblaze-pmc.conf" 757 multiconf="${multiconf} ${mc_name}"
759 libxil="multiconfig/includes/microblaze-pmc-libxil.conf" 758 multiconf_min="${multiconf_min} ${mc_name}"
760 distro="multiconfig/includes/microblaze-pmc-distro.conf" 759 conf_file="multiconfig/${mc_name}.conf"
760 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
761 features="machine/include/${mach_conf}/${mc_name}-features.conf"
761 762
762 plm_mcdepends="mc::${dtb_file%%.dtb}:plm-firmware:do_deploy" 763 plm_mcdepends="mc::${mc_name}:plm-firmware:do_deploy"
763 plm_deploy_dir="\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}/deploy/images/\${MACHINE}" 764 plm_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}"
764 765
765 # Build device tree 766 # Build device tree
766 ( 767 (
767 cd dtb || error "Unable to cd to dtb dir" 768 cd dts || error "Unable to cd to dts dir"
768 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" "${dtb_file}" || error "lopper failed" 769 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed"
769 ) 770 )
770 771
771 # Build baremetal multiconfig 772 # Build baremetal multiconfig
772 if [ -n "${domain_file}" ]; then 773 if [ -n "${domain_file}" ]; then
773 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 774 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
774 -- baremetaldrvlist_xlnx microblaze-plm "${embeddedsw}" || error "lopper failed" 775 -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed"
775 else 776 else
776 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx microblaze-plm "${embeddedsw}" \ 777 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \
777 || error "lopper failed" 778 || error "lopper failed"
778 fi 779 fi
779 780
780 mv libxil.conf "${libxil}" 781 mv libxil.conf "${libxil}"
781 mv distro.conf "${distro}" 782 mv distro.conf "${features}"
783 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
782 784
783 cat <<EOF >"${conf_file}" 785 cat <<EOF >"${conf_file}"
784CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 786CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
785CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
786 787
787ESW_MACHINE = "microblaze-plm" 788ESW_MACHINE = "$1"
788 789
789require conf/microblaze.conf 790DEFAULTTUNE = "microblaze-pmc"
790DEFAULTTUNE = "microblaze"
791TUNE_FEATURES:tune-microblaze:forcevariable = "\${TUNE_FEATURES:tune-pmc-microblaze}"
792 791
793TARGET_CFLAGS += "-DVERSAL_PLM=1" 792TARGET_CFLAGS += "-DVERSAL_PLM=1"
794 793
795TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 794TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
796 795
797DISTRO = "xilinx-standalone" 796DISTRO = "xilinx-standalone"
798
799LIBXIL_CONFIG = "conf/${libxil}"
800require conf/${distro}
801
802SKIP_META_VIRT_SANITY_CHECK = "1"
803SKIP_META_SECURITY_SANITY_CHECK = "1"
804SKIP_META_TPM_SANITY_CHECK = "1"
805EOF 797EOF
806} 798}
807 799
@@ -811,63 +803,194 @@ psm-microblaze() {
811 803
812 process_microblaze 804 process_microblaze
813 805
814 dtb_file="microblaze-psm.dtb" 806 mc_name="microblaze-0-psm"
815 multiconf="${multiconf} microblaze-psm" 807 dts_file="${mc_name}.dts"
816 conf_file="multiconfig/microblaze-psm.conf" 808 multiconf="${multiconf} ${mc_name}"
817 libxil="multiconfig/includes/microblaze-psm-libxil.conf" 809 multiconf_min="${multiconf_min} ${mc_name}"
818 distro="multiconfig/includes/microblaze-psm-distro.conf" 810 conf_file="multiconfig/${mc_name}.conf"
811 libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf"
812 features="machine/include/${mach_conf}/${mc_name}-features.conf"
819 813
820 psm_mcdepends="mc::${dtb_file%%.dtb}:psm-firmware:do_deploy" 814 psm_mcdepends="mc::${mc_name}:psm-firmware:do_deploy"
821 psm_firmware_deploy_dir="\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}/deploy/images/\${MACHINE}" 815 psm_firmware_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}"
822 816
823 # Build device tree 817 # Build device tree
824 ( 818 (
825 cd dtb || error "Unable to cd to dtb dir" 819 cd dts || error "Unable to cd to dts dir"
826 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dtb}" "${dtb_file}" || error "lopper failed" 820 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed"
827 ) 821 )
828 822
829 # Build baremetal multiconfig 823 # Build baremetal multiconfig
830 if [ -n "${domain_file}" ]; then 824 if [ -n "${domain_file}" ]; then
831 ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dtb}" \ 825 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \
832 -- baremetaldrvlist_xlnx microblaze-psm "${embeddedsw}" || error "lopper failed" 826 -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed"
833 else 827 else
834 ${lopper} -f "${system_dtb}" -- baremetaldrvlist_xlnx microblaze-psm "${embeddedsw}" \ 828 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \
835 || error "lopper failed" 829 || error "lopper failed"
836 fi 830 fi
837 831
838 mv libxil.conf "${libxil}" 832 mv libxil.conf "${libxil}"
839 mv distro.conf "${distro}" 833 mv distro.conf "${features}"
834 sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES,"
840 835
841 cat <<EOF >"${conf_file}" 836 cat <<EOF >"${conf_file}"
842CONFIG_DTFILE = "\${TOPDIR}/conf/dtb/${dtb_file}" 837CONFIG_DTFILE = "\${TOPDIR}/conf/dts/${dts_file}"
843CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
844 838
845ESW_MACHINE = "microblaze-psm" 839ESW_MACHINE = "$1"
846 840
847require conf/microblaze.conf 841DEFAULTTUNE = "microblaze-psm"
848DEFAULTTUNE = "microblaze"
849TUNE_FEATURES:tune-microblaze:forcevariable = "\${TUNE_FEATURES:tune-psm-microblaze}"
850 842
851TARGET_CFLAGS += "-DVERSAL_psm=1" 843TARGET_CFLAGS += "-DVERSAL_psm=1"
852 844
853TMPDIR = "\${BASE_TMPDIR}/tmp-${dtb_file%%.dtb}" 845TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}"
854 846
855DISTRO = "xilinx-standalone" 847DISTRO = "xilinx-standalone"
848EOF
849}
856 850
857LIBXIL_CONFIG = "conf/${libxil}" 851generate_machine() {
858require conf/${distro} 852 info "Generating machine conf file"
853 conf_file="machine/${mach_conf}.conf"
854
855 # Machine include file
856 if [ -z ${incmachine} ]; then
857 if [ -n ${soc_variant} ]; then
858 incmachine="${machine}-${soc_variant}-generic.conf"
859 else
860 incmachine="${machine}-generic.conf"
861 fi
862 fi
863
864 mkdir -p machine
865 # Generate header
866 cat <<EOF >"${conf_file}"
867#@TYPE: Machine
868#@NAME: ${mach_conf}
869#@DESCRIPTION: ${model}
870
871#### Preamble
872MACHINEOVERRIDES =. "\${@['', '${mach_conf}:']['${mach_conf}' != '\${MACHINE}']}"
873#### Regular settings follow
859 874
860SKIP_META_VIRT_SANITY_CHECK = "1"
861SKIP_META_SECURITY_SANITY_CHECK = "1"
862SKIP_META_TPM_SANITY_CHECK = "1"
863EOF 875EOF
864}
865 876
866parse_cpus() { 877 if [ "${machine}" == "zynqmp" ]; then
867 info "Generating configuration..." 878 cat <<EOF >>"${conf_file}"
879TUNEFILE[microblaze-pmu] = "conf/machine/include/${mach_conf}/microblaze.inc"
880EOF
881 elif [ "${machine}" == "versal" ]; then
882 cat <<EOF >>"${conf_file}"
883TUNEFILE[microblaze-pmc] = "conf/machine/include/${mach_conf}/microblaze.inc"
884TUNEFILE[microblaze-psm] = "conf/machine/include/${mach_conf}/microblaze.inc"
885EOF
886 fi
887
888 sysdt_path=$(dirname ${system_dts})
889 sysdt_base=$(basename ${system_dts})
890 cat <<EOF >>"${conf_file}"
891
892# Set the default (linux) domain device tree
893CONFIG_DTFILE ?= "\${TOPDIR}/conf/dts/${system_conf}"
894CONFIG_DTFILE[vardepsexclude] += "TOPDIR"
895
896require conf/machine/${incmachine}
897
898# System Device Tree does not use HDF_MACHINE
899HDF_MACHINE = ""
900
901# Set the system device trees
902SYSTEM_DTFILE_DIR = "${sysdt_path}"
903SYSTEM_DTFILE = "\${SYSTEM_DTFILE_DIR}/${sysdt_base}"
904SYSTEM_DTFILE[vardepsexclude] += "SYSTEM_DTFILE_DIR"
905
906# Load the dynamic machine features
907include conf/machine/include/${mach_conf}/\${BB_CURRENT_MC}-features.conf
908LIBXIL_CONFIG = "conf/machine/include/${mach_conf}/\${BB_CURRENT_MC}-libxil.conf"
909
910EOF
911
912 if [ -n "${fsbl_mcdepends}" ]; then
913 cat <<EOF >>"${conf_file}"
914# First Stage Boot Loader
915FSBL_DEPENDS = ""
916FSBL_MCDEPENDS = "${fsbl_mcdepends}"
917FSBL_DEPLOY_DIR = "${fsbl_deploy_dir}"
918
919EOF
920 fi
921 if [ -n "${r5fsbl_mcdepends}" ]; then
922 cat <<EOF >>"${conf_file}"
923# Cortex-R5 First Stage Boot Loader
924R5FSBL_DEPENDS = ""
925R5FSBL_MCDEPENDS = "${r5fsbl_mcdepends}"
926R5FSBL_DEPLOY_DIR = "${r5fsbl_deploy_dir}"
927
928EOF
929 fi
930 if [ -n "${pmu_mcdepends}" ]; then
931 cat <<EOF >>"${conf_file}"
932# PMU Firware
933PMU_DEPENDS = ""
934PMU_MCDEPENDS = "${pmu_mcdepends}"
935PMU_FIRMWARE_DEPLOY_DIR = "${pmu_firmware_deploy_dir}"
936
937EOF
938 fi
939 if [ -n "${plm_mcdepends}" ]; then
940 cat <<EOF >>"${conf_file}"
941# Platform Loader and Manager
942PLM_DEPENDS = ""
943PLM_MCDEPENDS = "${plm_mcdepends}"
944PLM_DEPLOY_DIR = "${plm_deploy_dir}"
945
946EOF
947 fi
948 if [ -n "${psm_mcdepends}" ]; then
949 cat <<EOF >>"${conf_file}"
950# PSM Firmware
951PSM_DEPENDS = ""
952PSM_MCDEPENDS = "${psm_mcdepends}"
953PSM_FIRMWARE_DEPLOY_DIR = "${psm_firmware_deploy_dir}"
954
955EOF
956 fi
957
958 if [ -n "${full_pdi_path}" ]; then
959 pdi_path_dir=$(dirname ${full_pdi_path})
960 pdi_path_base=$(basename ${full_pdi_path})
961 cat <<EOF >>"${conf_file}"
962# Versal PDI
963PDI_PATH_DIR = "${pdi_path_dir}"
964PDI_PATH = "\${PDI_PATH_DIR}/${pdi_path_base}"
965PDI_PATH[vardepsexclude] += "PDI_PATH_DIR"
966
967EOF
968 fi
969
970 cat <<EOF >>"${conf_file}"
971# Enable the correct version of the firmware components
972PREFERRED_VERSION_fsbl-firmware = "2023.1_sdt_experimental%"
973PREFERRED_VERSION_pmu-firmware = "2023.1_sdt_experimental%"
974PREFERRED_VERSION_plm-firmware = "2023.1_sdt_experimental%"
975PREFERRED_VERSION_psm-firmware = "2023.1_sdt_experimental%"
976
977# Exclude BASE_TMPDIR from hash calculations
978BB_HASHEXCLUDE_COMMON:append = " BASE_TMPDIR"
979
980# Update bootbin to use proper device tree
981BIF_PARTITION_IMAGE[device-tree] = "\${RECIPE_SYSROOT}/boot/devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE').replace('.dts', '.dtb'))}"
982# Remap boot files to ensure the right device tree is listed first
983IMAGE_BOOT_FILES =+ "devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE').replace('.dts', '.dtb'))}"
868 984
869 while read -r cpu domain os_hint; do 985#### No additional settings should be after the Postamble
986#### Postamble
987PACKAGE_EXTRA_ARCHS:append = "\${@['', ' ${mach_conf//-/_}']['${mach_conf}' != "\${MACHINE}"]}"
988EOF
989}
870 990
991parse_cpus() {
992 gen_linux_dts="None"
993 while read -r cpu core domain cpu_name os_hint; do
871 # Skip commented lines and WARNINGs 994 # Skip commented lines and WARNINGs
872 case ${cpu} in 995 case ${cpu} in
873 \#* | \[WARNING\]:) continue ;; 996 \#* | \[WARNING\]:) continue ;;
@@ -877,19 +1000,28 @@ parse_cpus() {
877 1000
878 arm,cortex-a53) 1001 arm,cortex-a53)
879 # We need a base cortex_a53_baremetal for the FSBL 1002 # We need a base cortex_a53_baremetal for the FSBL
880 cortex_a53_baremetal fsbl 1003 if [ "${core}" == 0 ]; then
1004 cortex_a53_baremetal fsbl ${core} ${cpu_name}
1005 fi
881 if [ "${os_hint}" == "None" ]; then 1006 if [ "${os_hint}" == "None" ]; then
882 cortex_a53_linux "${domain}" 1007 if [ "${gen_linux_dts}" == "None" ]; then
883 cortex_a53_baremetal "${domain}" 1008 cortex_a53_linux "${domain}"
884 cortex_a53_freertos "${domain}" 1009 gen_linux_dts="True"
1010 fi
1011 cortex_a53_baremetal "${domain}" ${core} ${cpu_name}
1012 cortex_a53_freertos "${domain}" ${core} ${cpu_name}
885 else 1013 else
886 case "${os_hint}" in 1014 case "${os_hint}" in
887 linux*) 1015 linux*)
888 cortex_a53_linux "${domain}" ;; 1016 if [ "${gen_linux_dts}" == "None" ]; then
1017 cortex_a53_linux "${domain}"
1018 gen_linux_dts="True"
1019 fi
1020 ;;
889 baremetal*) 1021 baremetal*)
890 cortex_a53_baremetal "${domain}" ;; 1022 cortex_a53_baremetal "${domain}" ${core} ${cpu_name};;
891 freertos*) 1023 freertos*)
892 cortex_a53_freertos "${domain}" ;; 1024 cortex_a53_freertos "${domain}" ${core} ${cpu_name};;
893 *) 1025 *)
894 warn "cortex-a53 for unknown OS (${os_hint}), parsing baremetal. ${domain}" 1026 warn "cortex-a53 for unknown OS (${os_hint}), parsing baremetal. ${domain}"
895 cortex_a53_baremetal "${domain}" 1027 cortex_a53_baremetal "${domain}"
@@ -899,36 +1031,42 @@ parse_cpus() {
899 1031
900 arm,cortex-a72) 1032 arm,cortex-a72)
901 if [ "${os_hint}" == "None" ]; then 1033 if [ "${os_hint}" == "None" ]; then
902 cortex_a72_linux "${domain}" 1034 if [ "${gen_linux_dts}" == "None" ]; then
903 cortex_a72_baremetal "${domain}" 1035 cortex_a72_linux "${domain}"
904 cortex_a72_freertos "${domain}" 1036 gen_linux_dts="True"
1037 fi
1038 cortex_a72_baremetal "${domain}" ${core} ${cpu_name}
1039 cortex_a72_freertos "${domain}" ${core} ${cpu_name}
905 else 1040 else
906 case "${os_hint}" in 1041 case "${os_hint}" in
907 linux*) 1042 linux*)
908 cortex_a72_linux "${domain}" ;; 1043 if [ "${gen_linux_dts}" == "None" ]; then
1044 cortex_a72_linux "${domain}"
1045 gen_linux_dts="True"
1046 fi
1047 ;;
909 baremetal*) 1048 baremetal*)
910 cortex_a72_baremetal "${domain}" ;; 1049 cortex_a72_baremetal "${domain}" ${core} ${cpu_name};;
911 freertos*) 1050 freertos*)
912 cortex_a72_freertos "${domain}" ;; 1051 cortex_a72_freertos "${domain}" ${core} ${cpu_name};;
913 *) 1052 *)
914 warn "cortex-a72 for unknown OS (${os_hint}), parsing baremetal. ${domain}" 1053 warn "cortex-a72 for unknown OS (${os_hint}), parsing baremetal. ${domain}"
915 cortex_a72_baremetal "${domain}" 1054 cortex_a72_baremetal "${domain}"
916 esac 1055 esac
917 fi 1056 fi
918 ;; 1057 ;;
919
920 arm,cortex-r5) 1058 arm,cortex-r5)
921 if [ "${os_hint}" == "None" ]; then 1059 if [ "${os_hint}" == "None" ]; then
922 # We need a base cortex_r5_baremetal for the FSBL for ZynqMP platform 1060 # We need a base cortex_r5_baremetal for the FSBL for ZynqMP platform
923 [ "${machine}" = "zynqmp" ] && cortex_r5_baremetal fsbl 1061 [ "${machine}" = "zynqmp" ] && cortex_r5_baremetal fsbl ${core} ${cpu_name}
924 cortex_r5_baremetal "${domain}" 1062 cortex_r5_baremetal "${domain}" ${core} ${cpu_name}
925 cortex_r5_freertos "${domain}" 1063 cortex_r5_freertos "${domain}" ${core} ${cpu_name}
926 else 1064 else
927 case "${os_hint}" in 1065 case "${os_hint}" in
928 baremetal*) 1066 baremetal*)
929 cortex_r5_baremetal "${domain}" ;; 1067 cortex_r5_baremetal "${domain}" ${core} ${cpu_name};;
930 freertos*) 1068 freertos*)
931 cortex_r5_freertos "${domain}" ;; 1069 cortex_r5_freertos "${domain}" ${core} ${cpu_name};;
932 *) 1070 *)
933 warn "cortex-r5 for unknown OS (${os_hint}), parsing baremetal. ${domain}" 1071 warn "cortex-r5 for unknown OS (${os_hint}), parsing baremetal. ${domain}"
934 cortex_r5_baremetal "${domain}" 1072 cortex_r5_baremetal "${domain}"
@@ -949,14 +1087,13 @@ parse_cpus() {
949 ;; 1087 ;;
950 1088
951 pmu-microblaze) 1089 pmu-microblaze)
952 pmu-microblaze ;; 1090 pmu-microblaze ${cpu_name};;
953 1091
954 pmc-microblaze) 1092 pmc-microblaze)
955 pmc-microblaze ;; 1093 pmc-microblaze ${cpu_name};;
956 1094
957 psm-microblaze) 1095 psm-microblaze)
958 psm-microblaze ;; 1096 psm-microblaze ${cpu_name};;
959
960 *) 1097 *)
961 warn "Unknown CPU ${cpu}" 1098 warn "Unknown CPU ${cpu}"
962 1099
@@ -965,45 +1102,45 @@ parse_cpus() {
965} 1102}
966 1103
967gen_local_conf() { 1104gen_local_conf() {
968 echo "# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere" >> $1 1105 cat << EOF >> $1
969 echo "BASE_TMPDIR ?= \"\${TOPDIR}\"" >> $1 1106
970 [ -n "${system_conf}" ] && echo "require ${system_conf}" >> $1 1107# Avoid errors in some baremetal configs as these layers may be present
971 echo "SYSTEM_DTFILE = \"${system_dtb}\"" >> $1 1108# but are not used. Note the following lines are optional and can be
972 echo "BBMULTICONFIG += \"${multiconf}\"" >> $1 1109# safetly disabled.
973 if [ -n "${fsbl_mcdepends}" ]; then 1110SKIP_META_VIRT_SANITY_CHECK = "1"
974 echo "FSBL_DEPENDS = \"\"" >> $1 1111SKIP_META_SECURITY_SANITY_CHECK = "1"
975 echo "FSBL_MCDEPENDS = \"${fsbl_mcdepends}\"" >> $1 1112SKIP_META_TPM_SANITY_CHECK = "1"
976 echo "FSBL_DEPLOY_DIR = \"${fsbl_deploy_dir}\"" >> $1 1113
977 fi 1114# Each multiconfig will define it's own TMPDIR, this is the new default based
978 if [ -n "${r5fsbl_mcdepends}" ]; then 1115# on BASE_TMPDIR for the Linux build
979 echo "R5FSBL_DEPENDS = \"\"" >> $1 1116TMPDIR = "\${BASE_TMPDIR}/tmp"
980 echo "R5FSBL_MCDEPENDS = \"${r5fsbl_mcdepends}\"" >> $1 1117
981 echo "R5FSBL_DEPLOY_DIR = \"${r5fsbl_deploy_dir}\"" >> $1 1118# Use the newly generated MACHINE
982 fi 1119MACHINE = "${mach_conf}"
983 if [ -n "${pmu_mcdepends}" ]; then 1120
984 echo "PMU_DEPENDS = \"\"" >> $1 1121# All of the TMPDIRs must be in a common parent directory. This is defined
985 echo "PMU_MCDEPENDS = \"${pmu_mcdepends}\"" >> $1 1122# as BASE_TMPDIR.
986 echo "PMU_FIRMWARE_DEPLOY_DIR = \"${pmu_firmware_deploy_dir}\"" >> $1 1123# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp
987 fi 1124BASE_TMPDIR ?= "\${TOPDIR}"
988 if [ -n "${plm_mcdepends}" ]; then 1125
989 echo "PLM_DEPENDS = \"\"" >> $1 1126# The following is the full set of multiconfigs for this configuration
990 echo "PLM_MCDEPENDS = \"${plm_mcdepends}\"" >> $1 1127# A large list can cause a slow parse.
991 echo "PLM_DEPLOY_DIR = \"${plm_deploy_dir}\"" >> $1 1128BBMULTICONFIG ?= "${multiconf}"
992 fi 1129# Alternatively trim the list to the minimum
993 if [ -n "${psm_mcdepends}" ]; then 1130#BBMULTICONFIG = "${multiconf_min}"
994 echo "PSM_DEPENDS = \"\"" >> $1 1131EOF
995 echo "PSM_MCDEPENDS = \"${psm_mcdepends}\"" >> $1
996 echo "PSM_FIRMWARE_DEPLOY_DIR = \"${psm_firmware_deploy_dir}\"" >> $1
997 fi
998 [ "${machine}" = "versal" ] && echo "PDI_PATH = \"${full_pdi_path}\"" >> $1
999 echo
1000} 1132}
1001 1133
1002gen_petalinux_conf() { 1134gen_petalinux_conf() {
1003 cd "${config_dir}" || exit 1135 cd "${config_dir}" || exit
1004 ( 1136 (
1005 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dtb}" -- petalinuxconfig_xlnx ${petalinux_schema} \ 1137 if [ "$machine" == "zynqmp" ]; then
1006 || error "lopper failed" 1138 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- petalinuxconfig_xlnx psu_cortexa53_0 ${petalinux_schema} \
1139 || error "lopper failed"
1140 else
1141 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- petalinuxconfig_xlnx psv_cortexa72_0 ${petalinux_schema} \
1142 || error "lopper failed"
1143 fi
1007 ) 1144 )
1008} 1145}
1009parse_args "$@" 1146parse_args "$@"
@@ -1020,20 +1157,47 @@ multiconf=""
1020cpulist=$(mktemp) 1157cpulist=$(mktemp)
1021 1158
1022priordir=$(pwd) 1159priordir=$(pwd)
1023# Generate CPU list
1024cd "${config_dir}" || exit 1160cd "${config_dir}" || exit
1025mkdir -p dtb multiconfig/includes 1161mkdir -p dts multiconfig machine/include
1162# Get mach_conf name and model name
1026( 1163(
1027 cd dtb || error "Unable to cd to dtb dir" 1164 cd dts || error "Unable to cd to dts dir"
1028 ${lopper} -f --enhanced -i "${lops_dir}/lop-xilinx-id-cpus.dts" "${system_dtb}" \ 1165 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-machine-name.dts" "${system_dts}" \
1166 /dev/null > ${cpulist} || error "lopper failed"
1167 rm -f "lop-machine-name.dts.dtb"
1168)
1169read local_mach_conf deviceid model < ${cpulist}
1170if [ -z "${mach_conf}" ]; then
1171 mach_conf=${local_mach_conf}
1172fi
1173
1174# Generate CPU list
1175(
1176 cd dts || error "Unable to cd to dts dir"
1177 LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-xilinx-id-cpus.dts" "${system_dts}" \
1029 /dev/null > ${cpulist} || error "lopper failed" 1178 /dev/null > ${cpulist} || error "lopper failed"
1030 rm -f "lop-xilinx-id-cpus.dts.dtb" 1179 rm -f "lop-xilinx-id-cpus.dts.dtb"
1031) 1180)
1032 1181
1033detect_machine 1182detect_machine
1034 1183# Now that we know the machine name, we can create the directory
1184mkdir -p machine/include/${mach_conf}
1185
1186echo "System Configuration:"
1187echo "MODEL = \"${model}\""
1188echo "MACHINE = \"${mach_conf}\""
1189echo "DEVICE_ID = \"${deviceid}\""
1190echo "SOC_FAMILY = \"${machine}\""
1191echo "SOC_VARIANT = \"${soc_variant}\""
1192echo "CPUs:"
1193dump_cpus " = "
1194echo
1195
1196info "Generating configuration..."
1035parse_cpus 1197parse_cpus
1036 1198
1199generate_machine
1200
1037cd ${priordir} 1201cd ${priordir}
1038if [ -z "${localconf}" ]; then 1202if [ -z "${localconf}" ]; then
1039 echo 1203 echo
@@ -1058,4 +1222,4 @@ if [ -n "${petalinux_schema}" ]; then
1058fi 1222fi
1059 1223
1060# Cleanup our temp file 1224# Cleanup our temp file
1061rm ${cpulist} 1225rm -rf ${cpulist} ${config_dir}/CMakeLists.txt ${config_dir}/DRVLISTConfig.cmake
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb
index 2ac8954b..7edd2d9d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "avbuf" 3REQUIRED_MACHINE_FEATURES = "avbuf"
4 4
5inherit esw 5inherit esw
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb
index 081609dd..1846b291 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axicdma" 3REQUIRED_MACHINE_FEATURES = "axicdma"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb
index 3c7e8b72..47111dc5 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axicdma" 3REQUIRED_MACHINE_FEATURES = "axicdma"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb
index db8658a1..68a26f45 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axidma" 3REQUIRED_MACHINE_FEATURES = "axidma"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb
index 8b24a67e..c385d13f 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axidma" 3REQUIRED_MACHINE_FEATURES = "axidma"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb
index 8dee5feb..04c2c151 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axiethernet" 3REQUIRED_MACHINE_FEATURES = "axiethernet"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb
index b230e6ad..0b635859 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axiethernet" 3REQUIRED_MACHINE_FEATURES = "axiethernet"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb
index 4c949e99..4aa716e7 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axipmon" 3REQUIRED_MACHINE_FEATURES = "axipmon"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axipmon/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axipmon/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb
index 3fa70322..ff2eae91 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axipmon" 3REQUIRED_MACHINE_FEATURES = "axipmon"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb
index 2f69db45..b34dedb0 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axis-switch" 3REQUIRED_MACHINE_FEATURES = "axis-switch"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb
index 6742356c..2866c02b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axivdma" 3REQUIRED_MACHINE_FEATURES = "axivdma"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb
index 5f22d212..15268629 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "axivdma" 3REQUIRED_MACHINE_FEATURES = "axivdma"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb
index 6e2c4918..a3145467 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "bram" 3REQUIRED_MACHINE_FEATURES = "bram"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/bram/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/bram/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb
index 400da93e..3c81c619 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "bram" 3REQUIRED_MACHINE_FEATURES = "bram"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb
index 9e6417ce..115852fa 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "can" 3REQUIRED_MACHINE_FEATURES = "can"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb
index 07024082..eb7fc473 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "can" 3REQUIRED_MACHINE_FEATURES = "can"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb
index c8395f4e..84276569 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "canfd" 3REQUIRED_MACHINE_FEATURES = "canfd"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb
index 719126e5..5f2e6ea8 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "canfd" 3REQUIRED_MACHINE_FEATURES = "canfd"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb
index 17ac3d0c..574dc563 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "canps" 3REQUIRED_MACHINE_FEATURES = "canps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb
index ae88f744..c9f61cd2 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "canps" 3REQUIRED_MACHINE_FEATURES = "canps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb
index bb4a540f..6ffdf85d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "cframe" 3REQUIRED_MACHINE_FEATURES = "cframe"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb
index 6b15f41b..3cb675bc 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "cfupmc" 3REQUIRED_MACHINE_FEATURES = "cfupmc"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb
index a1ce7ed0..ae0453a1 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "clk-wiz" 3REQUIRED_MACHINE_FEATURES = "clk-wiz"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb
index 67fb695e..f9c5bce6 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb
@@ -2,7 +2,7 @@ inherit esw deploy features_check
2 2
3ESW_COMPONENT_SRC = "XilinxProcessorIPLib/drivers/clockps/examples/" 3ESW_COMPONENT_SRC = "XilinxProcessorIPLib/drivers/clockps/examples/"
4 4
5REQUIRED_DISTRO_FEATURES = "clockps" 5REQUIRED_MACHINE_FEATURES = "clockps"
6 6
7DEPENDS += "libxil xiltimer resetps" 7DEPENDS += "libxil xiltimer resetps"
8 8
@@ -12,7 +12,6 @@ do_configure:prepend() {
12 ( 12 (
13 cd ${S} 13 cd ${S}
14 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 14 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
15 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
16 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 15 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
17 ) 16 )
18} 17}
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb
index 99ec8e85..4bddb2c0 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "clockps" 3REQUIRED_MACHINE_FEATURES = "clockps"
4 4
5inherit esw 5inherit esw
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb
index d01a8cac..541ff225 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb
@@ -1,14 +1,14 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "common" 3REQUIRED_MACHINE_FEATURES = "common"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
7DEPENDS += "xilstandalone " 7DEPENDS += "xilstandalone "
8 8
9PACKAGECONFIG ?= "${@bb.utils.contains("DISTRO_FEATURES", "clockps", "clockps", "", d)} \ 9PACKAGECONFIG ?= "${@bb.utils.contains("MACHINE_FEATURES", "clockps", "clockps", "", d)} \
10 ${@bb.utils.contains("DISTRO_FEATURES", "scugic", "scugic", "", d)} \ 10 ${@bb.utils.contains("MACHINE_FEATURES", "scugic", "scugic", "", d)} \
11 ${@bb.utils.contains("DISTRO_FEATURES", "intc", "intc", "", d)}" 11 ${@bb.utils.contains("MACHINE_FEATURES", "intc", "intc", "", d)}"
12PACKAGECONFIG[clockps] = "${RECIPE_SYSROOT}/usr/lib/libclockps.a,,clockps,," 12PACKAGECONFIG[clockps] = "${RECIPE_SYSROOT}/usr/lib/libclockps.a,,clockps,,"
13PACKAGECONFIG[scugic] = "${RECIPE_SYSROOT}/usr/lib/libscugic.a,,scugic,," 13PACKAGECONFIG[scugic] = "${RECIPE_SYSROOT}/usr/lib/libscugic.a,,scugic,,"
14PACKAGECONFIG[intc] = "${RECIPE_SYSROOT}/usr/lib/libintc.a,,intc,," 14PACKAGECONFIG[intc] = "${RECIPE_SYSROOT}/usr/lib/libintc.a,,intc,,"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb
index f1dce225..9110b51e 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "coresightps-dcc" 3REQUIRED_MACHINE_FEATURES = "coresightps-dcc"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb
index 3f5c2138..5706967a 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "csudma" 3REQUIRED_MACHINE_FEATURES = "csudma"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb
index 002f6d15..8283ce8d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "csudma" 3REQUIRED_MACHINE_FEATURES = "csudma"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb
index 91f2679d..4728b6c5 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "ddrcpsu" 3REQUIRED_MACHINE_FEATURES = "ddrcpsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb
index 2b0cd72f..dd70e09d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "devcfg" 3REQUIRED_MACHINE_FEATURES = "devcfg"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb
index 69d01ffa..4b794d22 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "devcfg" 3REQUIRED_MACHINE_FEATURES = "devcfg"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb
index d98ba493..974dd48b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "dfxasm" 3REQUIRED_MACHINE_FEATURES = "dfxasm"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfxasm/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfxasm/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb
index 755545d2..81f2157b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "dfxasm" 3REQUIRED_MACHINE_FEATURES = "dfxasm"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb
index 77d4ac0c..40d08e4b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "dmaps" 3REQUIRED_MACHINE_FEATURES = "dmaps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb
index 82005fe9..3adb88a6 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "dpdma" 3REQUIRED_MACHINE_FEATURES = "dpdma"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb
index 478af8a3..87cca884 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "dppsu" 3REQUIRED_MACHINE_FEATURES = "dppsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb
index 82a66d70..6ed717fb 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "emaclite" 3REQUIRED_MACHINE_FEATURES = "emaclite"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb
index 2784110a..9ceb477f 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "emaclite" 3REQUIRED_MACHINE_FEATURES = "emaclite"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb
index 93c2ff59..2c57eafe 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "emacps" 3REQUIRED_MACHINE_FEATURES = "emacps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb
index 08bb3202..8ed85984 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "emacps" 3REQUIRED_MACHINE_FEATURES = "emacps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb
index 1446c92c..3f79cfec 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "gpio" 3REQUIRED_MACHINE_FEATURES = "gpio"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb
index 5bd6c7f0..83a746b7 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "gpio" 3REQUIRED_MACHINE_FEATURES = "gpio"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb
index e7050fc4..cc2e1703 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "gpiops" 3REQUIRED_MACHINE_FEATURES = "gpiops"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb
index 55fca761..4bd63d1e 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "gpiops" 3REQUIRED_MACHINE_FEATURES = "gpiops"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb
index 55627498..b781b82c 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "iic" 3REQUIRED_MACHINE_FEATURES = "iic"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iic/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iic/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb
index 8474a61b..7011f90b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "iic" 3REQUIRED_MACHINE_FEATURES = "iic"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb
index fec7256b..e9df1cbd 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "iicps" 3REQUIRED_MACHINE_FEATURES = "iicps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iicps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iicps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb
index d68d7d88..e96dc2ac 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "iicps" 3REQUIRED_MACHINE_FEATURES = "iicps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb
index 2e86d35c..0b4b95a8 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "intc" 3REQUIRED_MACHINE_FEATURES = "intc"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/intc/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/intc/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb
index 05a44342..331c2e32 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "intc" 3REQUIRED_MACHINE_FEATURES = "intc"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb
index c2ea342d..1f625521 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "iomodule" 3REQUIRED_MACHINE_FEATURES = "iomodule"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb
index e007b74e..0b31601d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "ipipsu" 3REQUIRED_MACHINE_FEATURES = "ipipsu"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb
index b7369c7a..3e2ccc0b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "ipipsu" 3REQUIRED_MACHINE_FEATURES = "ipipsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb
index da02cbd2..6b1c211a 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "llfifo" 3REQUIRED_MACHINE_FEATURES = "llfifo"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb
index 4241f80a..1fb76b18 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "llfifo" 3REQUIRED_MACHINE_FEATURES = "llfifo"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb
index 3adea549..3c4870b4 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "mbox" 3REQUIRED_MACHINE_FEATURES = "mbox"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb
index b7a3f54a..5c1b8393 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "mbox" 3REQUIRED_MACHINE_FEATURES = "mbox"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb
index 54622350..64979470 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "mcdma" 3REQUIRED_MACHINE_FEATURES = "mcdma"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb
index d697f768..f13a7e54 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "mcdma" 3REQUIRED_MACHINE_FEATURES = "mcdma"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb
index ac637d2c..fc0527da 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "mutex" 3REQUIRED_MACHINE_FEATURES = "mutex"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb
index b4702e03..98abc948 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "mutex" 3REQUIRED_MACHINE_FEATURES = "mutex"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb
index 0502471e..8b7a88b5 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "nandpsu" 3REQUIRED_MACHINE_FEATURES = "nandpsu"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb
index 72e6160a..6d2a71c5 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "nandpsu" 3REQUIRED_MACHINE_FEATURES = "nandpsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb
index c9d68260..0ded4fd2 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "ospipsv" 3REQUIRED_MACHINE_FEATURES = "ospipsv"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb
index 19cfe8ed..f0548efc 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "ospipsv" 3REQUIRED_MACHINE_FEATURES = "ospipsv"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb
index a980b4b5..23895fba 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "pciepsu" 3REQUIRED_MACHINE_FEATURES = "pciepsu"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/pciepsu/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/pciepsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb
index ce6cb3a0..ccedb1df 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "pciepsu" 3REQUIRED_MACHINE_FEATURES = "pciepsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb
index 7a77274d..674b879a 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "qspips" 3REQUIRED_MACHINE_FEATURES = "qspips"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb
index 67c9e935..fa28d901 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "qspips" 3REQUIRED_MACHINE_FEATURES = "qspips"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb
index a533c50c..21231450 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "qspipsu" 3REQUIRED_MACHINE_FEATURES = "qspipsu"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb
index 79156cf5..5b4b1614 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "qspipsu" 3REQUIRED_MACHINE_FEATURES = "qspipsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb
index 86a9acc1..243393bb 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "resetps" 3REQUIRED_MACHINE_FEATURES = "resetps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb
index 86171bfc..c753c666 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "resetps" 3REQUIRED_MACHINE_FEATURES = "resetps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb
index fc18adeb..ac386c4c 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "rtcpsu" 3REQUIRED_MACHINE_FEATURES = "rtcpsu"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb
index 4ef2cccd..7b96bf16 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "rtcpsu" 3REQUIRED_MACHINE_FEATURES = "rtcpsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb
index 5ad0ba17..cbef3ce9 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "scugic" 3REQUIRED_MACHINE_FEATURES = "scugic"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb
index 19ec303e..f079354d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "scugic" 3REQUIRED_MACHINE_FEATURES = "scugic"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb
index 9a5c435b..550d664b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sdps" 3REQUIRED_MACHINE_FEATURES = "sdps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb
index dfe68bfd..4caf0e63 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sdps" 3REQUIRED_MACHINE_FEATURES = "sdps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb
index bec085bb..71ead5d3 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "spips" 3REQUIRED_MACHINE_FEATURES = "spips"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb
index 9451d79b..ca02fda0 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "spips" 3REQUIRED_MACHINE_FEATURES = "spips"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb
index 1ef37ee8..5bc007ad 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sysmon" 3REQUIRED_MACHINE_FEATURES = "sysmon"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb
index f1be4ee6..5353f6f8 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sysmon" 3REQUIRED_MACHINE_FEATURES = "sysmon"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb
index 52e5b1e6..2c76a978 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sysmonpsu" 3REQUIRED_MACHINE_FEATURES = "sysmonpsu"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsu/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb
index 5056cb15..871a77a3 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sysmonpsu" 3REQUIRED_MACHINE_FEATURES = "sysmonpsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb
index 7bd0e81d..edce2794 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sysmonpsv" 3REQUIRED_MACHINE_FEATURES = "sysmonpsv"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb
index 06b82811..2c693809 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb
@@ -1,10 +1,10 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sysmonpsv" 3REQUIRED_MACHINE_FEATURES = "sysmonpsv"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
7DEPENDS += "xilstandalone ${@'scugic' if d.getVar('ESW_MACHINE') != 'microblaze-plm' and d.getVar('ESW_MACHINE') != 'microblaze-psm' else ''}" 7DEPENDS += "xilstandalone ${@'scugic' if d.getVar('ESW_MACHINE') != 'psv_pmc_0' and d.getVar('ESW_MACHINE') != 'psv_psm_0' else ''}"
8 8
9ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/src/" 9ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/src/"
10ESW_COMPONENT_NAME = "libsysmonpsv.a" 10ESW_COMPONENT_NAME = "libsysmonpsv.a"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb
index c13880f1..dbf3d364 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "tmr-inject" 3REQUIRED_MACHINE_FEATURES = "tmr-inject"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb
index 9d491abb..dd91fed7 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "tmr-manager" 3REQUIRED_MACHINE_FEATURES = "tmr-manager"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb
index cd971139..8224d6fe 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "tmrctr" 3REQUIRED_MACHINE_FEATURES = "tmrctr"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb
index 1eb38c44..cf94a9d0 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "tmrctr" 3REQUIRED_MACHINE_FEATURES = "tmrctr"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb
index 57d6a2cb..84c5618c 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "trafgen" 3REQUIRED_MACHINE_FEATURES = "trafgen"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trafgen/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trafgen/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb
index d9e9238a..77d000db 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "trafgen" 3REQUIRED_MACHINE_FEATURES = "trafgen"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb
index 783dce25..d294c383 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "ttcps" 3REQUIRED_MACHINE_FEATURES = "ttcps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb
index 7de97781..ea520656 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "ttcps" 3REQUIRED_MACHINE_FEATURES = "ttcps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb
index f218e604..9aa0f598 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartlite" 3REQUIRED_MACHINE_FEATURES = "uartlite"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb
index 270ffb43..5998e092 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartlite" 3REQUIRED_MACHINE_FEATURES = "uartlite"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb
index 2e98c9f9..d81ce77b 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb
@@ -1,6 +1,6 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartns550" 3REQUIRED_MACHINE_FEATURES = "uartns550"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartns550/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartns550/examples/"
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb
index 8e64457e..a08763cb 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartns550" 3REQUIRED_MACHINE_FEATURES = "uartns550"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb
index f010794a..bbff466d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartps" 3REQUIRED_MACHINE_FEATURES = "uartps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb
index c2247736..932be9eb 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartps" 3REQUIRED_MACHINE_FEATURES = "uartps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb
index e881f429..78f878a6 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb
@@ -1,6 +1,6 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartpsv" 3REQUIRED_MACHINE_FEATURES = "uartpsv"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartpsv/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartpsv/examples/"
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb
index 266f1db9..01e48caa 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "uartpsv" 3REQUIRED_MACHINE_FEATURES = "uartpsv"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb
index e9fddd0b..0d4e113a 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "usb" 3REQUIRED_MACHINE_FEATURES = "usb"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usb/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usb/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb
index 720c73b0..9dac8cba 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "usb" 3REQUIRED_MACHINE_FEATURES = "usb"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb
index 88c983e0..4eb9bc93 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "usbpsu" 3REQUIRED_MACHINE_FEATURES = "usbpsu"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb
index a8947226..194b1f0f 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "usbpsu" 3REQUIRED_MACHINE_FEATURES = "usbpsu"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb
index 21261423..068a43e9 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-csc" 3REQUIRED_MACHINE_FEATURES = "v-csc"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb
index 006452d3..741fdd91 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-deinterlacer" 3REQUIRED_MACHINE_FEATURES = "v-deinterlacer"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb
index 21f80b09..cf2cdf6f 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-demosaic" 3REQUIRED_MACHINE_FEATURES = "v-demosaic"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_demosaic/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_demosaic/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb
index 83913f31..79ef55f2 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-demosaic" 3REQUIRED_MACHINE_FEATURES = "v-demosaic"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb
index fcb2f95e..fc13c194 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-frmbuf-rd" 3REQUIRED_MACHINE_FEATURES = "v-frmbuf-rd"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_rd/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_rd/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb
index da248701..91ee34d8 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-frmbuf-rd" 3REQUIRED_MACHINE_FEATURES = "v-frmbuf-rd"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb
index 215bd250..87a1be53 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-frmbuf-wr" 3REQUIRED_MACHINE_FEATURES = "v-frmbuf-wr"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_wr/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_wr/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb
index f2ec3b27..d88ac592 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-frmbuf-wr" 3REQUIRED_MACHINE_FEATURES = "v-frmbuf-wr"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb
index 8fa3e245..4d5dcf03 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-gamma-lut" 3REQUIRED_MACHINE_FEATURES = "v-gamma-lut"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_gamma_lut/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_gamma_lut/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb
index 6d365dcd..8cf95c9d 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-gamma-lut" 3REQUIRED_MACHINE_FEATURES = "v-gamma-lut"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb
index fb3119b8..1731f984 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-hcresampler" 3REQUIRED_MACHINE_FEATURES = "v-hcresampler"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb
index 17d129d1..b239380e 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-hscaler" 3REQUIRED_MACHINE_FEATURES = "v-hscaler"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb
index 7c0bdb12..f5ad5f4e 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-letterbox" 3REQUIRED_MACHINE_FEATURES = "v-letterbox"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb
index 0597cb64..8bafbf00 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-mix" 3REQUIRED_MACHINE_FEATURES = "v-mix"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_mix/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_mix/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb
index f3b8b967..acc19bd0 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-mix" 3REQUIRED_MACHINE_FEATURES = "v-mix"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb
index c584a558..28660316 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-multi-scaler" 3REQUIRED_MACHINE_FEATURES = "v-multi-scaler"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_multi_scaler/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_multi_scaler/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb
index b2a9c5e5..bd725dbe 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-multi-scaler" 3REQUIRED_MACHINE_FEATURES = "v-multi-scaler"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb
index 7b610b41..2859de79 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-scenechange" 3REQUIRED_MACHINE_FEATURES = "v-scenechange"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_scenechange/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_scenechange/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb
index 91de657d..77cf9189 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-scenechange" 3REQUIRED_MACHINE_FEATURES = "v-scenechange"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb
index fbc3d696..6ea70db1 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-tpg" 3REQUIRED_MACHINE_FEATURES = "v-tpg"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb
index 1f262db0..45913cdc 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-vcresampler" 3REQUIRED_MACHINE_FEATURES = "v-vcresampler"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb
index 4d5ca11b..9528d2e0 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "v-vscaler" 3REQUIRED_MACHINE_FEATURES = "v-vscaler"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb
index 37596d56..278dee8a 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "video-common" 3REQUIRED_MACHINE_FEATURES = "video-common"
4 4
5inherit esw 5inherit esw
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb
index 7c44a0f5..d9050ec4 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "vprocss" 3REQUIRED_MACHINE_FEATURES = "vprocss"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vprocss/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vprocss/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb
index ea28963b..26b2852f 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "vprocss" 3REQUIRED_MACHINE_FEATURES = "vprocss"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb
index 59d45b74..a82ae5ee 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "vtc" 3REQUIRED_MACHINE_FEATURES = "vtc"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb
index f3696e60..610a7476 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "wdtps" 3REQUIRED_MACHINE_FEATURES = "wdtps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb
index 8accc1aa..2c900038 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "wdtps" 3REQUIRED_MACHINE_FEATURES = "wdtps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb
index 99b65cc9..cad6ca20 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "wdttb" 3REQUIRED_MACHINE_FEATURES = "wdttb"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdttb/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdttb/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb
index 99388577..33331c32 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "wdttb" 3REQUIRED_MACHINE_FEATURES = "wdttb"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb
index bda86f79..f8878144 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "xadcps" 3REQUIRED_MACHINE_FEATURES = "xadcps"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb
index 39b2855e..85800a27 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "xadcps" 3REQUIRED_MACHINE_FEATURES = "xadcps"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb
index fd268ba8..26983a8f 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "xdmapcie" 3REQUIRED_MACHINE_FEATURES = "xdmapcie"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xdmapcie/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xdmapcie/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb
index 87c7b073..cab8e9d0 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "xdmapcie" 3REQUIRED_MACHINE_FEATURES = "xdmapcie"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb
index 283bea9b..d6a87183 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "xxvethernet" 3REQUIRED_MACHINE_FEATURES = "xxvethernet"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb
index d810cf0c..491eb07c 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "xxvethernet" 3REQUIRED_MACHINE_FEATURES = "xxvethernet"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb
index afba0f8a..e74e3279 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb
@@ -1,5 +1,5 @@
1inherit esw_examples features_check 1inherit esw_examples features_check
2 2
3REQUIRED_DISTRO_FEATURES = "zdma" 3REQUIRED_MACHINE_FEATURES = "zdma"
4 4
5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/examples/" 5ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb
index 8e6c768c..e987f560 100644
--- a/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb
@@ -1,6 +1,6 @@
1inherit features_check 1inherit features_check
2 2
3REQUIRED_DISTRO_FEATURES = "zdma" 3REQUIRED_MACHINE_FEATURES = "zdma"
4 4
5inherit esw python3native 5inherit esw python3native
6 6
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb
index 9d0b697f..2ec1d6cd 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb
@@ -25,8 +25,8 @@ ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/"
25ESW_COMPONENT_NAME = "libxil.a" 25ESW_COMPONENT_NAME = "libxil.a"
26 26
27DEPENDS += "xilstandalone " 27DEPENDS += "xilstandalone "
28REQUIRED_DISTRO_FEATURES = "${DISTRO_FEATURES}" 28REQUIRED_MACHINE_FEATURES = "${MACHINE_FEATURES}"
29PACKAGECONFIG ?= "${DISTRO_FEATURES}" 29PACKAGECONFIG ?= "${MACHINE_FEATURES}"
30 30
31do_configure:prepend() { 31do_configure:prepend() {
32 LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S} 32 LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S}
@@ -37,7 +37,7 @@ do_compile() {
37 # Combines the .a archives produced by all of the dependent items 37 # Combines the .a archives produced by all of the dependent items
38 cd ${RECIPE_SYSROOT}/usr/lib/ 38 cd ${RECIPE_SYSROOT}/usr/lib/
39 echo create libxil.a > libxil.mri 39 echo create libxil.a > libxil.mri
40 for each in ${REQUIRED_DISTRO_FEATURES}; do 40 for each in ${REQUIRED_MACHINE_FEATURES}; do
41 each=$(echo $each | sed 's/-/_/g') 41 each=$(echo $each | sed 's/-/_/g')
42 if [ -e lib$each.a ]; then 42 if [ -e lib$each.a ]; then
43 echo addlib lib$each.a >> libxil.mri 43 echo addlib lib$each.a >> libxil.mri
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb
index 213187e1..93f0b1e8 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb
@@ -1,17 +1,17 @@
1inherit esw python3native 1inherit esw python3native
2 2
3ESW_COMPONENT_SRC = "/ThirdParty/sw_services/lwip211/src/" 3ESW_COMPONENT_SRC = "/ThirdParty/sw_services/lwip213/src/"
4ESW_COMPONENT_NAME = "liblwip211.a" 4ESW_COMPONENT_NAME = "liblwip213.a"
5 5
6DEPENDS += "libxil" 6DEPENDS += "libxil"
7DEPENDS:append:xilinx-freertos = "freertos10-xilinx" 7DEPENDS:append:xilinx-freertos = "freertos10-xilinx"
8 8
9EXTRA_OECMAKE += "-Dlwip_api_mode=RAW_API" 9EXTRA_OECMAKE += "-Dlwip213_api_mode=RAW_API"
10EXTRA_OECMAKE += "-Dlwip_dhcp_does_arp_check=ON" 10EXTRA_OECMAKE += "-Dlwip213_dhcp_does_arp_check=ON"
11EXTRA_OECMAKE += "-Dlwip_dhcp=ON" 11EXTRA_OECMAKE += "-Dlwip213_dhcp=ON"
12EXTRA_OECMAKE += "-Dlwip_pbuf_pool_size=2048" 12EXTRA_OECMAKE += "-Dlwip213_pbuf_pool_size=2048"
13EXTRA_OECMAKE += "-Dlwip_ipv6_enable=OFF" 13EXTRA_OECMAKE += "-Dlwip213_ipv6_enable=OFF"
14EXTRA_OECMAKE:append:xilinx-freertos = " -Dlwip_api_mode=SOCKET_API" 14EXTRA_OECMAKE:append:xilinx-freertos = " -Dlwip213_api_mode=SOCKET_API"
15 15
16do_configure:prepend() { 16do_configure:prepend() {
17 # This script should also not rely on relative paths and such 17 # This script should also not rely on relative paths and such
@@ -30,5 +30,5 @@ do_install() {
30 install -m 0644 ${B}/include/*.h ${D}${includedir} 30 install -m 0644 ${B}/include/*.h ${D}${includedir}
31 cp -r ${B}/include/arch/ ${D}${includedir} 31 cp -r ${B}/include/arch/ ${D}${includedir}
32 cp -r ${B}/include/include/lwip/ ${D}${includedir} 32 cp -r ${B}/include/include/lwip/ ${D}${includedir}
33 cp -r ${B}/include/include/netif/ ${D}${includedir} 33 cp -r ${B}/include/netif/ ${D}${includedir}
34} 34}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_git.bb
index bb976377..cae39d17 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_git.bb
@@ -1,7 +1,7 @@
1inherit esw deploy 1inherit esw deploy
2 2
3# Requires by dependency xilffs 3# Requires by dependency xilffs
4REQUIRED_DISTRO_FEATURES = "sdps" 4REQUIRED_MACHINE_FEATURES = "sdps"
5 5
6ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/examples/" 6ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/examples/"
7 7
@@ -11,7 +11,6 @@ do_configure:prepend() {
11 ( 11 (
12 cd ${S} 12 cd ${S}
13 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 13 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
14 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
15 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 14 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
16 ) 15 )
17} 16}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb
index 2a01c974..298e3033 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb
@@ -1,7 +1,5 @@
1inherit esw features_check 1inherit esw features_check
2 2
3REQUIRED_DISTRO_FEATURES = "sdps"
4
5ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/src/" 3ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/src/"
6ESW_COMPONENT_NAME = "libxilffs.a" 4ESW_COMPONENT_NAME = "libxilffs.a"
7 5
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_git.bb
index df5c1bbe..a3fb1560 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_git.bb
@@ -8,7 +8,6 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 ) 12 )
14} 13}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_git.bb
index 1e457d18..600369ad 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_git.bb
@@ -8,7 +8,6 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 ) 12 )
14} 13}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb
index 50dbc776..77115515 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb
@@ -4,3 +4,12 @@ ESW_COMPONENT_SRC = "/lib/sw_services/xilmailbox/src/"
4ESW_COMPONENT_NAME = "libxilmailbox.a" 4ESW_COMPONENT_NAME = "libxilmailbox.a"
5 5
6DEPENDS += "xilstandalone libxil xiltimer" 6DEPENDS += "xilstandalone libxil xiltimer"
7
8do_configure:prepend() {
9 # This script should also not rely on relative paths and such
10 (
11 cd ${S}
12 lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S}
13 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
14 )
15}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_git.bb
index a656e7ec..a4a81c8b 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_git.bb
@@ -8,7 +8,6 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 ) 12 )
14} 13}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb
index f58538cd..69b505c8 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb
@@ -1,6 +1,15 @@
1inherit esw 1inherit esw python3native
2 2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilpm/src/" 3ESW_COMPONENT_SRC = "/lib/sw_services/xilpm/src/"
4ESW_COMPONENT_NAME = "libxilpm.a" 4ESW_COMPONENT_NAME = "libxilpm.a"
5 5
6DEPENDS = "libxil ${@'xilplmi cframe' if d.getVar('ESW_MACHINE') == 'microblaze-plm' else ''}" 6DEPENDS += "libxil ${@'xilplmi cframe' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else ''}"
7
8do_configure:prepend:zynqmp() {
9 # This script should also not rely on relative paths and such
10 (
11 cd ${S}
12 lopper -f --enhanced --werror ${DTS_FILE} -- generate_config_object pm_cfg_obj.c ${ESW_MACHINE}
13 install -m 0755 pm_cfg_obj.c ${S}/${ESW_COMPONENT_SRC}/zynqmp/client/common/
14 )
15}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_git.bb
index ad2d5c47..ca0abc12 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_git.bb
@@ -8,7 +8,6 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 ) 12 )
14} 13}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb
index 266503d1..81bee095 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb
@@ -3,4 +3,4 @@ inherit esw
3ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/" 3ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/"
4ESW_COMPONENT_NAME = "libxilpuf.a" 4ESW_COMPONENT_NAME = "libxilpuf.a"
5 5
6DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'microblaze-plm' else 'xilmailbox'}" 6DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else 'xilmailbox'}"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_git.bb
index 2267571f..993794b5 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_git.bb
@@ -8,7 +8,6 @@ do_configure:prepend() {
8 ( 8 (
9 cd ${S} 9 cd ${S}
10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 10 lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
11 install -m 0755 memory.ld ${S}/${ESW_COMPONENT_SRC}/
12 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ 11 install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/
13 ) 12 )
14} 13}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb
index b8e2aa16..0001d3fb 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb
@@ -3,4 +3,4 @@ inherit esw
3ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/" 3ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/"
4ESW_COMPONENT_NAME = "libxilsecure.a" 4ESW_COMPONENT_NAME = "libxilsecure.a"
5 5
6DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'microblaze-plm' else 'xilmailbox'}" 6DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else ''} ${@'xilmailbox' if d.getVar('ESW_MACHINE') == 'psv_cortexa72_0' or d.getVar('ESW_MACHINE') == 'psv_cortexr5_0' else ''}"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb
index 70a46c5e..facbfbaa 100644
--- a/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb
@@ -11,6 +11,8 @@ do_configure:prepend() {
11 cd ${S} 11 cd ${S}
12 lopper ${DTS_FILE} -- baremetal_bspconfig_xlnx ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} 12 lopper ${DTS_FILE} -- baremetal_bspconfig_xlnx ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC}
13 install -m 0755 MemConfig.cmake ${S}/${ESW_COMPONENT_SRC}/ 13 install -m 0755 MemConfig.cmake ${S}/${ESW_COMPONENT_SRC}/
14 install -m 0755 *.c ${S}/${ESW_COMPONENT_SRC}/common/ 14 install -m 0755 *.c ${S}/${ESW_COMPONENT_SRC}
15 lopper ${DTS_FILE} -- bmcmake_metadata_xlnx ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S}
16 install -m 0755 StandaloneExample.cmake ${S}/${ESW_COMPONENT_SRC}/common/
15 ) 17 )
16} 18}
diff --git a/meta-xilinx-standalone/README.md b/meta-xilinx-standalone/README.md
index 0a8114d8..aa672b1d 100644
--- a/meta-xilinx-standalone/README.md
+++ b/meta-xilinx-standalone/README.md
@@ -68,4 +68,4 @@ This layer depends on:
68 https://git.yoctoproject.org/meta-xilinx (official version) 68 https://git.yoctoproject.org/meta-xilinx (official version)
69 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) 69 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release)
70 layers: meta-xilinx-microblaze, meta-xilinx-core, meta-xilinx-bsp 70 layers: meta-xilinx-microblaze, meta-xilinx-core, meta-xilinx-bsp
71 branch: langdale or amd xilinx release version (e.g. rel-v2022.2) 71 branch: langdale or amd xilinx release version (e.g. rel-v2023.1)
diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass
index d9c6e149..aaee9e68 100644
--- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass
+++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass
@@ -5,10 +5,12 @@ REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https"
5 5
6ESW_BRANCH[2022.1] = "xlnx_rel_v2022.1_update" 6ESW_BRANCH[2022.1] = "xlnx_rel_v2022.1_update"
7ESW_BRANCH[2022.2] = "xlnx_rel_v2022.2" 7ESW_BRANCH[2022.2] = "xlnx_rel_v2022.2"
8ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1"
8BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" 9BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}"
9 10
10ESW_REV[2022.1] = "56d94a506fd9f80949f4cff08e13015928603f01" 11ESW_REV[2022.1] = "56d94a506fd9f80949f4cff08e13015928603f01"
11ESW_REV[2022.2] = "5330a64c8efd14f0eef09befdbb8d3d738c33ec2" 12ESW_REV[2022.2] = "5330a64c8efd14f0eef09befdbb8d3d738c33ec2"
13ESW_REV[2023.1] = "86f54b77641f325042a1101fead96b2714e6d3ef"
12SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'invalid'}" 14SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'invalid'}"
13 15
14EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" 16EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}"
@@ -17,6 +19,7 @@ EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}"
17LICENSE = "MIT" 19LICENSE = "MIT"
18LIC_FILES_CHKSUM[xlnx_rel_v2022.1_update] = 'e62cb7a722c4430999e0a55a7234035d' 20LIC_FILES_CHKSUM[xlnx_rel_v2022.1_update] = 'e62cb7a722c4430999e0a55a7234035d'
19LIC_FILES_CHKSUM[xlnx_rel_v2022.2] = 'ce611484168a6000bd35df68fc4f4290' 21LIC_FILES_CHKSUM[xlnx_rel_v2022.2] = 'ce611484168a6000bd35df68fc4f4290'
22LIC_FILES_CHKSUM[xlnx_rel_v2023.1] = '3c310a3ee2197a4c92c6a0e2937c207c'
20LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" 23LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}"
21 24
22SRC_URI = "${EMBEDDEDSW_SRCURI}" 25SRC_URI = "${EMBEDDEDSW_SRCURI}"
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch
new file mode 100644
index 00000000..d6cb0e38
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/0001-versal_fw-Fixup-core-makefiles.patch
@@ -0,0 +1,101 @@
1From 607322dafb2979affd329ea70a2a7952203188a4 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Wed, 7 Dec 2022 15:42:15 -0800
4Subject: [PATCH] versal_fw: Fixup core makefiles
5
6The Yocto Project build environment needs to be able to override a few
7additional variables that may not be appropriate to do on the regular
8command line build version. This patch preserves the default while
9allowing it to be overriden as necessary.
10
11Signed-off-by: Mark Hatle <mark.hatle@amd.com>
12---
13 lib/sw_apps/versal_plm/misc/versal/Makefile | 6 ++++--
14 lib/sw_apps/versal_plm/misc/versal_net/Makefile | 6 ++++--
15 lib/sw_apps/versal_psmfw/misc/Makefile | 6 ++++--
16 3 files changed, 12 insertions(+), 6 deletions(-)
17
18diff --git a/lib/sw_apps/versal_plm/misc/versal/Makefile b/lib/sw_apps/versal_plm/misc/versal/Makefile
19index 5c8e719e9c..af070716b6 100644
20--- a/lib/sw_apps/versal_plm/misc/versal/Makefile
21+++ b/lib/sw_apps/versal_plm/misc/versal/Makefile
22@@ -2,6 +2,8 @@
23 COMPILER := mb-gcc
24 ARCHIVER := mb-gcc-ar
25 ASSEMBLER := mb-as
26+COMPILER_FLAGS := -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare
27+EXTRA_COMPILER_FLAGS := -g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects
28 DRIVER_LIB_VERSION = 1.0
29 PROCESSOR = psv_pmc_0
30 LIBRARIES = ${PROCESSOR}/lib/libxil.a
31@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
32
33 %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
34 @echo "Running Make include in $(subst /make.include,,$@)"
35- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
36+ $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
37
38 %/make.libs: include
39 @echo "Running Make libs in $(subst /make.libs,,$@)"
40- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
41+ $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
42
43 %/make.clean:
44 $(MAKE) -C $(subst /make.clean,,$@) -s clean
45diff --git a/lib/sw_apps/versal_plm/misc/versal_net/Makefile b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
46index abffa6c5ed..4af5a02001 100644
47--- a/lib/sw_apps/versal_plm/misc/versal_net/Makefile
48+++ b/lib/sw_apps/versal_plm/misc/versal_net/Makefile
49@@ -2,6 +2,8 @@
50 COMPILER := mb-gcc
51 ARCHIVER := mb-gcc-ar
52 ASSEMBLER := mb-as
53+COMPILER_FLAGS := -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare
54+EXTRA_COMPILER_FLAGS := -g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects
55 DRIVER_LIB_VERSION = 1.0
56 PROCESSOR = psx_pmc_0
57 LIBRARIES = ${PROCESSOR}/lib/libxil.a
58@@ -40,11 +42,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
59
60 %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
61 @echo "Running Make include in $(subst /make.include,,$@)"
62- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
63+ $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
64
65 %/make.libs: include
66 @echo "Running Make libs in $(subst /make.libs,,$@)"
67- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
68+ $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
69
70 %/make.clean:
71 $(MAKE) -C $(subst /make.clean,,$@) -s clean
72diff --git a/lib/sw_apps/versal_psmfw/misc/Makefile b/lib/sw_apps/versal_psmfw/misc/Makefile
73index 02d85e492e..f6386dcbed 100644
74--- a/lib/sw_apps/versal_psmfw/misc/Makefile
75+++ b/lib/sw_apps/versal_psmfw/misc/Makefile
76@@ -11,6 +11,8 @@ PAR_SUBDIRS := $(patsubst %/Makefile, %, $(BSP_PARALLEL_MAKEFILES))
77 COMPILER := mb-gcc
78 ARCHIVER := mb-ar
79 ASSEMBLER := mb-as
80+COMPILER_FLAGS := -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare
81+EXTRA_COMPILER_FLAGS := -g -ffunction-sections -fdata-sections -Wall -Wextra
82
83 ifneq (,$(findstring win,$(RDI_PLATFORM)))
84 SHELL = CMD
85@@ -41,11 +43,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a
86
87 %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,)
88 @echo "Running Make include in $(subst /make.include,,$@)"
89- $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra"
90+ $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
91
92 %/make.libs: include
93 @echo "Running Make libs in $(subst /make.libs,,$@)"
94- $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS= -O2 -c -mcpu=v10.0 -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare" "EXTRA_COMPILER_FLAGS=-g -ffunction-sections -fdata-sections -Wall -Wextra"
95+ $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=$(COMPILER)" "ASSEMBLER=$(ASSEMBLER)" "ARCHIVER=$(ARCHIVER)" "COMPILER_FLAGS=$(COMPILER_FLAGS)" "EXTRA_COMPILER_FLAGS=$(EXTRA_COMPILER_FLAGS)"
96
97 %/make.clean:
98 $(MAKE) -C $(subst /make.clean,,$@) -s clean
99--
1002.17.1
101
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch
new file mode 100644
index 00000000..1300c7e1
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/embeddedsw/2023.1/makefile-skip-copy_bsp.sh.patch
@@ -0,0 +1,104 @@
1From d703670357546d9aab66baea1f6751ba1cbdf7ad Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Wed, 7 Dec 2022 15:30:23 -0800
4Subject: [PATCH] Prevent makefile from calling copy_bsp.sh
5
6If we call copy_bsp.sh we will undo any manual compliation steps we
7have already done. Avoid this.
8
9YP integration specific
10
11Signed-off-by: Mark Hatle <mark.hatle@amd.com>
12---
13 lib/sw_apps/versal_plm/src/versal/Makefile | 4 ++--
14 lib/sw_apps/versal_plm/src/versal_net/Makefile | 4 ++--
15 lib/sw_apps/versal_psmfw/src/versal/Makefile | 4 ++--
16 lib/sw_apps/versal_psmfw/src/versal_net/Makefile | 6 +++---
17 lib/sw_apps/zynqmp_pmufw/src/Makefile | 4 ++--
18 5 files changed, 11 insertions(+), 11 deletions(-)
19
20diff --git a/lib/sw_apps/versal_plm/src/versal/Makefile b/lib/sw_apps/versal_plm/src/versal/Makefile
21index d1ebd1d374..bfb8c83adb 100644
22--- a/lib/sw_apps/versal_plm/src/versal/Makefile
23+++ b/lib/sw_apps/versal_plm/src/versal/Makefile
24@@ -32,8 +32,8 @@ $(EXEC): $(LIBS) $(OBJS) $(INCLUDES)
25 $(CC) -o $@ $(OBJS) $(CC_FLAGS) $(CFLAGS) $(LN_FLAGS) $(LIBPATH) $(LSCRIPT)
26
27 $(LIBS):
28- echo "Copying BSP files"
29- ../../misc/versal/copy_bsp.sh
30+ #echo "Copying BSP files"
31+ #../../misc/versal/copy_bsp.sh
32 echo "Compiling bsp"
33 $(MAKE) -C ../../misc/versal/versal_plm_bsp
34
35diff --git a/lib/sw_apps/versal_plm/src/versal_net/Makefile b/lib/sw_apps/versal_plm/src/versal_net/Makefile
36index 39c7aa38e3..081d8f1b2e 100644
37--- a/lib/sw_apps/versal_plm/src/versal_net/Makefile
38+++ b/lib/sw_apps/versal_plm/src/versal_net/Makefile
39@@ -32,8 +32,8 @@ $(EXEC): $(LIBS) $(OBJS) $(INCLUDES)
40 $(CC) -o $@ $(OBJS) $(CC_FLAGS) $(CFLAGS) $(LN_FLAGS) $(LIBPATH) $(LSCRIPT)
41
42 $(LIBS):
43- echo "Copying BSP files"
44- ../../misc/versal_net/copy_bsp.sh
45+ #echo "Copying BSP files"
46+ #../../misc/versal_net/copy_bsp.sh
47 echo "Compiling bsp"
48 $(MAKE) -C ../../misc/versal_net/versal_plm_bsp
49
50diff --git a/lib/sw_apps/versal_psmfw/src/versal/Makefile b/lib/sw_apps/versal_psmfw/src/versal/Makefile
51index 1572bbbca9..ce182acaa7 100644
52--- a/lib/sw_apps/versal_psmfw/src/versal/Makefile
53+++ b/lib/sw_apps/versal_psmfw/src/versal/Makefile
54@@ -34,8 +34,8 @@ $(EXEC): $(LIBS) $(OBJS) $(INCLUDES)
55 $(CC) -o $@ $(OBJS) $(CC_FLAGS) $(CFLAGS) $(LN_FLAGS) $(LIBPATH) $(LSCRIPT)
56
57 $(LIBS):
58- echo "Copying BSP files"
59- ../../misc/copy_bsp.sh
60+ #echo "Copying BSP files"
61+ #../../misc/copy_bsp.sh
62 echo "Compiling bsp"
63 $(MAKE) -C ../../misc/versal_psmfw_bsp
64
65diff --git a/lib/sw_apps/versal_psmfw/src/versal_net/Makefile b/lib/sw_apps/versal_psmfw/src/versal_net/Makefile
66index a72ffa1de2..3670310daa 100644
67--- a/lib/sw_apps/versal_psmfw/src/versal_net/Makefile
68+++ b/lib/sw_apps/versal_psmfw/src/versal_net/Makefile
69@@ -34,8 +34,8 @@ $(EXEC): $(LIBS) $(OBJS) $(INCLUDES)
70 $(CC) -o $@ $(OBJS) $(CC_FLAGS) $(CFLAGS) $(LN_FLAGS) $(LIBPATH) $(LSCRIPT)
71
72 $(LIBS):
73- echo "Copying BSP files"
74- ../../misc/versal_net/copy_bsp.sh
75+ #echo "Copying BSP files"
76+ #../../misc/versal_net/copy_bsp.sh
77 echo "Compiling bsp"
78 $(MAKE) -C ../../misc/versal_net/versal_psmfw_bsp
79
80@@ -44,4 +44,4 @@ $(LIBS):
81
82 clean:
83 rm -rf $(OBJS) $(LIBS) $(EXEC) *.o *.d ../common/*.o ../common/*.d
84- rm -rf ../../misc/versal_net/versal_psmfw_bsp
85\ No newline at end of file
86+ rm -rf ../../misc/versal_net/versal_psmfw_bsp
87diff --git a/lib/sw_apps/zynqmp_pmufw/src/Makefile b/lib/sw_apps/zynqmp_pmufw/src/Makefile
88index 1750c0a329..17f6a545ea 100644
89--- a/lib/sw_apps/zynqmp_pmufw/src/Makefile
90+++ b/lib/sw_apps/zynqmp_pmufw/src/Makefile
91@@ -28,8 +28,8 @@ $(EXEC): $(LIBS) $(OBJS) $(INCLUDES)
92 $(CC) -o $@ $(OBJS) $(CC_FLAGS) $(CFLAGS) $(LN_FLAGS) $(LIBPATH) $(LSCRIPT)
93
94 $(LIBS):
95- echo "Copying BSP files"
96- ../misc/copy_bsp.sh
97+ #echo "Copying BSP files"
98+ #../misc/copy_bsp.sh
99 echo "Compiling bsp"
100 $(MAKE) -C ../misc/zynqmp_pmufw_bsp
101
102--
1032.17.1
104
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb
new file mode 100644
index 00000000..8816dc4d
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2023.1.bb
@@ -0,0 +1,11 @@
1require fsbl-firmware.inc
2
3FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
4
5SRC_URI += " \
6 file://makefile-skip-copy_bsp.sh.patch \
7 file://fsbl-fixups.patch \
8 "
9
10# This version does not build for zynq
11COMPATIBLE_MACHINE:zynq = "none"
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb
index 0094384a..f5e55ecc 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb
@@ -3,7 +3,7 @@ DEFAULT_PREFERENCE = "-1"
3 3
4require fsbl-firmware.inc 4require fsbl-firmware.inc
5 5
6FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" 6FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
7 7
8SRC_URI += " \ 8SRC_URI += " \
9 file://makefile-skip-copy_bsp.sh.patch \ 9 file://makefile-skip-copy_bsp.sh.patch \
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb
new file mode 100644
index 00000000..37861b75
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2023.1.bb
@@ -0,0 +1,29 @@
1require plm-firmware.inc
2
3# Separate build directories for versal and versal-net
4SOC_DIR = "versal"
5SOC_DIR:versal-net = "versal_net"
6B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
7
8BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
9
10FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
11
12SRC_URI += " \
13 file://makefile-skip-copy_bsp.sh.patch \
14 file://0001-versal_fw-Fixup-core-makefiles.patch \
15 "
16
17EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
18
19do_configure() {
20 # manually do the copy_bsp step first, so as to be able to fix up use of
21 # mb-* commands
22 ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
23}
24
25do_compile() {
26 oe_runmake
27
28 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
29}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb
index 2d06fa6a..bbc7519f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_git.bb
@@ -3,7 +3,14 @@ DEFAULT_PREFERENCE = "-1"
3 3
4require plm-firmware.inc 4require plm-firmware.inc
5 5
6FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" 6# Separate build directories for versal and versal-net
7SOC_DIR = "versal"
8SOC_DIR:versal-net = "versal_net"
9B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}"
10
11BSP_DIR ?= "${B}/../../misc/versal_plm_bsp"
12
13FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
7 14
8SRC_URI += " \ 15SRC_URI += " \
9 file://makefile-skip-copy_bsp.sh.patch \ 16 file://makefile-skip-copy_bsp.sh.patch \
@@ -12,6 +19,12 @@ SRC_URI += " \
12 19
13EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" 20EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
14 21
22do_configure() {
23 # manually do the copy_bsp step first, so as to be able to fix up use of
24 # mb-* commands
25 ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
26}
27
15do_compile() { 28do_compile() {
16 oe_runmake 29 oe_runmake
17 30
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb
new file mode 100644
index 00000000..fe6deddc
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2023.1.bb
@@ -0,0 +1,16 @@
1require pmu-firmware.inc
2
3FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
4
5SRC_URI += " \
6 file://makefile-skip-copy_bsp.sh.patch \
7 file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \
8 "
9
10EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects"
11
12do_compile() {
13 oe_runmake
14
15 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
16}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
index 5d806067..c55cd149 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb
@@ -3,7 +3,7 @@ DEFAULT_PREFERENCE = "-1"
3 3
4require pmu-firmware.inc 4require pmu-firmware.inc
5 5
6FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" 6FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
7 7
8SRC_URI += " \ 8SRC_URI += " \
9 file://makefile-skip-copy_bsp.sh.patch \ 9 file://makefile-skip-copy_bsp.sh.patch \
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb
new file mode 100644
index 00000000..569c5a46
--- /dev/null
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2023.1.bb
@@ -0,0 +1,34 @@
1require psm-firmware.inc
2
3# Separate build directories for versal and versal-net
4SOC_DIR = "versal"
5SOC_DIR:versal-net = "versal_net"
6B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
7
8BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
9
10FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
11
12SRC_URI += " \
13 file://makefile-skip-copy_bsp.sh.patch \
14 file://0001-versal_fw-Fixup-core-makefiles.patch \
15 "
16
17EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
18
19# Override default since we're in a subdirectory deeper now...
20do_configure() {
21 # manually do the copy_bsp step first, so as to be able to fix up use of
22 # mb-* commands
23 if [ ${SOC_DIR} != "versal" ]; then
24 ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
25 else
26 ${B}/../../misc/copy_bsp.sh
27 fi
28}
29
30do_compile() {
31 oe_runmake
32
33 ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin
34}
diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb
index d04d9183..42e0a95f 100644
--- a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb
+++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_git.bb
@@ -3,7 +3,14 @@ DEFAULT_PREFERENCE = "-1"
3 3
4require psm-firmware.inc 4require psm-firmware.inc
5 5
6FILESPATH .= ":${FILE_DIRNAME}/embeddedsw" 6# Separate build directories for versal and versal-net
7SOC_DIR = "versal"
8SOC_DIR:versal-net = "versal_net"
9B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}"
10
11BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp"
12
13FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw"
7 14
8SRC_URI += " \ 15SRC_URI += " \
9 file://makefile-skip-copy_bsp.sh.patch \ 16 file://makefile-skip-copy_bsp.sh.patch \
@@ -12,6 +19,17 @@ SRC_URI += " \
12 19
13EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" 20EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra"
14 21
22# Override default since we're in a subdirectory deeper now...
23do_configure() {
24 # manually do the copy_bsp step first, so as to be able to fix up use of
25 # mb-* commands
26 if [ ${SOC_DIR} != "versal" ]; then
27 ${B}/../../misc/${SOC_DIR}/copy_bsp.sh
28 else
29 ${B}/../../misc/copy_bsp.sh
30 fi
31}
32
15do_compile() { 33do_compile() {
16 oe_runmake 34 oe_runmake
17 35
diff --git a/meta-xilinx-vendor/README.md b/meta-xilinx-vendor/README.md
index 00909ed6..1903df17 100644
--- a/meta-xilinx-vendor/README.md
+++ b/meta-xilinx-vendor/README.md
@@ -49,4 +49,4 @@ This layer depends on:
49 https://git.yoctoproject.org/meta-xilinx (official version) 49 https://git.yoctoproject.org/meta-xilinx (official version)
50 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) 50 https://github.com/Xilinx/meta-xilinx (development and amd xilinx release)
51 layers: meta-xilinx-microblaze, meta-xilinx-core 51 layers: meta-xilinx-microblaze, meta-xilinx-core
52 branch: langdale or amd xilinx release version (e.g. rel-v2022.2) 52 branch: langdale or amd xilinx release version (e.g. rel-v2023.1)