diff options
Diffstat (limited to 'meta-xilinx/meta-xilinx-pynq/recipes-support/pynq-overlay')
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" |