[PATCH v2 0/7] media: venus: Add QCM2290 support with AR50_LITE core

Jorge Ramirez-Ortiz
2025-06-19T14:20:21Z

Changes since v1:
- Add IS_HFI macro usage
- Move schema patch to top
- Fix commit messages

This patch series adds support for the Venus video decoder/encoder block
present on the Qualcomm QCM2290.

The QCM2290 integrates an AR50_LITE core, a low-power implementation of
Venus supporting H.264, HEVC (H.265), and VP9 decoding.

The series includes:
• DT binding schema for qcom,qcm2290-venus
• SoC integration via qcm2290.dtsi
• Resource table definitions and frequency scaling
• Platform capability registration for the AR50_LITE core

Decoding was verified on the QCOM RB1 platform using GStreamer with V4L2-based
decode plugins. The following pipelines were used for playback 1280x720 and
1920x1080 H.264, HVEC and VP9 videos from https://www.elecard.com/videos.

[H.264]
gst-launch-1.0 filesrc location=videos/xxxxx.mp4 \
! qtdemux name=demux demux.video_0 ! queue ! h264parse ! v4l2h264dec \
! videoconvert ! autovideosink

[H.265]
gst-launch-1.0 filesrc location=videos/xxxxx.mp4 \
! qtdemux name=demux demux.video_0 ! queue ! h265parse ! v4l2h265dec \
! videoconvert ! autovideosink

[VP9]
gst-launch-1.0 filesrc location=videos/xxxxx.webm \
! matroskademus ! queue ! v4l2vp8dec \
! videoconvert ! autovideosink

---

Jorge Ramirez-Ortiz (7):
dt-bindings: media: venus: Add qcm2290 dt schema
media: venus: helpers: add IS_VPU() and IS_HFI() macros
media: venus: use IS_HFI() macro for multi-version check
media: venus: vdec: AR50_LITE video core support
media: venus: hfi_plat_v6_lite: Populate decode capabilities
media: venus: core: Add qcm2290 DT compatible and resource data
arm64: dts: qcom: qcm2290: Add venus video node

.../bindings/media/qcom,qcm2290-venus.yaml | 117 ++++++++++++++
arch/arm64/boot/dts/qcom/qcm2290.dtsi | 45 ++++++
drivers/media/platform/qcom/venus/Makefile | 2 +-
drivers/media/platform/qcom/venus/core.c | 51 +++++-
drivers/media/platform/qcom/venus/core.h | 28 +++-
drivers/media/platform/qcom/venus/firmware.c | 8 +-
drivers/media/platform/qcom/venus/helpers.c | 81 ++++++++++
drivers/media/platform/qcom/venus/helpers.h | 2 +
.../media/platform/qcom/venus/hfi_helper.h | 10 +-
.../media/platform/qcom/venus/hfi_platform.c | 2 +
.../media/platform/qcom/venus/hfi_platform.h | 1 +
.../qcom/venus/hfi_platform_v6_lite.c | 148 ++++++++++++++++++
drivers/media/platform/qcom/venus/hfi_venus.c | 19 ++-
.../media/platform/qcom/venus/pm_helpers.c | 1 +
drivers/media/platform/qcom/venus/vdec.c | 17 +-
15 files changed, 504 insertions(+), 28 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
create mode 100644 drivers/media/platform/qcom/venus/hfi_platform_v6_lite.c

--
2.34.1