diff options
15 files changed, 409 insertions, 0 deletions
diff --git a/meta-xilinx-pynq/COPYING.MIT b/meta-xilinx-pynq/COPYING.MIT new file mode 100644 index 00000000..89de3547 --- /dev/null +++ b/meta-xilinx-pynq/COPYING.MIT | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 2 | of this software and associated documentation files (the "Software"), to deal | ||
| 3 | in the Software without restriction, including without limitation the rights | ||
| 4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| 5 | copies of the Software, and to permit persons to whom the Software is | ||
| 6 | furnished to do so, subject to the following conditions: | ||
| 7 | |||
| 8 | The above copyright notice and this permission notice shall be included in | ||
| 9 | all copies or substantial portions of the Software. | ||
| 10 | |||
| 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
| 17 | THE SOFTWARE. | ||
diff --git a/meta-xilinx-pynq/README.md b/meta-xilinx-pynq/README.md new file mode 100644 index 00000000..99e388fa --- /dev/null +++ b/meta-xilinx-pynq/README.md | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | # meta-xilinx-pynq | ||
| 2 | |||
| 3 | ================================ | ||
| 4 | |||
| 5 | Introduction | ||
| 6 | ------------------------- | ||
| 7 | |||
| 8 | This layer collects recipes required to build and run PYNQ based examples using jupyter-notebooks on yocto | ||
| 9 | |||
| 10 | Maintainers, Patches/Submissions, Community | ||
| 11 | =========================================== | ||
| 12 | Please open pull requests for any changes. | ||
| 13 | |||
| 14 | Maintainers: | ||
| 15 | |||
| 16 | Manjukumar Harthikote Matha (manjukumar.harthikote-matha@xilinx.com) | ||
| 17 | |||
| 18 | Peter Ogden (ogden@xilinx.com) | ||
| 19 | |||
| 20 | Sai Hari Chandana Kalluri (chandana.kalluri@xilinx.com) | ||
| 21 | |||
| 22 | |||
| 23 | Layer dependencies | ||
| 24 | ===================== | ||
| 25 | |||
| 26 | URI: git://git.openembedded.org/bitbake | ||
| 27 | |||
| 28 | URI: git://git.openembedded.org/openembedded-core | ||
| 29 | |||
| 30 | URI: git://git.openembedded.org/meta-openembedded | ||
diff --git a/meta-xilinx-pynq/classes/xilinx-pynq.bbclass b/meta-xilinx-pynq/classes/xilinx-pynq.bbclass new file mode 100644 index 00000000..a571f150 --- /dev/null +++ b/meta-xilinx-pynq/classes/xilinx-pynq.bbclass | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | PYNQ_NOTEBOOK_DIR ?= "${datadir}/notebooks" | ||
| 2 | |||
| 3 | PYNQ_ARCH_arm = "armv7l" | ||
| 4 | PYNQ_ARCH_aarch64 = "aarch64" | ||
| 5 | |||
| 6 | CMA_ARCH_arm = "32" | ||
| 7 | CMA_ARCH_aarch64 = "64" | ||
| 8 | |||
| 9 | PYNQ_BUILD_ARCH="${PYNQ_ARCH_${TARGET_ARCH}}" | ||
| 10 | PYNQ_BUILD_ROOT="${STAGING_DIR_TARGET}" | ||
| 11 | BBCLASSEXTEND = "native nativesdk" | ||
| 12 | |||
| 13 | FILES_${PN}-notebooks += "${PYNQ_NOTEBOOK_DIR}" | ||
| 14 | PACKAGES += "${PN}-notebooks" | ||
| 15 | |||
| 16 | # Used for setup.py on PYNQ | ||
| 17 | BOARD_NAME_ultra96-zynqmp = "Ultra96" | ||
diff --git a/meta-xilinx-pynq/conf/layer.conf b/meta-xilinx-pynq/conf/layer.conf new file mode 100644 index 00000000..045897e3 --- /dev/null +++ b/meta-xilinx-pynq/conf/layer.conf | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # We have a conf and classes directory, add to BBPATH | ||
| 2 | BBPATH .= ":${LAYERDIR}" | ||
| 3 | |||
| 4 | # We have a packages directory, add to BBFILES | ||
| 5 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb" | ||
| 6 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bbappend" | ||
| 7 | |||
| 8 | BBFILE_COLLECTIONS += "xilinx-pynq" | ||
| 9 | BBFILE_PATTERN_xilinx-pynq = "^${LAYERDIR}/" | ||
| 10 | BBFILE_PRIORITY_xilinx-pynq = "5" | ||
| 11 | |||
| 12 | LAYERDEPENDS_xilinx-pynq = "core xilinx" | ||
| 13 | |||
| 14 | LAYERSERIES_COMPAT_xilinx-pynq = "zeus" | ||
| 15 | |||
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc b/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc new file mode 100644 index 00000000..fa717f45 --- /dev/null +++ b/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | SUMMARY = "Xilinx PYNQ Library" | ||
| 2 | HOMEPAGE = "http://pynq.io" | ||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b42e39ad2ddbad7e8ad47f3eee6feff5" | ||
| 5 | |||
| 6 | RDEPENDS_${PN} += "\ | ||
| 7 | ${PYTHON_PN}-core \ | ||
| 8 | ${PYTHON_PN}-asyncio \ | ||
| 9 | ${PYTHON_PN}-cffi \ | ||
| 10 | ${PYTHON_PN}-json \ | ||
| 11 | ${PYTHON_PN}-math \ | ||
| 12 | ${PYTHON_PN}-mmap \ | ||
| 13 | ${PYTHON_PN}-multiprocessing \ | ||
| 14 | ${PYTHON_PN}-numpy \ | ||
| 15 | ${PYTHON_PN}-pycparser \ | ||
| 16 | ${PYTHON_PN}-resource \ | ||
| 17 | ${PYTHON_PN}-setuptools \ | ||
| 18 | ${PYTHON_PN}-threading \ | ||
| 19 | ${PYTHON_PN}-xml \ | ||
| 20 | lmsensors-libsensors \ | ||
| 21 | libdrm \ | ||
| 22 | libcma \ | ||
| 23 | pynq-overlay \ | ||
| 24 | " | ||
| 25 | |||
| 26 | inherit update-rc.d xilinx-pynq | ||
| 27 | |||
| 28 | DEPENDS += " libdrm boost libcma" | ||
| 29 | |||
| 30 | PYNQBRANCH ?= "image_v2.4" | ||
| 31 | SRCBRANCHARG = "${@['nobranch=1', 'branch=${PYNQBRANCH}'][d.getVar('PYNQBRANCH', True) != '']}" | ||
| 32 | PYNQURI ?= "git://github.com/Xilinx/PYNQ.git;protocol=https" | ||
| 33 | |||
| 34 | SRC_URI = "${PYNQURI};${SRCBRANCHARG} \ | ||
| 35 | file://pl_server_init \ | ||
| 36 | " | ||
| 37 | SRCREV ?= "3d659d374701b7c34fa702e7aa23f71f9113f826" | ||
| 38 | |||
| 39 | FILESEXTRAPATHS_prepend := "${THISDIR}:" | ||
| 40 | S = "${WORKDIR}/git" | ||
| 41 | |||
| 42 | INSANE_SKIP_${PN} = "staticdev" | ||
| 43 | |||
| 44 | INITSCRIPT_PACKAGES = "${PN}" | ||
| 45 | INITSCRIPT_NAME = "pl_server_init" | ||
| 46 | INITSCRIPT_PARAMS = "start 99 S ." | ||
| 47 | |||
| 48 | do_install_append() { | ||
| 49 | install -d ${D}${INIT_D_DIR} | ||
| 50 | install -m 755 ${WORKDIR}/pl_server_init ${D}${INIT_D_DIR}/pl_server_init | ||
| 51 | } | ||
| 52 | |||
| 53 | FILES_${PN} += " ${INIT_D_DIR}/pl_server_init " | ||
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init new file mode 100644 index 00000000..8b13ae1f --- /dev/null +++ b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | ### BEGIN INIT INFO | ||
| 3 | # Provides: | ||
| 4 | # Required-Start: $remote_fs $syslog | ||
| 5 | # Required-Stop: $remote_fs $syslog | ||
| 6 | # Default-Start: 2 3 4 5 | ||
| 7 | # Default-Stop: 0 1 6 | ||
| 8 | # Short-Description: Start daemon at boot time | ||
| 9 | # Description: Enable service provided by daemon. | ||
| 10 | ### END INIT INFO | ||
| 11 | |||
| 12 | dir="" | ||
| 13 | cmd="start_pl_server.py" | ||
| 14 | user="" | ||
| 15 | |||
| 16 | name="pl_server" | ||
| 17 | pid_file="/var/run/$name.pid" | ||
| 18 | stdout_log="/var/log/$name.log" | ||
| 19 | stderr_log="/var/log/$name.err" | ||
| 20 | |||
| 21 | get_pid() { | ||
| 22 | cat "$pid_file" | ||
| 23 | } | ||
| 24 | |||
| 25 | is_running() { | ||
| 26 | [ -f "$pid_file" ] && (ps -o"pid" | grep '^ '`get_pid`'$') > /dev/null 2>&1 | ||
| 27 | } | ||
| 28 | |||
| 29 | install_overlay() { | ||
| 30 | if [ ! -e '/sys/kernel/config/device-tree/overlays/pynq' ]; then | ||
| 31 | modprobe uio_pdrv_genirq | ||
| 32 | if [ ! -e /proc/device-tree/__symbols__ ]; then | ||
| 33 | mkdir /sys/kernel/config/device-tree/overlays/pynq-symbols | ||
| 34 | cat /lib/firmware/pynq-symbols.dtbo > /sys/kernel/config/device-tree/overlays/pynq-symbols/dtbo | ||
| 35 | fi | ||
| 36 | mkdir /sys/kernel/config/device-tree/overlays/pynq | ||
| 37 | cat /lib/firmware/pynq.dtbo > /sys/kernel/config/device-tree/overlays/pynq/dtbo | ||
| 38 | fi | ||
| 39 | } | ||
| 40 | |||
| 41 | case "$1" in | ||
| 42 | start) | ||
| 43 | if is_running; then | ||
| 44 | echo "Already started" | ||
| 45 | else | ||
| 46 | echo "Starting $name" | ||
| 47 | cd "$dir" | ||
| 48 | install_overlay | ||
| 49 | $cmd >> "$stdout_log" 2>> "$stderr_log" & | ||
| 50 | echo $! > "$pid_file" | ||
| 51 | if ! is_running; then | ||
| 52 | echo "Unable to start, see $stdout_log and $stderr_log" | ||
| 53 | exit 1 | ||
| 54 | fi | ||
| 55 | fi | ||
| 56 | ;; | ||
| 57 | stop) | ||
| 58 | if is_running; then | ||
| 59 | echo -n "Stopping $name.." | ||
| 60 | kill `get_pid` | ||
| 61 | for i in 1 2 3 4 5 6 7 8 9 10 | ||
| 62 | # for i in `seq 10` | ||
| 63 | do | ||
| 64 | if ! is_running; then | ||
| 65 | break | ||
| 66 | fi | ||
| 67 | |||
| 68 | echo -n "." | ||
| 69 | sleep 1 | ||
| 70 | done | ||
| 71 | echo | ||
| 72 | |||
| 73 | if is_running; then | ||
| 74 | echo "Not stopped; may still be shutting down or shutdown may have failed" | ||
| 75 | exit 1 | ||
| 76 | else | ||
| 77 | echo "Stopped" | ||
| 78 | if [ -f "$pid_file" ]; then | ||
| 79 | rm "$pid_file" | ||
| 80 | fi | ||
| 81 | fi | ||
| 82 | else | ||
| 83 | echo "Not running" | ||
| 84 | fi | ||
| 85 | ;; | ||
| 86 | restart) | ||
| 87 | $0 stop | ||
| 88 | if is_running; then | ||
| 89 | echo "Unable to stop, will not attempt to start" | ||
| 90 | exit 1 | ||
| 91 | fi | ||
| 92 | $0 start | ||
| 93 | ;; | ||
| 94 | status) | ||
| 95 | if is_running; then | ||
| 96 | echo "Running" | ||
| 97 | else | ||
| 98 | echo "Stopped" | ||
| 99 | exit 1 | ||
| 100 | fi | ||
| 101 | ;; | ||
| 102 | *) | ||
| 103 | echo "Usage: $0 {start|stop|restart|status}" | ||
| 104 | exit 1 | ||
| 105 | ;; | ||
| 106 | esac | ||
| 107 | |||
| 108 | exit 0 | ||
| 109 | |||
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.4.bb b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.4.bb new file mode 100644 index 00000000..5a904c8f --- /dev/null +++ b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.4.bb | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | inherit pypi setuptools3 | ||
| 2 | require python-pynq.inc | ||
| 3 | |||
diff --git a/meta-xilinx-pynq/recipes-support/libcma/libcma_1.0.bb b/meta-xilinx-pynq/recipes-support/libcma/libcma_1.0.bb new file mode 100644 index 00000000..44857256 --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/libcma/libcma_1.0.bb | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | SUMMARY = "Recompile libcma against pynqlib c" | ||
| 2 | LICENSE = "MIT" | ||
| 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b42e39ad2ddbad7e8ad47f3eee6feff5" | ||
| 4 | |||
| 5 | CMA_ARCH_arm = "32" | ||
| 6 | CMA_ARCH_aarch64 = "64" | ||
| 7 | |||
| 8 | PYNQBRANCH ?= "image_v2.4" | ||
| 9 | SRCBRANCHARG = "${@['nobranch=1', 'branch=${PYNQBRANCH}'][d.getVar('PYNQBRANCH', True) != '']}" | ||
| 10 | PYNQURI ?= "git://github.com/Xilinx/PYNQ.git;protocol=https" | ||
| 11 | |||
| 12 | SRC_URI ?= "${PYNQURI};${SRCBRANCHARG}" | ||
| 13 | |||
| 14 | SRCREV ?= "3d659d374701b7c34fa702e7aa23f71f9113f826" | ||
| 15 | |||
| 16 | S="${WORKDIR}/git" | ||
| 17 | |||
| 18 | CMA_ARCH_arm = "32" | ||
| 19 | CMA_ARCH_aarch64 = "64" | ||
| 20 | |||
| 21 | do_install() { | ||
| 22 | |||
| 23 | install -d ${D}/usr/lib/ | ||
| 24 | install -d ${D}/usr/include/ | ||
| 25 | |||
| 26 | cd ${S}/sdbuild/packages/libsds/libcma | ||
| 27 | CMA_ARCH=${CMA_ARCH_${TARGET_ARCH}} make install DESTDIR=${D} | ||
| 28 | } | ||
| 29 | |||
| 30 | SOLIBS = ".so" | ||
| 31 | FILES_SOLIBSDEV = "" | ||
| 32 | FILES_${PN} += "/usr/lib/libcma.so /usr/include" | ||
| 33 | |||
diff --git a/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE new file mode 100644 index 00000000..e1e09ab5 --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | #******************************************************************************* | ||
| 2 | # | ||
| 3 | # Copyright (C) 2019 Xilinx, Inc. All rights reserved. | ||
| 4 | # | ||
| 5 | # Permission is hereby granted, free of charge, to any person obtaining a copy of | ||
| 6 | # this software and associated documentation files (the "Software"), to deal in | ||
| 7 | # the Software without restriction, including without limitation the rights to | ||
| 8 | # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies | ||
| 9 | # of the Software, and to permit persons to whom the Software is furnished to do | ||
| 10 | # so, subject to the following conditions: | ||
| 11 | # | ||
| 12 | # The above copyright notice and this permission notice shall be included in all | ||
| 13 | # copies or substantial portions of the Software. | ||
| 14 | # | ||
| 15 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 16 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 17 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 18 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 19 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| 20 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 21 | # SOFTWARE. | ||
| 22 | # | ||
| 23 | # ****************************************************************************** | ||
diff --git a/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf new file mode 100644 index 00000000..84d06c84 --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf | |||
| @@ -0,0 +1 @@ | |||
| options uio_pdrv_genirq of_id=generic-uio | |||
diff --git a/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi new file mode 100644 index 00000000..8c20cdd5 --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | /dts-v1/; | ||
| 2 | /plugin/; | ||
| 3 | |||
| 4 | &{/amba} { | ||
| 5 | xlnk { | ||
| 6 | compatible = "xlnx,xlnk-1.0"; | ||
| 7 | }; | ||
| 8 | fabric@40000000 { | ||
| 9 | compatible = "generic-uio"; | ||
| 10 | reg = <0x40001000 0x1000>; | ||
| 11 | status = "okay"; | ||
| 12 | interrupt-parent = <&intc>; | ||
| 13 | interrupts = <0 0x1d 4>; | ||
| 14 | }; | ||
| 15 | |||
| 16 | }; | ||
diff --git a/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi new file mode 100644 index 00000000..69cbdb65 --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | /dts-v1/; | ||
| 2 | /plugin/; | ||
| 3 | |||
| 4 | / { | ||
| 5 | |||
| 6 | fragment@0 { | ||
| 7 | target-path = "/"; | ||
| 8 | __overlay__ { | ||
| 9 | __symbols__ { | ||
| 10 | intc = "/amba/interrupt-controller@f8f01000"; | ||
| 11 | }; | ||
| 12 | }; | ||
| 13 | }; | ||
| 14 | |||
| 15 | }; | ||
diff --git a/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi new file mode 100644 index 00000000..4c389dae --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | /dts-v1/; | ||
| 2 | /plugin/; | ||
| 3 | |||
| 4 | &{/amba} { | ||
| 5 | xlnk { | ||
| 6 | compatible = "xlnx,xlnk-1.0"; | ||
| 7 | }; | ||
| 8 | fabric@A0000000 { | ||
| 9 | compatible = "generic-uio"; | ||
| 10 | reg = <0x0 0xA0001000 0x0 0x1000>; | ||
| 11 | status = "okay"; | ||
| 12 | interrupt-parent = <&gic>; | ||
| 13 | interrupts = <0 89 4>; | ||
| 14 | }; | ||
| 15 | |||
| 16 | }; | ||
| 17 | |||
diff --git a/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi new file mode 100644 index 00000000..2e8ea882 --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | /dts-v1/; | ||
| 2 | /plugin/; | ||
| 3 | |||
| 4 | / { | ||
| 5 | |||
| 6 | fragment@0 { | ||
| 7 | target-path = "/"; | ||
| 8 | __overlay__ { | ||
| 9 | __symbols__ { | ||
| 10 | gic = "/amba_apu@0/interrupt-controller@f9010000"; | ||
| 11 | }; | ||
| 12 | }; | ||
| 13 | }; | ||
| 14 | |||
| 15 | }; | ||
diff --git a/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb new file mode 100644 index 00000000..fb8d7012 --- /dev/null +++ b/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | SUMMARY = "Xilinx PYNQ overlay" | ||
| 2 | HOMEPAGE = "http://pynq.io" | ||
| 3 | LICENSE = "Proprietary" | ||
| 4 | LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=23;md5=04c57e41ad93d4d6b6ca3d766372b0fa" | ||
| 5 | |||
| 6 | DEPENDS += "dtc-native" | ||
| 7 | |||
| 8 | SRC_URI = " \ | ||
| 9 | file://pynq_zynqmp.dtsi \ | ||
| 10 | file://pynq_zynq.dtsi \ | ||
| 11 | file://pynq_zynqmp_symbols.dtsi \ | ||
| 12 | file://pynq_zynq_symbols.dtsi \ | ||
| 13 | file://generic-uio.conf \ | ||
| 14 | file://LICENSE \ | ||
| 15 | " | ||
| 16 | |||
| 17 | S="${WORKDIR}" | ||
| 18 | |||
| 19 | PYNQ_DTSI ??= "pynq_zynqmp.dtsi" | ||
| 20 | PYNQ_DTSI_zynqmp ?= "pynq_zynqmp.dtsi" | ||
| 21 | PYNQ_DTSI_zynq ?= "pynq_zynq.dtsi" | ||
| 22 | PYNQ_SYMBOL_DTSI_zynqmp ?= "pynq_zynqmp_symbols.dtsi" | ||
| 23 | PYNQ_SYMBOL_DTSI_zynq ?= "pynq_zynq_symbols.dtsi" | ||
| 24 | PYNQ_DTBO ?= "pynq.dtbo" | ||
| 25 | PYNQ_SYMBOL_DTBO ?= "pynq-symbols.dtbo" | ||
| 26 | |||
| 27 | do_compile() { | ||
| 28 | |||
| 29 | dtc -I dts -O dtb -@ ${WORKDIR}/${PYNQ_DTSI} -o ${S}/${PYNQ_DTBO} | ||
| 30 | dtc -I dts -O dtb -@ ${WORKDIR}/${PYNQ_SYMBOL_DTSI} -o ${S}/${PYNQ_SYMBOL_DTBO} | ||
| 31 | } | ||
| 32 | |||
| 33 | |||
| 34 | do_install() { | ||
| 35 | |||
| 36 | install -d ${D}/lib/firmware | ||
| 37 | install -m 755 ${S}/${PYNQ_DTBO} ${D}/lib/firmware/${PYNQ_DTBO} | ||
| 38 | install -m 755 ${S}/${PYNQ_SYMBOL_DTBO} ${D}/lib/firmware/${PYNQ_SYMBOL_DTBO} | ||
| 39 | |||
| 40 | install -d ${D}/etc/modprobe.d | ||
| 41 | install -m 644 ${WORKDIR}/generic-uio.conf ${D}${sysconfdir}/modprobe.d/generic-uio.conf | ||
| 42 | |||
| 43 | } | ||
| 44 | |||
| 45 | FILES_${PN} += "/lib/firmware/pynq.dtbo /lib/firmware/pynq-symbols.dtbo ${sysconfdir}/modprobe.d/generic-uio.conf" | ||
