summaryrefslogtreecommitdiff
path: root/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay')
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE23
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf1
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi16
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi15
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi17
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi15
-rw-r--r--meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb45
7 files changed, 132 insertions, 0 deletions
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE
new file mode 100644
index 000000000..e1e09ab59
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/LICENSE
@@ -0,0 +1,23 @@
+#*******************************************************************************
+#
+# Copyright (C) 2019 Xilinx, Inc. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of
+# this software and associated documentation files (the "Software"), to deal in
+# the Software without restriction, including without limitation the rights to
+# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+# of the Software, and to permit persons to whom the Software is furnished to do
+# so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+#
+# ******************************************************************************
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/generic-uio.conf
new file mode 100644
index 000000000..84d06c84c
--- /dev/null
+++ b/meta-xilinx/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/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi
new file mode 100644
index 000000000..8c20cdd50
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq.dtsi
@@ -0,0 +1,16 @@
+/dts-v1/;
+/plugin/;
+
+&{/amba} {
+ xlnk {
+ compatible = "xlnx,xlnk-1.0";
+ };
+ fabric@40000000 {
+ compatible = "generic-uio";
+ reg = <0x40001000 0x1000>;
+ status = "okay";
+ interrupt-parent = <&intc>;
+ interrupts = <0 0x1d 4>;
+ };
+
+};
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi
new file mode 100644
index 000000000..69cbdb659
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynq_symbols.dtsi
@@ -0,0 +1,15 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+
+ fragment@0 {
+ target-path = "/";
+ __overlay__ {
+ __symbols__ {
+ intc = "/amba/interrupt-controller@f8f01000";
+ };
+ };
+ };
+
+};
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi
new file mode 100644
index 000000000..4c389dae7
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp.dtsi
@@ -0,0 +1,17 @@
+/dts-v1/;
+/plugin/;
+
+&{/amba} {
+ xlnk {
+ compatible = "xlnx,xlnk-1.0";
+ };
+ fabric@A0000000 {
+ compatible = "generic-uio";
+ reg = <0x0 0xA0001000 0x0 0x1000>;
+ status = "okay";
+ interrupt-parent = <&gic>;
+ interrupts = <0 89 4>;
+ };
+
+};
+
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi
new file mode 100644
index 000000000..2e8ea882d
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay/pynq_zynqmp_symbols.dtsi
@@ -0,0 +1,15 @@
+/dts-v1/;
+/plugin/;
+
+/ {
+
+ fragment@0 {
+ target-path = "/";
+ __overlay__ {
+ __symbols__ {
+ gic = "/amba_apu@0/interrupt-controller@f9010000";
+ };
+ };
+ };
+
+};
diff --git a/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb
new file mode 100644
index 000000000..fb8d7012b
--- /dev/null
+++ b/meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb
@@ -0,0 +1,45 @@
+SUMMARY = "Xilinx PYNQ overlay"
+HOMEPAGE = "http://pynq.io"
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=23;md5=04c57e41ad93d4d6b6ca3d766372b0fa"
+
+DEPENDS += "dtc-native"
+
+SRC_URI = " \
+ file://pynq_zynqmp.dtsi \
+ file://pynq_zynq.dtsi \
+ file://pynq_zynqmp_symbols.dtsi \
+ file://pynq_zynq_symbols.dtsi \
+ file://generic-uio.conf \
+ file://LICENSE \
+ "
+
+S="${WORKDIR}"
+
+PYNQ_DTSI ??= "pynq_zynqmp.dtsi"
+PYNQ_DTSI_zynqmp ?= "pynq_zynqmp.dtsi"
+PYNQ_DTSI_zynq ?= "pynq_zynq.dtsi"
+PYNQ_SYMBOL_DTSI_zynqmp ?= "pynq_zynqmp_symbols.dtsi"
+PYNQ_SYMBOL_DTSI_zynq ?= "pynq_zynq_symbols.dtsi"
+PYNQ_DTBO ?= "pynq.dtbo"
+PYNQ_SYMBOL_DTBO ?= "pynq-symbols.dtbo"
+
+do_compile() {
+
+ dtc -I dts -O dtb -@ ${WORKDIR}/${PYNQ_DTSI} -o ${S}/${PYNQ_DTBO}
+ dtc -I dts -O dtb -@ ${WORKDIR}/${PYNQ_SYMBOL_DTSI} -o ${S}/${PYNQ_SYMBOL_DTBO}
+}
+
+
+do_install() {
+
+ install -d ${D}/lib/firmware
+ install -m 755 ${S}/${PYNQ_DTBO} ${D}/lib/firmware/${PYNQ_DTBO}
+ install -m 755 ${S}/${PYNQ_SYMBOL_DTBO} ${D}/lib/firmware/${PYNQ_SYMBOL_DTBO}
+
+ install -d ${D}/etc/modprobe.d
+ install -m 644 ${WORKDIR}/generic-uio.conf ${D}${sysconfdir}/modprobe.d/generic-uio.conf
+
+}
+
+FILES_${PN} += "/lib/firmware/pynq.dtbo /lib/firmware/pynq-symbols.dtbo ${sysconfdir}/modprobe.d/generic-uio.conf"