diff options
| author | Mark Hatle <mark.hatle@kernel.crashing.org> | 2021-01-23 16:35:15 -0600 |
|---|---|---|
| committer | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2021-07-14 14:48:56 -0700 |
| commit | 40d304b9534ce9912f9027c14bf97842daccb4ad (patch) | |
| tree | 516c1b671926d8e4636f34b60dafcf5039f19791 /meta-xilinx-standalone-experimental | |
| parent | 1b5863a50cfbb6c6450a9062d17dd4330fc7bbd0 (diff) | |
| download | meta-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')
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 @@ | |||
| 1 | meta-xilinx-standalone-experimental | ||
| 2 | =================================== | ||
| 3 | This layer contains experimental items that may eventually be added | ||
| 4 | to the meta-xilinx-standalone layer. The components in this layer | ||
| 5 | may or may not be buildable as they may require unreleased code. | ||
| 6 | |||
| 7 | The non-Linux software components are still in development and | ||
| 8 | this should be considered to be a preview release only. For instance, | ||
| 9 | some components may not be buildable, expect APIs to change on various | ||
| 10 | parts and pieces. | ||
| 11 | |||
| 12 | |||
| 13 | Maintainers, Mailing list, Patches | ||
| 14 | ================================== | ||
| 15 | |||
| 16 | Please send any patches, pull requests, comments or questions for this | ||
| 17 | layer to the [meta-xilinx mailing list] | ||
| 18 | (https://lists.yoctoproject.org/listinfo/meta-xilinx): | ||
| 19 | |||
| 20 | meta-xilinx@lists.yoctoproject.org | ||
| 21 | |||
| 22 | Maintainers: | ||
| 23 | |||
| 24 | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | ||
| 25 | Mark Hatle <mark.hatle@xilinx.com> | ||
| 26 | |||
| 27 | Dependencies | ||
| 28 | ============ | ||
| 29 | |||
| 30 | This 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 @@ | |||
| 1 | inherit pkgconfig cmake | ||
| 2 | |||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LICFILENAME = "license.txt" | ||
| 5 | LIC_FILES_CHKSUM = "file://${S}/${LICFILENAME};md5=39ab6ab638f4d1836ba994ec6852de94" | ||
| 6 | |||
| 7 | # We should move to an actual SRCREV eventually | ||
| 8 | include conf/xilinx/esw-srcrev.inc | ||
| 9 | |||
| 10 | SRCREV ?= "${AUTOREV}" | ||
| 11 | PV = "${XILINX_RELEASE_VERSION}+git${SRCPV}" | ||
| 12 | REPO ?= "git://github.com/xilinx/embeddedsw.git;protocol=https" | ||
| 13 | BRANCH ?= "master" | ||
| 14 | SRC_URI = "${REPO};branch=${BRANCH}" | ||
| 15 | |||
| 16 | SRCREV_FORMAT = "src_decouple" | ||
| 17 | |||
| 18 | S = "${WORKDIR}/git" | ||
| 19 | B = "${WORKDIR}/build" | ||
| 20 | OECMAKE_SOURCEPATH = "${S}/${ESW_COMPONENT_SRC}" | ||
| 21 | |||
| 22 | SPECFILE_PATH_arm = "${S}/scripts/specs/arm/Xilinx.spec" | ||
| 23 | SPECFILE_PATH_aarch64 = "${S}/scripts/specs/arm/Xilinx.spec" | ||
| 24 | SPECFILE_PATH_microblaze = "${S}/scripts/specs/microblaze/Xilinx.spec" | ||
| 25 | |||
| 26 | ESW_CFLAGS += "-specs=${SPECFILE_PATH}" | ||
| 27 | |||
| 28 | inherit ccmake | ||
| 29 | |||
| 30 | COMPATIBLE_HOST = ".*-elf" | ||
| 31 | COMPATIBLE_HOST_arm = "[^-]*-[^-]*-eabi" | ||
| 32 | |||
| 33 | DTBFILE ?= "${RECIPE_SYSROOT}/boot/devicetree/system-top.dtb" | ||
| 34 | |||
| 35 | def 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 | |||
| 45 | def 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 | |||
| 64 | XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d)}" | ||
| 65 | XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('MACHINE'), d)}" | ||
| 66 | XLNX_CMAKE_SYSTEM_NAME ?= "Generic" | ||
| 67 | |||
| 68 | cmake_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}" ) | ||
| 78 | EOF | ||
| 79 | } | ||
| 80 | |||
| 81 | do_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 | |||
| 88 | CFLAGS_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 | ||
| 93 | python(){ | ||
| 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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native xilstandalone libxil xiltimer device-tree" | ||
| 4 | |||
| 5 | do_configure_prepend() { | ||
| 6 | cd ${S} | ||
| 7 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 8 | } | ||
| 9 | |||
| 10 | do_generate_eglist () { | ||
| 11 | cd ${S} | ||
| 12 | nativepython3 ${S}/scripts/example.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 13 | } | ||
| 14 | addtask generate_eglist before do_configure after do_prepare_recipe_sysroot | ||
| 15 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 16 | |||
| 17 | do_install() { | ||
| 18 | install -d ${D}/${base_libdir}/firmware | ||
| 19 | install -m 0755 ${B}/*.elf ${D}/${base_libdir}/firmware | ||
| 20 | } | ||
| 21 | |||
| 22 | do_deploy() { | ||
| 23 | install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/*.elf ${DEPLOYDIR}/ | ||
| 24 | } | ||
| 25 | addtask deploy before do_build after do_package | ||
| 26 | |||
| 27 | FILES_${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 @@ | |||
| 1 | require conf/distro/xilinx-standalone.inc | ||
| 2 | |||
| 3 | DISTRO_NAME_append = " (freertos)" | ||
| 4 | |||
| 5 | XLNX_CMAKE_SYSTEM_NAME = "FreeRTOS" | ||
| 6 | |||
| 7 | # We need to pass FREERTOS_BSP compliler flag it is consumed | ||
| 8 | # esw components. | ||
| 9 | ESW_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 | ||
| 2 | BBPATH .= ":${LAYERDIR}" | ||
| 3 | |||
| 4 | # We have recipes-* directories, add to BBFILES | ||
| 5 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ | ||
| 6 | ${LAYERDIR}/recipes-*/*/*.bbappend \ | ||
| 7 | ${LAYERDIR}/recipes-*/*.bb \ | ||
| 8 | ${LAYERDIR}/recipes-*/*.bbappend \ | ||
| 9 | " | ||
| 10 | |||
| 11 | BBFILE_COLLECTIONS += "xilinx-standalone-exp" | ||
| 12 | BBFILE_PATTERN_xilinx-standalone-exp = "^${LAYERDIR}/" | ||
| 13 | BBFILE_PRIORITY_xilinx-standalone-exp = "7" | ||
| 14 | |||
| 15 | LAYERDEPENDS_xilinx-standalone-exp = "core \ | ||
| 16 | xilinx \ | ||
| 17 | xilinx-standalone \ | ||
| 18 | xilinx-microblaze \ | ||
| 19 | " | ||
| 20 | |||
| 21 | LAYERSERIES_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 @@ | |||
| 1 | inherit esw deploy | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_hello_world/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil xilstandalone xiltimer freertos10-xilinx device-tree" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | |||
| 18 | FREERTOS_HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 19 | FREERTOS_HELLO_WORLD_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 20 | |||
| 21 | do_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 | |||
| 31 | addtask deploy before do_build after do_package | ||
| 32 | |||
| 33 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_echo_server/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | FREERTOS_LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | FREERTOS_LWIP_ECHO_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_client/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_server/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_client/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_server/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native freertos10-xilinx" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/hello_world/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil xiltimer device-tree" | ||
| 6 | |||
| 7 | inherit python3native | ||
| 8 | |||
| 9 | do_configure_prepend() { | ||
| 10 | cd ${S} | ||
| 11 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 12 | } | ||
| 13 | |||
| 14 | do_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 | |||
| 20 | HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 21 | HELLO_WORLD_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 22 | |||
| 23 | do_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 | |||
| 33 | addtask deploy before do_build after do_package | ||
| 34 | |||
| 35 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_echo_server/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | LWIP_ECHO_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_client/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | LWIP_TCP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_server/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | LWIP_TCP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_client/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | LWIP_UDP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | LWIP_UDP_PERF_CLIENT_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_server/src/" | ||
| 4 | |||
| 5 | DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native" | ||
| 6 | |||
| 7 | do_configure_prepend() { | ||
| 8 | cd ${S} | ||
| 9 | nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH} | ||
| 10 | } | ||
| 11 | |||
| 12 | do_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 | } | ||
| 17 | addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot | ||
| 18 | do_prepare_recipe_sysroot[rdeptask] = "do_unpack" | ||
| 19 | |||
| 20 | do_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 | |||
| 26 | LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 27 | LWIP_UDP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 28 | |||
| 29 | do_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 | |||
| 39 | addtask deploy before do_build after do_package | ||
| 40 | |||
| 41 | FILES_${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 @@ | |||
| 1 | inherit esw deploy | ||
| 2 | |||
| 3 | COMPATIBLE_MACHINE = "microblaze-pmu" | ||
| 4 | |||
| 5 | ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src" | ||
| 6 | |||
| 7 | DEPENDS += "xilstandalone xiltimer xilfpga xilskey" | ||
| 8 | |||
| 9 | do_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 | |||
| 15 | PMU_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 16 | PMU_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 17 | |||
| 18 | do_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 | |||
| 28 | addtask deploy before do_build after do_package | ||
| 29 | |||
| 30 | FILES_${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 @@ | |||
| 1 | inherit esw deploy | ||
| 2 | |||
| 3 | COMPATIBLE_MACHINE = ".*-zynqmp" | ||
| 4 | |||
| 5 | ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_fsbl/src" | ||
| 6 | |||
| 7 | DEPENDS += "xilstandalone xiltimer xilffs xilsecure xilpm device-tree" | ||
| 8 | |||
| 9 | PSU_INIT = "${RECIPE_SYSROOT}/${includedir}/devicetree/psu_init*" | ||
| 10 | |||
| 11 | do_configure_prepend() { | ||
| 12 | # Copy psu_init* files to fsbl source code | ||
| 13 | cp ${PSU_INIT} ${S}/${ESW_COMPONENT_SRC} | ||
| 14 | } | ||
| 15 | |||
| 16 | do_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 | |||
| 22 | ZYNQMP_FSBL_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 23 | ZYNQMP_FSBL_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 24 | |||
| 25 | do_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 | |||
| 35 | addtask deploy before do_build after do_package | ||
| 36 | |||
| 37 | CFLAGS_append_aarch64 = " -DARMA53_64" | ||
| 38 | CFLAGS_append_armrm = " -DARMR5" | ||
| 39 | |||
| 40 | FILES_${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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw_examples | ||
| 2 | |||
| 3 | ESW_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 @@ | |||
| 1 | inherit esw python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/ThirdParty/bsp/freertos10_xilinx/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libfreertos.a" | ||
| 5 | |||
| 6 | DEPENDS += "libxil xilstandalone xilmem dtc-native python3-pyyaml-native python3-dtc-native xiltimer" | ||
| 7 | |||
| 8 | do_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 @@ | |||
| 1 | inherit esw python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/" | ||
| 4 | ESW_COMPONENT_NAME = "libxil.a" | ||
| 5 | |||
| 6 | DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native xilstandalone xilmem device-tree" | ||
| 7 | |||
| 8 | do_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 | |||
| 20 | do_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 | |||
| 26 | addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot | ||
| 27 | do_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 @@ | |||
| 1 | inherit esw python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/ThirdParty/sw_services/lwip211/src/" | ||
| 4 | ESW_COMPONENT_NAME = "liblwip211.a" | ||
| 5 | |||
| 6 | DEPENDS += "dtc-native python3-dtc-native libxil python3-pyyaml-native" | ||
| 7 | DEPENDS_append_xilinx-freertos = "freertos10-xilinx" | ||
| 8 | |||
| 9 | do_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 | |||
| 15 | do_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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilffs/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilffs.a" | ||
| 5 | |||
| 6 | EXTRA_OECMAKE += "-DXILFFS_use_mkfs=OFF" | ||
| 7 | EXTRA_OECMAKE += "-DXILFFS_read_only=ON" | ||
| 8 | EXTRA_OECMAKE += "-DXILFFS_word_access=OFF" | ||
| 9 | |||
| 10 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilfpga/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilfpga.a" | ||
| 5 | |||
| 6 | DEPENDS += " 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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilloader/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilloader.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilmailbox/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilmailbox.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilmem/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilmem.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilpdi/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilpdi.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilplmi/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilplmi.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilpm/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilpm.a" | ||
| 5 | |||
| 6 | DEPENDS = "libxil" | ||
| 7 | DEPENDS_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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilpuf.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilsecure.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilsem/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilsem.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xilskey/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilskey.a" | ||
| 5 | |||
| 6 | DEPENDS += "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 @@ | |||
| 1 | inherit esw python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/bsp/standalone/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxilstandalone.a" | ||
| 5 | |||
| 6 | DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native libgloss device-tree" | ||
| 7 | |||
| 8 | do_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 @@ | |||
| 1 | inherit esw python3native | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_services/xiltimer/src/" | ||
| 4 | ESW_COMPONENT_NAME = "libxiltimer.a" | ||
| 5 | |||
| 6 | DEPENDS += "dtc-native python3-dtc-native python3-pyyaml-native libxil device-tree" | ||
| 7 | |||
| 8 | do_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 @@ | |||
| 1 | inherit esw deploy | ||
| 2 | |||
| 3 | ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/" | ||
| 4 | |||
| 5 | DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem" | ||
| 6 | |||
| 7 | do_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 | |||
| 13 | PLM_FIRMWARE_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}" | ||
| 14 | PLM_FIRMWARE_BASE_NAME[vardepsexclude] = "DATETIME" | ||
| 15 | |||
| 16 | do_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 | |||
| 30 | addtask deploy before do_build after do_package | ||
| 31 | |||
| 32 | FILES_${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 @@ | |||
| 1 | import argparse | ||
| 2 | import libfdt | ||
| 3 | import os | ||
| 4 | import 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 | |||
| 19 | microblaze_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 | |||
| 35 | def 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 | |||
| 91 | def 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 | |||
| 109 | def 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 | |||
| 148 | if __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) | ||
