summaryrefslogtreecommitdiff
path: root/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq')
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch25
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch35
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch25
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init109
4 files changed, 194 insertions, 0 deletions
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch
new file mode 100644
index 000000000..d947a3a61
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch
@@ -0,0 +1,25 @@
+From 940acab94a60708a9a9092579af52c1195f23fae Mon Sep 17 00:00:00 2001
+From: Peter Ogden <ogden@xilinx.com>
+Date: Tue, 3 Mar 2020 06:21:03 -0500
+Subject: [PATCH 1/3] Fix 3.6-ism in Xlnk class
+
+---
+ pynq/xlnk.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pynq/xlnk.py b/pynq/xlnk.py
+index c07f1e5..a25e0e3 100644
+--- a/pynq/xlnk.py
++++ b/pynq/xlnk.py
+@@ -423,7 +423,7 @@ class Xlnk:
+ for l in f.readlines():
+ m = re.match('CmaTotal:[\\s]+([0-9]+) kB', l)
+ if m:
+- return int(m[1]) * 1024
++ return int(m.group(1)) * 1024
+ return 0
+
+ def flush(self, bo, offset, vaddr, nbytes):
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch
new file mode 100644
index 000000000..e67c80488
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch
@@ -0,0 +1,35 @@
+From 70b38f8748779d57117bca3e37441e2223372293 Mon Sep 17 00:00:00 2001
+From: Peter Ogden <ogden@xilinx.com>
+Date: Tue, 3 Mar 2020 06:23:26 -0500
+Subject: [PATCH 2/3] Avoid deleteing notebooks
+
+---
+ setup.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index df1dada..95479e3 100644
+--- a/setup.py
++++ b/setup.py
+@@ -36,6 +36,7 @@ from setuptools.command.build_ext import build_ext
+ from distutils.dir_util import copy_tree
+ from distutils.file_util import copy_file, move_file
+ from shutil import rmtree
++import shutil
+ import glob
+ import re
+ import subprocess
+@@ -322,8 +323,8 @@ class BuildExtension(build_ext):
+ for ol in overlay_dirs:
+ src = os.path.join(board_folder, ol)
+ dst = os.path.join(self.build_lib, "pynq/overlays", ol)
+- exclude_file_or_folder('notebooks', src)
+- copy_tree(src, dst)
++ if not os.path.isdir(dst):
++ shutil.copytree(src, dst, ignore=shutil.ignore_patterns('notebooks'))
+
+ def run(self):
+ if CPU_ARCH == ZYNQ_ARCH:
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch
new file mode 100644
index 000000000..f250e4a24
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch
@@ -0,0 +1,25 @@
+From 65e1134505235a60013d91c8b03401b8b4062cde Mon Sep 17 00:00:00 2001
+From: Peter Ogden <ogden@xilinx.com>
+Date: Tue, 3 Mar 2020 10:32:35 -0500
+Subject: [PATCH 3/3] Use sysroot for Displayport library
+
+---
+ pynq/lib/_pynq/_displayport/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pynq/lib/_pynq/_displayport/Makefile b/pynq/lib/_pynq/_displayport/Makefile
+index 5567e34..7f1f7b7 100644
+--- a/pynq/lib/_pynq/_displayport/Makefile
++++ b/pynq/lib/_pynq/_displayport/Makefile
+@@ -2,7 +2,7 @@ CC ?= gcc
+ CXX ?= g++
+
+ OBJSC = displayport.o
+-INC = -I${PYNQ_BUILD_ROOT}/usr/include/libdrm
++INC = -I=${PYNQ_BUILD_ROOT}/usr/include/libdrm
+
+ all:
+ $(CXX) -fPIC $(INC) -c -g -std=c++11 displayport.cpp $(CFLAGS)
+--
+2.7.4
+
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init
new file mode 100644
index 000000000..8b13ae1f1
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/pl_server_init
@@ -0,0 +1,109 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:
+# Required-Start: $remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start daemon at boot time
+# Description: Enable service provided by daemon.
+### END INIT INFO
+
+dir=""
+cmd="start_pl_server.py"
+user=""
+
+name="pl_server"
+pid_file="/var/run/$name.pid"
+stdout_log="/var/log/$name.log"
+stderr_log="/var/log/$name.err"
+
+get_pid() {
+ cat "$pid_file"
+}
+
+is_running() {
+ [ -f "$pid_file" ] && (ps -o"pid" | grep '^ '`get_pid`'$') > /dev/null 2>&1
+}
+
+install_overlay() {
+if [ ! -e '/sys/kernel/config/device-tree/overlays/pynq' ]; then
+ modprobe uio_pdrv_genirq
+ if [ ! -e /proc/device-tree/__symbols__ ]; then
+ mkdir /sys/kernel/config/device-tree/overlays/pynq-symbols
+ cat /lib/firmware/pynq-symbols.dtbo > /sys/kernel/config/device-tree/overlays/pynq-symbols/dtbo
+ fi
+ mkdir /sys/kernel/config/device-tree/overlays/pynq
+ cat /lib/firmware/pynq.dtbo > /sys/kernel/config/device-tree/overlays/pynq/dtbo
+fi
+}
+
+case "$1" in
+ start)
+ if is_running; then
+ echo "Already started"
+ else
+ echo "Starting $name"
+ cd "$dir"
+ install_overlay
+ $cmd >> "$stdout_log" 2>> "$stderr_log" &
+ echo $! > "$pid_file"
+ if ! is_running; then
+ echo "Unable to start, see $stdout_log and $stderr_log"
+ exit 1
+ fi
+ fi
+ ;;
+ stop)
+ if is_running; then
+ echo -n "Stopping $name.."
+ kill `get_pid`
+ for i in 1 2 3 4 5 6 7 8 9 10
+ # for i in `seq 10`
+ do
+ if ! is_running; then
+ break
+ fi
+
+ echo -n "."
+ sleep 1
+ done
+ echo
+
+ if is_running; then
+ echo "Not stopped; may still be shutting down or shutdown may have failed"
+ exit 1
+ else
+ echo "Stopped"
+ if [ -f "$pid_file" ]; then
+ rm "$pid_file"
+ fi
+ fi
+ else
+ echo "Not running"
+ fi
+ ;;
+ restart)
+ $0 stop
+ if is_running; then
+ echo "Unable to stop, will not attempt to start"
+ exit 1
+ fi
+ $0 start
+ ;;
+ status)
+ if is_running; then
+ echo "Running"
+ else
+ echo "Stopped"
+ exit 1
+ fi
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status}"
+ exit 1
+ ;;
+esac
+
+exit 0
+