summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-standalone-experimental
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@kernel.crashing.org>2021-01-23 16:35:15 -0600
committerSai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>2021-07-14 14:48:56 -0700
commit40d304b9534ce9912f9027c14bf97842daccb4ad (patch)
tree516c1b671926d8e4636f34b60dafcf5039f19791 /meta-xilinx-standalone-experimental
parent1b5863a50cfbb6c6450a9062d17dd4330fc7bbd0 (diff)
downloadmeta-xilinx-40d304b9534ce9912f9027c14bf97842daccb4ad.tar.gz
Reorganize the various layer components
Machines: Move baremetal machines to meta-xilinx-standalone Layers: - Add new meta-xilinx-standalone-experimental This layer may require components that may not yet be available to the general public. It will contain various experiemntal integration work. - meta-xilinx-standalone This layer should be functional and contain the necessary items to build a baremetal toolchain that can use libxil (replacement to libgloss) from the Xilinx embeddedsw components. (Note, libxil is NOT built as part of this work!) The layer also contains the buildable components for the various firmware components required to startup various Xilinx FPGAs. Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org>
Diffstat (limited to 'meta-xilinx-standalone-experimental')
-rw-r--r--meta-xilinx-standalone-experimental/README.md36
-rw-r--r--meta-xilinx-standalone-experimental/classes/esw.bbclass106
-rw-r--r--meta-xilinx-standalone-experimental/classes/esw_examples.bbclass27
-rw-r--r--meta-xilinx-standalone-experimental/conf/distro/xilinx-freertos.conf9
-rw-r--r--meta-xilinx-standalone-experimental/conf/layer.conf21
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb33
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb35
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb41
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/pmufw/pmufw_git.bb30
-rw-r--r--meta-xilinx-standalone-experimental/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb40
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb3
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb12
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb27
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb23
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb10
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_git.bb7
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilloader_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilmem_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb7
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilsem_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilskey_git.bb6
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb12
-rw-r--r--meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_git.bb12
-rw-r--r--meta-xilinx-standalone-experimental/recipes-standalone/plm/plm-standalone_git.bb32
-rw-r--r--meta-xilinx-standalone-experimental/scripts/microblaze_dtb.py170
77 files changed, 1230 insertions, 0 deletions
diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md
new file mode 100644
index 00000000..3f15eeff
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/README.md
@@ -0,0 +1,36 @@
1meta-xilinx-standalone-experimental
2===================================
3This layer contains experimental items that may eventually be added
4to the meta-xilinx-standalone layer. The components in this layer
5may or may not be buildable as they may require unreleased code.
6
7The non-Linux software components are still in development and
8this should be considered to be a preview release only. For instance,
9some components may not be buildable, expect APIs to change on various
10parts and pieces.
11
12
13Maintainers, Mailing list, Patches
14==================================
15
16Please send any patches, pull requests, comments or questions for this
17layer to the [meta-xilinx mailing list]
18(https://lists.yoctoproject.org/listinfo/meta-xilinx):
19
20 meta-xilinx@lists.yoctoproject.org
21
22Maintainers:
23
24 Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
25 Mark Hatle <mark.hatle@xilinx.com>
26
27Dependencies
28============
29
30This layer depends on:
31
32 URI: git://git.yoctoproject.org/poky
33
34 URI: git://git.yoctoproject.org/meta-xilinx/meta-xilinx-standalone
35
36 URI: git://git.yoctoproject.org/meta-xilinx/meta-xilinx-bsp
diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass
new file mode 100644
index 00000000..1f7e35f4
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass
@@ -0,0 +1,106 @@
1inherit pkgconfig cmake
2
3LICENSE = "Proprietary"
4LICFILENAME = "license.txt"
5LIC_FILES_CHKSUM = "file://${S}/${LICFILENAME};md5=39ab6ab638f4d1836ba994ec6852de94"
6
7# We should move to an actual SRCREV eventually
8include conf/xilinx/esw-srcrev.inc
9
10SRCREV ?= "${AUTOREV}"
11PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}"
12REPO ?= "git://github.com/xilinx/embeddedsw.git;protocol=https"
13BRANCH ?= "master"
14SRC_URI = "${REPO};branch=${BRANCH}"
15
16SRCREV_FORMAT = "src_decouple"
17
18S = "${WORKDIR}/git"
19B = "${WORKDIR}/build"
20OECMAKE_SOURCEPATH = "${S}/${ESW_COMPONENT_SRC}"
21
22SPECFILE_PATH_arm = "${S}/scripts/specs/arm/Xilinx.spec"
23SPECFILE_PATH_aarch64 = "${S}/scripts/specs/arm/Xilinx.spec"
24SPECFILE_PATH_microblaze = "${S}/scripts/specs/microblaze/Xilinx.spec"
25
26ESW_CFLAGS += "-specs=${SPECFILE_PATH}"
27
28inherit ccmake
29
30COMPATIBLE_HOST = ".*-elf"
31COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi"
32
33DTBFILE ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb"
34
35def get_xlnx_cmake_machine(fam, d):
36 cmake_machine = fam
37 if (fam == 'zynqmp'):
38 cmake_machine = 'ZynqMP'
39 elif (fam == 'versal'):
40 cmake_machine = 'Versal'
41 elif (fam == 'zynq'):
42 cmake_machine = 'Zynq'
43 return cmake_machine
44
45def get_xlnx_cmake_processor(tune, machine, d):
46 cmake_processor = tune
47 if tune.startswith('microblaze'):
48 if (machine == 'microblaze-pmu'):
49 cmake_processor = 'pmu_microblaze'
50 elif (machine == 'microblaze-plm'):
51 cmake_processor = 'plm_microblaze'
52 else:
53 cmake_processor = 'microblaze'
54 elif (tune in [ 'cortexr5', 'cortexr5f' ]):
55 cmake_processor = 'cortexr5'
56 elif tune.startswith('cortexa9'):
57 cmake_processor = 'cortexa9'
58 elif (tune in [ 'cortexa53', 'cortexa72-cortexa53' ]):
59 cmake_processor = 'cortexa53'
60 elif tune == 'cortexa72':
61 cmake_processor = 'cortexa72'
62 return cmake_processor
63
64XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d)}"
65XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('MACHINE'), d)}"
66XLNX_CMAKE_SYSTEM_NAME ?= "Generic"
67
68cmake_do_generate_toolchain_file_append() {
69 cat >> ${WORKDIR}/toolchain.cmake <<EOF
70 include(CMakeForceCompiler)
71 CMAKE_FORCE_C_COMPILER("${OECMAKE_C_COMPILER}" GNU)
72 CMAKE_FORCE_CXX_COMPILER("${OECMAKE_CXX_COMPILER}" GNU)
73 set( CMAKE_SYSTEM_PROCESSOR "${XLNX_CMAKE_PROCESSOR}" )
74 set( CMAKE_MACHINE "${XLNX_CMAKE_MACHINE}" )
75 # Will need this in the future to make cmake understand esw variables
76 # set( CMAKE_SYSTEM_NAME `echo elf | sed -e 's/^./\u&/' -e 's/^\(Linux\).*/\1/'` )
77 set( CMAKE_SYSTEM_NAME "${XLNX_CMAKE_SYSTEM_NAME}" )
78EOF
79}
80
81do_install() {
82 install -d ${D}${libdir}
83 install -d ${D}${includedir}
84 install -m 0755 ${B}/${ESW_COMPONENT_NAME} ${D}${libdir}
85 install -m 0644 ${B}/include/*.h ${D}${includedir}
86}
87
88CFLAGS_append = " ${ESW_CFLAGS}"
89
90# We need to find the license file, which vaires depending on the component
91# recurse a maximum of x times, could be fancier but it gets complicated since
92# we dont know for certain we are running devtool or just externalsrc
93python(){
94 import os.path
95 if bb.data.inherits_class('externalsrc', d) and d.getVar('EXTERNALSRC'):
96 externalsrc = d.getVar('EXTERNALSRC')
97 lic_file = d.getVar('LIC_FILES_CHKSUM', False)
98 licpath=externalsrc
99 for i in range(5):
100 if os.path.isfile(licpath + '/' + d.getVar('LICFILENAME',True)):
101 lic_file = lic_file.replace('${S}',licpath)
102 d.setVar('LIC_FILES_CHKSUM', lic_file)
103 return
104 licpath=os.path.dirname(licpath)
105 bb.error("Couldn't find license file: %s, within directory %s or his parent directories" % (d.getVar('LICFILENAME',True), externalsrc))
106}
diff --git a/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass b/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass
new file mode 100644
index 00000000..391f388e
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass
@@ -0,0 +1,27 @@
1inherit esw deploy python3native
2
3DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native xilstandalone libxil xiltimer device-tree"
4
5do_configure_prepend() {
6 cd ${S}
7 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
8}
9
10do_generate_eglist () {
11 cd ${S}
12 nativepython3 ${S}/scripts/example.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
13}
14addtask generate_eglist before do_configure after do_prepare_recipe_sysroot
15do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
16
17do_install() {
18 install -d ${D}/${base_libdir}/firmware
19 install -m 0755 ${B}/*.elf ${D}/${base_libdir}/firmware
20}
21
22do_deploy() {
23 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/*.elf ${DEPLOYDIR}/
24}
25addtask deploy before do_build after do_package
26
27FILES_${PN} = "${base_libdir}/firmware/*.elf"
diff --git a/meta-xilinx-standalone-experimental/conf/distro/xilinx-freertos.conf b/meta-xilinx-standalone-experimental/conf/distro/xilinx-freertos.conf
new file mode 100644
index 00000000..cba5fd90
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/conf/distro/xilinx-freertos.conf
@@ -0,0 +1,9 @@
1require conf/distro/xilinx-standalone.inc
2
3DISTRO_NAME_append = " (freertos)"
4
5XLNX_CMAKE_SYSTEM_NAME = "FreeRTOS"
6
7# We need to pass FREERTOS_BSP compliler flag it is consumed
8# esw components.
9ESW_CFLAGS += " -DFREERTOS_BSP"
diff --git a/meta-xilinx-standalone-experimental/conf/layer.conf b/meta-xilinx-standalone-experimental/conf/layer.conf
new file mode 100644
index 00000000..8876ac94
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/conf/layer.conf
@@ -0,0 +1,21 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH .= ":${LAYERDIR}"
3
4# We have recipes-* directories, add to BBFILES
5BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
6 ${LAYERDIR}/recipes-*/*/*.bbappend \
7 ${LAYERDIR}/recipes-*/*.bb \
8 ${LAYERDIR}/recipes-*/*.bbappend \
9 "
10
11BBFILE_COLLECTIONS += "xilinx-standalone-exp"
12BBFILE_PATTERN_xilinx-standalone-exp = "^${LAYERDIR}/"
13BBFILE_PRIORITY_xilinx-standalone-exp = "7"
14
15LAYERDEPENDS_xilinx-standalone-exp = "core \
16 xilinx \
17 xilinx-standalone \
18 xilinx-microblaze \
19 "
20
21LAYERSERIES_COMPAT_xilinx-standalone-exp = "gatesgarth"
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
new file mode 100644
index 00000000..9b5bb110
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb
@@ -0,0 +1,33 @@
1inherit esw deploy
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_hello_world/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil xilstandalone xiltimer freertos10-xilinx device-tree"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_install() {
13 install -d ${D}/${base_libdir}/firmware
14 # Note that we have to make the ELF executable for it to be stripped
15 install -m 0755 ${B}/freertos_hello_world* ${D}/${base_libdir}/firmware
16}
17
18FREERTOS_HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
19FREERTOS_HELLO_WORLD_BASE_NAME[vardepsexclude] = "DATETIME"
20
21do_deploy() {
22
23 # We need to deploy the stripped elf, hence why not doing it from ${D}
24 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.elf
25 ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
26 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin
27 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.bin
28 ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
29}
30
31addtask deploy before do_build after do_package
32
33FILES_${PN} = "${base_libdir}/firmware/freertos_hello_world*"
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
new file mode 100644
index 00000000..ebfc85aa
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_echo_server/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/freertos_lwip_echo* ${D}/${base_libdir}/firmware
24}
25
26FREERTOS_LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27FREERTOS_LWIP_ECHO_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.elf
33 ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.bin
36 ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_echo*"
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
new file mode 100644
index 00000000..eb199d39
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_client/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/freertos_lwip_tcp_perf_client* ${D}/${base_libdir}/firmware
24}
25
26FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf
33 ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin
36 ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_client*"
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
new file mode 100644
index 00000000..c2282593
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_server/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/freertos_lwip_tcp_perf_server* ${D}/${base_libdir}/firmware
24}
25
26FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf
33 ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin
36 ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_server*"
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
new file mode 100644
index 00000000..ccf8f09e
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_client/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/freertos_lwip_udp_perf_client* ${D}/${base_libdir}/firmware
24}
25
26FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf
33 ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin
36 ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_client*"
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
new file mode 100644
index 00000000..f2c9eaed
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_server/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/freertos_lwip_udp_perf_server* ${D}/${base_libdir}/firmware
24}
25
26FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf
33 ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin
36 ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_server*"
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
new file mode 100644
index 00000000..c67fb5f5
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb
@@ -0,0 +1,35 @@
1inherit esw deploy
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/hello_world/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil xiltimer device-tree"
6
7inherit python3native
8
9do_configure_prepend() {
10 cd ${S}
11 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
12}
13
14do_install() {
15 install -d ${D}/${base_libdir}/firmware
16 # Note that we have to make the ELF executable for it to be stripped
17 install -m 0755 ${B}/hello_world* ${D}/${base_libdir}/firmware
18}
19
20HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
21HELLO_WORLD_BASE_NAME[vardepsexclude] = "DATETIME"
22
23do_deploy() {
24
25 # We need to deploy the stripped elf, hence why not doing it from ${D}
26 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.elf
27 ln -sf ${HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
28 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin
29 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.bin
30 ln -sf ${HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
31}
32
33addtask deploy before do_build after do_package
34
35FILES_${PN} = "${base_libdir}/firmware/hello_world*"
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
new file mode 100644
index 00000000..e0d6f13c
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_echo_server/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/lwip_echo* ${D}/${base_libdir}/firmware
24}
25
26LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27LWIP_ECHO_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.elf
33 ln -sf ${LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.bin
36 ln -sf ${LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/lwip_echo*"
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
new file mode 100644
index 00000000..6f0c9b4a
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_client/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/lwip_tcp_perf_client* ${D}/${base_libdir}/firmware
24}
25
26LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf
33 ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin
36 ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/lwip_tcp_perf_client*"
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
new file mode 100644
index 00000000..d9f990c4
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_server/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/lwip_tcp_perf_server* ${D}/${base_libdir}/firmware
24}
25
26LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27LWIP_TCP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf
33 ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin
36 ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/lwip_tcp_perf_server*"
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
new file mode 100644
index 00000000..fc89c13e
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_client/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/lwip_udp_perf_client* ${D}/${base_libdir}/firmware
24}
25
26LWIP_UDP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27LWIP_UDP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf
33 ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin
36 ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/lwip_udp_perf_client*"
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
new file mode 100644
index 00000000..8b9114ac
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb
@@ -0,0 +1,41 @@
1inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_server/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/lwip_udp_perf_server* ${D}/${base_libdir}/firmware
24}
25
26LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27LWIP_UDP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf
33 ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin
36 ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/lwip_udp_perf_server*"
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/pmufw/pmufw_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/pmufw/pmufw_git.bb
new file mode 100644
index 00000000..19238f97
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/pmufw/pmufw_git.bb
@@ -0,0 +1,30 @@
1inherit esw deploy
2
3COMPATIBLE_MACHINE = "microblaze-pmu"
4
5ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src"
6
7DEPENDS += "xilstandalone xiltimer xilfpga xilskey"
8
9do_install() {
10 install -d ${D}/${base_libdir}/firmware
11 # Note that we have to make the ELF executable for it to be stripped
12 install -m 0755 ${B}/pmufw* ${D}/${base_libdir}/firmware
13}
14
15PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
16PMU_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
17
18do_deploy() {
19
20 # We need to deploy the stripped elf, hence why not doing it from ${D}
21 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/pmufw.elf ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.elf
22 ln -sf ${PMU_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
23 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/pmufw.elf ${WORKDIR}/package/${base_libdir}/firmware/pmufw.bin
24 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/pmufw.bin ${DEPLOYDIR}/${PMU_FIRMWARE_BASE_NAME}.bin
25 ln -sf ${PMU_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
26}
27
28addtask deploy before do_build after do_package
29
30FILES_${PN} = "${base_libdir}/firmware/pmufw*"
diff --git a/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb
new file mode 100644
index 00000000..a0d2d2b9
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-fsbl/zynqmp-fsbl_git.bb
@@ -0,0 +1,40 @@
1inherit esw deploy
2
3COMPATIBLE_MACHINE = ".*-zynqmp"
4
5ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_fsbl/src"
6
7DEPENDS += "xilstandalone xiltimer xilffs xilsecure xilpm device-tree"
8
9PSU_INIT = "${RECIPE_SYSROOT}/${includedir}/devicetree/psu_init*"
10
11do_configure_prepend() {
12 # Copy psu_init* files to fsbl source code
13 cp ${PSU_INIT} ${S}/${ESW_COMPONENT_SRC}
14}
15
16do_install() {
17 install -d ${D}/${base_libdir}/firmware
18 # Note that we have to make the ELF executable for it to be stripped
19 install -m 0755 ${B}/zynqmp_fsbl* ${D}/${base_libdir}/firmware
20}
21
22ZYNQMP_FSBL_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
23ZYNQMP_FSBL_BASE_NAME[vardepsexclude] = "DATETIME"
24
25do_deploy() {
26
27 # We need to deploy the stripped elf, hence why not doing it from ${D}
28 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.elf ${DEPLOYDIR}/${ZYNQMP_FSBL_BASE_NAME}.elf
29 ln -sf ${ZYNQMP_FSBL_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
30 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.elf ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.bin
31 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_fsbl.bin ${DEPLOYDIR}/${ZYNQMP_FSBL_BASE_NAME}.bin
32 ln -sf ${ZYNQMP_FSBL_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
33}
34
35addtask deploy before do_build after do_package
36
37CFLAGS_append_aarch64 = " -DARMA53_64"
38CFLAGS_append_armrm = " -DARMR5"
39
40FILES_${PN} = "${base_libdir}/firmware/zynqmp_fsbl*"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb
new file mode 100644
index 00000000..442ffb7b
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb
new file mode 100644
index 00000000..05f4c342
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb
new file mode 100644
index 00000000..1dc83406
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb
new file mode 100644
index 00000000..415cb9b4
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb
new file mode 100644
index 00000000..3f688c3b
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb
new file mode 100644
index 00000000..36fa367b
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb
new file mode 100644
index 00000000..ab6f6478
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb
new file mode 100644
index 00000000..b0bb1ccb
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clockps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb
new file mode 100644
index 00000000..f505a8af
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb
new file mode 100644
index 00000000..04414465
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb
new file mode 100644
index 00000000..0891fb86
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb
new file mode 100644
index 00000000..927bc93b
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb
new file mode 100644
index 00000000..530087a4
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb
new file mode 100644
index 00000000..8302d66d
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb
new file mode 100644
index 00000000..9ece49a9
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb
new file mode 100644
index 00000000..83a107eb
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb
new file mode 100644
index 00000000..dbc1945f
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb
new file mode 100644
index 00000000..085a459e
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb
new file mode 100644
index 00000000..4b45d003
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb
new file mode 100644
index 00000000..6a7b39b4
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb
new file mode 100644
index 00000000..8fd7251b
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb
new file mode 100644
index 00000000..b98f9b51
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb
new file mode 100644
index 00000000..1f0a1240
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb
new file mode 100644
index 00000000..f1c97e97
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb
new file mode 100644
index 00000000..51e4eaad
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb
new file mode 100644
index 00000000..19f17f73
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb
new file mode 100644
index 00000000..f20c8241
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb
new file mode 100644
index 00000000..cba4543c
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb
new file mode 100644
index 00000000..d1395a1e
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb
new file mode 100644
index 00000000..cc10bbc1
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb
new file mode 100644
index 00000000..2e675fb7
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb
new file mode 100644
index 00000000..72a21566
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb
new file mode 100644
index 00000000..0f6d688f
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb
new file mode 100644
index 00000000..e898f011
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb
new file mode 100644
index 00000000..97645375
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb
new file mode 100644
index 00000000..de70d5fc
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb
new file mode 100644
index 00000000..2e607521
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb
new file mode 100644
index 00000000..66e6bcd6
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb
new file mode 100644
index 00000000..584a1b20
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb
@@ -0,0 +1,3 @@
1inherit esw_examples
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/examples/"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb
new file mode 100644
index 00000000..870524d2
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb
@@ -0,0 +1,12 @@
1inherit esw python3native
2
3ESW_COMPONENT_SRC = "/ThirdParty/bsp/freertos10_xilinx/src/"
4ESW_COMPONENT_NAME = "libfreertos.a"
5
6DEPENDS += "libxil xilstandalone xilmem dtc-native python3-pyyaml-native python3-dtc-native xiltimer"
7
8do_configure_prepend() {
9 # This script should also not rely on relative paths and such
10 cd ${S}
11 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
12}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb
new file mode 100644
index 00000000..4ac7c115
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb
@@ -0,0 +1,27 @@
1inherit esw python3native
2
3ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/"
4ESW_COMPONENT_NAME = "libxil.a"
5
6DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native xilstandalone xilmem device-tree"
7
8do_configure_prepend() {
9 # This will generate CMakeLists.txt which contains
10 # drivers for the libxil
11 cd ${S}
12 #TODO
13 # This call was initially used to get the list of drivers and libraries required
14 # by the design to the build system to use as dependencies to the application
15 # being built, at this point this is all done in a single cmake build bundling
16 # everything in libxil, which is undesired.
17 DRIVERS_LIST=$(nativepython3 ${S}/scripts/getdrvlist.py -d ${DTBFILE})
18}
19
20do_generate_driver_data() {
21 # This script should also not rely on relative paths and such
22 cd ${S}
23 nativepython3 ${S}/scripts/generate_drvdata.py -d ${DTBFILE}
24}
25
26addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot
27do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb
new file mode 100644
index 00000000..7e31b32e
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb
@@ -0,0 +1,23 @@
1inherit esw python3native
2
3ESW_COMPONENT_SRC = "/ThirdParty/sw_services/lwip211/src/"
4ESW_COMPONENT_NAME = "liblwip211.a"
5
6DEPENDS += "dtc-native python3-dtc-native libxil python3-pyyaml-native"
7DEPENDS_append_xilinx-freertos = "freertos10-xilinx"
8
9do_configure_prepend() {
10 # This script should also not rely on relative paths and such
11 cd ${S}
12 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
13}
14
15do_install() {
16 install -d ${D}${libdir}
17 install -d ${D}${includedir}
18 install -m 0755 ${B}/${ESW_COMPONENT_NAME} ${D}${libdir}
19 install -m 0644 ${B}/include/*.h ${D}${includedir}
20 cp -r ${B}/include/arch/ ${D}${includedir}
21 cp -r ${B}/include/include/lwip/ ${D}${includedir}
22 cp -r ${B}/include/include/netif/ ${D}${includedir}
23}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb
new file mode 100644
index 00000000..fdfbb7cf
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb
@@ -0,0 +1,10 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/src/"
4ESW_COMPONENT_NAME = "libxilffs.a"
5
6EXTRA_OECMAKE += "-DXILFFS_use_mkfs=OFF"
7EXTRA_OECMAKE += "-DXILFFS_read_only=ON"
8EXTRA_OECMAKE += "-DXILFFS_word_access=OFF"
9
10DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_git.bb
new file mode 100644
index 00000000..41405fdf
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_git.bb
@@ -0,0 +1,7 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilfpga/src/"
4ESW_COMPONENT_NAME = "libxilfpga.a"
5
6DEPENDS += " libxil xilsecure"
7
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_git.bb
new file mode 100644
index 00000000..682908ad
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilloader/src/"
4ESW_COMPONENT_NAME = "libxilloader.a"
5
6DEPENDS += "xilstandalone libxil xilpm xilpdi xilffs xilsecure xilpuf"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb
new file mode 100644
index 00000000..ff61d95d
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilmailbox/src/"
4ESW_COMPONENT_NAME = "libxilmailbox.a"
5
6DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilmem_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilmem_git.bb
new file mode 100644
index 00000000..de942540
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilmem_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilmem/src/"
4ESW_COMPONENT_NAME = "libxilmem.a"
5
6DEPENDS += "xilstandalone"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_git.bb
new file mode 100644
index 00000000..c008b069
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilpdi/src/"
4ESW_COMPONENT_NAME = "libxilpdi.a"
5
6DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_git.bb
new file mode 100644
index 00000000..e866e98f
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilplmi/src/"
4ESW_COMPONENT_NAME = "libxilplmi.a"
5
6DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb
new file mode 100644
index 00000000..80132c90
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb
@@ -0,0 +1,7 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilpm/src/"
4ESW_COMPONENT_NAME = "libxilpm.a"
5
6DEPENDS = "libxil"
7DEPENDS_microblaze-plm_append = "xilplmi"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb
new file mode 100644
index 00000000..31f06288
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/"
4ESW_COMPONENT_NAME = "libxilpuf.a"
5
6DEPENDS += "libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb
new file mode 100644
index 00000000..0ad55510
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/"
4ESW_COMPONENT_NAME = "libxilsecure.a"
5
6DEPENDS += "libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsem_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilsem_git.bb
new file mode 100644
index 00000000..3631d7f0
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilsem_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilsem/src/"
4ESW_COMPONENT_NAME = "libxilsem.a"
5
6DEPENDS += "xilstandalone libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilskey_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilskey_git.bb
new file mode 100644
index 00000000..84782554
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilskey_git.bb
@@ -0,0 +1,6 @@
1inherit esw
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xilskey/src/"
4ESW_COMPONENT_NAME = "libxilskey.a"
5
6DEPENDS += "libxil"
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb
new file mode 100644
index 00000000..a4a393c3
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb
@@ -0,0 +1,12 @@
1inherit esw python3native
2
3ESW_COMPONENT_SRC = "/lib/bsp/standalone/src/"
4ESW_COMPONENT_NAME = "libxilstandalone.a"
5
6DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native libgloss device-tree"
7
8do_configure_prepend() {
9 # This script should also not rely on relative paths and such
10 cd ${S}
11 nativepython3 ${S}/scripts/generate_libdata.py -d ${DTBFILE}
12}
diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_git.bb
new file mode 100644
index 00000000..428fa686
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_git.bb
@@ -0,0 +1,12 @@
1inherit esw python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_services/xiltimer/src/"
4ESW_COMPONENT_NAME = "libxiltimer.a"
5
6DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native libxil device-tree"
7
8do_configure_prepend() {
9 # This script should also not rely on relative paths and such
10 cd ${S}
11 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
12}
diff --git a/meta-xilinx-standalone-experimental/recipes-standalone/plm/plm-standalone_git.bb b/meta-xilinx-standalone-experimental/recipes-standalone/plm/plm-standalone_git.bb
new file mode 100644
index 00000000..25988eb9
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/recipes-standalone/plm/plm-standalone_git.bb
@@ -0,0 +1,32 @@
1inherit esw deploy
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/"
4
5DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem"
6
7do_install() {
8 install -d ${D}/${base_libdir}/firmware
9 # Note that we have to make the ELF executable for it to be stripped
10 install -m 0755 ${B}/versal_plm* ${D}/${base_libdir}/firmware
11}
12
13PLM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
14PLM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME"
15
16do_deploy() {
17
18 # Not a huge fan of deploying from package but we want the stripped elf to be deployed.
19 # We could, technically create another task that runs after do_install that strips it but it
20 # seems unnecessarily convoluted, unless there's an objection on performing do_install we
21 # should do it this way since it easier to keep up with changes in oe-core.
22
23 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.elf ${DEPLOYDIR}/${PLM_FIRMWARE_BASE_NAME}.elf
24 ln -sf ${PLM_FIRMWARE_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
25 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.elf ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.bin
26 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/versal_plm.bin ${DEPLOYDIR}/${PLM_FIRMWARE_BASE_NAME}.bin
27 ln -sf ${PLM_FIRMWARE_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
28}
29
30addtask deploy before do_build after do_package
31
32FILES_${PN} = "${base_libdir}/firmware/plm*"
diff --git a/meta-xilinx-standalone-experimental/scripts/microblaze_dtb.py b/meta-xilinx-standalone-experimental/scripts/microblaze_dtb.py
new file mode 100644
index 00000000..1c5ed835
--- /dev/null
+++ b/meta-xilinx-standalone-experimental/scripts/microblaze_dtb.py
@@ -0,0 +1,170 @@
1import argparse
2import libfdt
3import os
4import sys
5
6# Format: FEATURE : (dtb property, condition_operator, condition_value)
7# If dtb property is None, then the item is always on
8#
9# If the condition_operator is None, then enable if it exists for existance
10#
11# If the condition_operator is '!', and condition_value is None then enable if
12# if is not defined
13#
14# Otherwise 'condition' and value are evaluated by type.
15#
16# If the condition is = then any value of condition_values will set it
17# If the condition is ! then no value of condition_values will set it
18
19microblaze_tune_features = {
20 'microblaze' : (None, None, None),
21 'bigendian': ('xlnx,endianness', '!', 1),
22 '64-bit' : ('xlnx,data-size', '=', 64),
23 'barrel-shift': ('xlnx,use-barrel', '=', 1),
24 'pattern-compare': ('xlnx,use-pcmp-instr', '=', 1),
25 'reorder' : ('xlnx,use-reorder-instr', '!', 0),
26 'frequency-optimized': ('xlnx,area-optimized', '=', 2),
27 'multiply-low': ('xlnx,use-hw-mul', '=', 1),
28 'multiply-high': ('xlnx,use-hw-mul', '=', 2),
29 'divide-hard': ('xlnx,use-div', '=', 1),
30 'fpu-soft': ('xlnx,use-fpu', '!', [1,2]),
31 'fpu-hard': ('xlnx,use-fpu', '=', 1),
32 'fpu-hard-extended':('xlnx,use-fpu', '=', 2),
33}
34
35def processProperties(fdt, node):
36 TUNE_FEATURES = []
37
38 for feature in microblaze_tune_features:
39 (property, cop, cvalue) = microblaze_tune_features[feature]
40
41 if not property:
42 TUNE_FEATURES.append(feature)
43
44 # Special processing to get the version
45 if feature == "microblaze":
46 ver = microblazeVersion(fdt, node)
47 if ver:
48 TUNE_FEATURES.append(ver)
49 continue
50
51 prop_value = fdt.getprop( node, property, libfdt.QUIET_NOTFOUND)
52
53 if not prop_value or prop_value == -1:
54 if cop == '!':
55 if not cvalue:
56 TUNE_FEATURES.append(ver)
57 continue
58 continue
59
60 # If no operator
61 if not cop or (cop == '=' and not cvalue):
62 TUNE_FEATURES.append(feature)
63 continue
64
65 ctype = type(cvalue)
66 if ctype == type(list()):
67 val_list = cvalue
68 else:
69 val_list = [ cvalue ]
70
71 result = False
72 for value in val_list:
73 ctype = type(value)
74 if ctype == type(int()):
75 val = prop_value.as_uint32()
76 else:
77 raise TypeError('Unknown type %s' % ctype)
78
79 if value == val:
80 result = True
81 break
82 else:
83 result = False
84
85 if (cop == '!' and result == False) or \
86 (cop == '=' and result == True):
87 TUNE_FEATURES.append(feature)
88
89 return TUNE_FEATURES
90
91def microblazeVersion(fdt, node):
92 version = None
93
94 val = fdt.getprop( node, 'model', libfdt.QUIET_NOTFOUND)
95
96 if val and val != -1:
97 val = fdt.getprop( node, 'model' ).as_str()
98 version = val[val.find('microblaze,') + 11:]
99
100 if version.startswith('8'):
101 # Strip 8.xx.y, to just 8.xx
102 v = version.split('.')
103 version = '.'.join(v[0:2])
104
105 version = 'v' + version
106
107 return version
108
109def MicroblazeConfig(dtbfile, out):
110 fdt = libfdt.Fdt(open(dtbfile, mode='rb').read())
111
112 cpu = -1
113 while (True):
114 cpu = cpu + 1
115 try:
116 node = fdt.path_offset('/cpus/cpu@%d' % cpu)
117
118 try:
119 prop = fdt.getprop( node, 'compatible' )
120
121 prop_val = prop[:-1].decode('utf-8').split('\x00')
122
123 microblaze = False
124 for val in prop_val:
125 if "microblaze" in val:
126 microblaze = True
127 break
128
129 if not microblaze:
130 continue
131
132 # Construct TUNE_FEATURE here
133 TUNE_FEATURES = processProperties(fdt, node)
134
135 out.write('AVAILTUNES += "microblaze-cpu%s"\n' % (cpu))
136 out.write('TUNE_FEATURES_tune-microblaze-cpu%s = "%s"\n' % (cpu, ' '.join(TUNE_FEATURES)))
137 out.write('PACKAGE_EXTRA_ARCHS_tune-microblaze-cpu%s = "${TUNE_PKGARCH}"\n' % (cpu))
138
139 except Exception as e:
140 sys.stderr.write("Exception looking at properties: %s\n" % e)
141
142 continue
143
144 except Exception as e:
145 # CPUs SHOULD be consecutive w/o gaps, so no more to search
146 break
147
148if __name__ == "__main__":
149 parser = argparse.ArgumentParser(description='Generate MicroBlaze TUNE_FEATURES')
150
151 parser.add_argument('-d', '--dtb-file', action='store',
152 help='DTB file to process')
153
154 parser.add_argument('-o', '--output', action='store',
155 help='Output file to store TUNE_FEATURE settings')
156
157 args = parser.parse_args()
158
159 if not args.dtb_file:
160 sys.stderr.write('ERROR: You must specify a DTB_FILE to process.\n')
161 sys.exit(1)
162
163 outputf = sys.stdout
164 if args.output:
165 if os.path.exists(args.output):
166 sys.stderr.write('ERROR: The output file "%s" exists!\n' % args.output)
167 sys.exit(1)
168 outputf = open(args.output, 'w')
169
170 MicroblazeConfig(args.dtb_file, outputf)