summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Lannynd <t-lannynd@ti.com>2025-08-21 10:41:36 -0500
committerRyan Eatmon <reatmon@ti.com>2025-08-25 08:40:53 -0500
commit813a58e1caf6119e763d1924ff7ff1f910f17357 (patch)
tree3df7becd74b67cbea7d66e6843a5912fc40c7f87
parent2e648fa3fdf859e4376d20a3cbed4f4545c9f937 (diff)
downloadmeta-ti-813a58e1caf6119e763d1924ff7ff1f910f17357.tar.gz
ti-bsp: recipes-multimedia: Add udev rules for VPU and JPEG encoder symlinks
This patch introduces udev rules to ensure consistent device naming for VPU decoders, encoders, and the JPEG encoder. These rules are essential for enabling hardware-accelerated video decoding in Chromium using the V4L2 Stateful decoder. The following udev rules are added: - Map vpu and vpu0 to /dev/video-dec0 and /dev/video-enc0. - Map vpu1 to /dev/video-dec1 and /dev/video-enc1. - Map the JPEG encoder to /dev/jpeg-enc0. These changes ensure proper operation of the VPU and JPEG encoder, especially when other video devices are connected, avoiding mismatches. Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
-rw-r--r--meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb2
-rw-r--r--meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb2
-rw-r--r--meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules5
-rw-r--r--meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb11
4 files changed, 20 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
index 6a65992f..95bfd01a 100644
--- a/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
+++ b/meta-ti-bsp/recipes-bsp/cnm-wave-fw/cnm-wave-fw_git.bb
@@ -27,3 +27,5 @@ do_install() {
27 install -d ${D}${nonarch_base_libdir}/firmware/cnm 27 install -d ${D}${nonarch_base_libdir}/firmware/cnm
28 install -m 0644 ${S}/cnm/${SOURCE_WAVE521C} ${D}${nonarch_base_libdir}/firmware/cnm/${TARGET_WAVE521C} 28 install -m 0644 ${S}/cnm/${SOURCE_WAVE521C} ${D}${nonarch_base_libdir}/firmware/cnm/${TARGET_WAVE521C}
29} 29}
30
31RDEPENDS:${PN} += "ti-multimedia-udev"
diff --git a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb
index 85f519ab..33057415 100644
--- a/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb
+++ b/meta-ti-bsp/recipes-bsp/ti-img-encode-decode/ti-vxe-vxd-driver_6.12.bb
@@ -21,3 +21,5 @@ TARGET_PRODUCT:j721e = "j721e_linux"
21S = "${WORKDIR}/git" 21S = "${WORKDIR}/git"
22 22
23EXTRA_OEMAKE += 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"' 23EXTRA_OEMAKE += 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"'
24
25RDEPENDS:${PN} += "ti-multimedia-udev"
diff --git a/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules
new file mode 100644
index 00000000..5239d1ef
--- /dev/null
+++ b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/files/67-multimedia.rules
@@ -0,0 +1,5 @@
1SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/*210000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU decoder", SYMLINK+="video-dec0"
2SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/*210000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU encoder", SYMLINK+="video-enc0"
3SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/4220000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU decoder", SYMLINK+="video-dec1"
4SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/4220000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU encoder", SYMLINK+="video-enc1"
5SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/fd20000.jpeg-encoder/video4linux/video*", ATTR{name}=="e5010", SYMLINK+="jpeg-enc0"
diff --git a/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb
new file mode 100644
index 00000000..40b0db8e
--- /dev/null
+++ b/meta-ti-bsp/recipes-multimedia/ti-multimedia-udev/ti-multimedia-udev.bb
@@ -0,0 +1,11 @@
1SUMMARY = "Udev rules for device naming of VPU devices and JPEG encoder"
2
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5
6SRC_URI += "file://67-multimedia.rules"
7
8do_install() {
9 install -d ${D}${sysconfdir}/udev/rules.d
10 install -m 0644 ${WORKDIR}/67-multimedia.rules ${D}${sysconfdir}/udev/rules.d/
11}