summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-standalone-experimental
diff options
context:
space:
mode:
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)