aboutsummaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb')
-rw-r--r--meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb37
1 files changed, 37 insertions, 0 deletions
diff --git a/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
new file mode 100644
index 00000000..f5b0ff95
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux-xlnx-udev-rules/linux-xlnx-udev-rules.bb
@@ -0,0 +1,37 @@
+SUMMARY = "Udev rules files for Linux drivers"
+DESCRIPTION = "Generic udev rules recipe for Xilinx Linux in tree drivers"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "\
+ file://99-aie-device.rules \
+"
+
+S = "${WORKDIR}"
+
+inherit useradd
+
+COMPATIBLE_MACHINE ?= "^$"
+COMPATIBLE_MACHINE:zynq = ".*"
+COMPATIBLE_MACHINE:zynqmp = ".*"
+COMPATIBLE_MACHINE:microblaze = ".*"
+COMPATIBLE_MACHINE:versal = ".*"
+
+do_configure[noexec] = '1'
+do_compile[noexec] = '1'
+
+do_install () {
+ install -d ${D}${sysconfdir}/udev/rules.d
+ for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do
+ if ${@bb.utils.contains_any('SOC_VARIANT', ['ai-core', 'ai-edge'], 'true', 'false' ,d)}; then
+ install -m 0644 ${WORKDIR}/99-aie-device.rules ${D}${sysconfdir}/udev/rules.d/
+ fi
+ install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/
+ done
+}
+
+USERADD_PACKAGES = "${PN}"
+GROUPADD_PARAM:${PN} += "${@bb.utils.contains_any('SOC_VARIANT', ['ai-core', 'ai-edge'], '-r aie;', '', d)}"
+
+FILES:${PN} += "${sysconfdir}/udev/rules.d/*"
+