diff options
| author | Thorsten Lannynd <t-lannynd@ti.com> | 2025-08-21 10:41:36 -0500 |
|---|---|---|
| committer | Ryan Eatmon <reatmon@ti.com> | 2025-08-25 08:40:53 -0500 |
| commit | 813a58e1caf6119e763d1924ff7ff1f910f17357 (patch) | |
| tree | 3df7becd74b67cbea7d66e6843a5912fc40c7f87 | |
| parent | 2e648fa3fdf859e4376d20a3cbed4f4545c9f937 (diff) | |
| download | meta-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>
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 | |||
| 31 | RDEPENDS:${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" | |||
| 21 | S = "${WORKDIR}/git" | 21 | S = "${WORKDIR}/git" |
| 22 | 22 | ||
| 23 | EXTRA_OEMAKE += 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"' | 23 | EXTRA_OEMAKE += 'KERNEL_DIR="${STAGING_KERNEL_DIR}" PREFIX="${D}"' |
| 24 | |||
| 25 | RDEPENDS:${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 @@ | |||
| 1 | SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/*210000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU decoder", SYMLINK+="video-dec0" | ||
| 2 | SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/*210000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU encoder", SYMLINK+="video-enc0" | ||
| 3 | SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/4220000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU decoder", SYMLINK+="video-dec1" | ||
| 4 | SUBSYSTEM=="video4linux", DEVPATH=="/devices/*/4220000.video-codec/video4linux/video*", ATTR{name}=="C&M Wave5 VPU encoder", SYMLINK+="video-enc1" | ||
| 5 | SUBSYSTEM=="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 @@ | |||
| 1 | SUMMARY = "Udev rules for device naming of VPU devices and JPEG encoder" | ||
| 2 | |||
| 3 | LICENSE = "MIT" | ||
| 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
| 5 | |||
| 6 | SRC_URI += "file://67-multimedia.rules" | ||
| 7 | |||
| 8 | do_install() { | ||
| 9 | install -d ${D}${sysconfdir}/udev/rules.d | ||
| 10 | install -m 0644 ${WORKDIR}/67-multimedia.rules ${D}${sysconfdir}/udev/rules.d/ | ||
| 11 | } | ||
