diff options
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) | ||
