[PATCH v3 0/4] media: rockchip: Add JPEG decoder driver

From: Sascha Hauer

Date: Mon Sep 14 2026 - 09:40:18 EST


This series adds support for the Rockchip JPEG decoder hardware. The JPEG decoder
is an in-house IP which is integrated into various Rockchip SoCs. The driver is
tested on a RK3588 board but reportedly works on RK3568 as well.

An earlier version of this driver was posted as part of the Hantro
driver [1]. That turned out to be the wrong abstraction, so it was split
up into a series with the Hantro fixes [2] and this series with a
standalone driver, which started over at v1.

[1] https://lore.kernel.org/r/20260819-rk3588-jpegdec-v1-0-33d74cdf369c@xxxxxxxxxxxxxx
[2] https://lore.kernel.org/r/20260824-rk3588-jpegdec-v1-0-180a30a2852d@xxxxxxxxxxxxxx

Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
---
Changes in v3:
- Rename binding to rockchip,rk3568-jpegd.yaml to match the compatible
- Link the earlier Hantro based series in the cover letter
- Enable clocks from the runtime PM callbacks, use pm_ptr()
- Protect capture format and crop with a mutex
- Clear bytesused on capture buffers returned without a picture
- Revert padding the capture buffer to the MCU width, it broke 4:1:1
- Add notes on review questions to the driver patch
- Link to v2: https://lore.kernel.org/r/20260825-rockchip-jpegdec-v2-0-86af859a3266@xxxxxxxxxxxxxx

Changes in v2:
- rename clocks from aclk/hclk to axi/ahb
- Add missing Signed-off-by
- Fix suspend/resume path
- Pad the capture buffer to the mode's MCU width, not to a macroblock
- Reject a frame header picture size outside the supported range
- Set the capture payload at decode time, not at queue time
- Trim comments in the driver
- Link to v1: https://lore.kernel.org/r/20260824-rockchip-jpegdec-v1-0-8011822bf500@xxxxxxxxxxxxxx

---
Sascha Hauer (4):
media: dt-bindings: Add Rockchip JPEG decoder
media: rockchip: Add JPEG decoder driver
arm64: dts: rockchip: rk3588: Add JPEG decoder node
arm64: dts: rockchip: rk356x: Add JPEG decoder node

.../bindings/media/rockchip,rk3568-jpegd.yaml | 92 +
MAINTAINERS | 9 +
arch/arm64/boot/dts/rockchip/rk356x-base.dtsi | 22 +
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 24 +
drivers/media/platform/rockchip/Kconfig | 1 +
drivers/media/platform/rockchip/Makefile | 1 +
drivers/media/platform/rockchip/rkjpegd/Kconfig | 15 +
drivers/media/platform/rockchip/rkjpegd/Makefile | 3 +
.../rockchip/rkjpegd/rkjpegd-vdpu720-regs.h | 230 ++
drivers/media/platform/rockchip/rkjpegd/rkjpegd.c | 2354 ++++++++++++++++++++
10 files changed, 2751 insertions(+)
---
base-commit: db2ddb87143519e20a95aa36c60b36107b736a58
change-id: 20260821-rockchip-jpegdec-0d6880cf656c

Best regards,
--
Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>