[PATCH 4/7] media: dt-bindings: Add Rockchip RK3588 VPU720 JPEG decoder
Sascha Hauer
s.hauer at pengutronix.de
Wed Aug 19 03:37:33 PDT 2026
Add a devicetree binding schema for the VPU720 JPEG hardware decoder on
the RK3588, driven by the hantro V4L2 driver. Documents the single
register window (task registers plus the LLP link-table block at offset
0x300), the JPEG decode interrupt, the aclk/hclk clocks, the AXI/AHB
resets, the IOMMU and the power domain.
The resets and the power domain are required. The block sits in
RK3588_PD_VDPU and cannot be reached with the domain off, and the driver
takes the resets with reset_control_array_get_optional(), so a node
without them probes and the hard reset fallback in its error recovery
silently does nothing.
The IOMMU stays optional. The driver never refers to it, it is a platform
integration detail, and rockchip-vpu.yaml does not require it for the
other codec blocks on this SoC either.
Assisted-by: Claude:claude-opus-5
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
.../bindings/media/rockchip,rk3588-vpu720.yaml | 93 ++++++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 94 insertions(+)
diff --git a/Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml b/Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml
new file mode 100644
index 0000000000000..6bbddea66c9b9
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml
@@ -0,0 +1,93 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/rockchip,rk3588-vpu720.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Rockchip VPU720 JPEG Decoder
+
+maintainers:
+ - Lucas Sinn <lucas.sinn at wolfvision.net>
+
+description:
+ The VPU720 is Rockchip's in-house JPEG/MJPEG hardware decoder found on the
+ RK3588. It is driven by the Hantro V4L2 driver. A dedicated Link List
+ Processor (LLP) register block, located at offset 0x300 within the same
+ register window, allows the hardware to decode a chain of frames
+ autonomously ("link mode").
+
+properties:
+ compatible:
+ const: rockchip,rk3588-vpu720
+
+ reg:
+ maxItems: 1
+ description:
+ The decoder register window. It covers both the task (function)
+ registers at offset 0x000 and the LLP (link table) registers at
+ offset 0x300.
+
+ interrupts:
+ maxItems: 1
+
+ interrupt-names:
+ const: vdpu
+
+ clocks:
+ items:
+ - description: AXI clock
+ - description: AHB clock
+
+ clock-names:
+ items:
+ - const: aclk
+ - const: hclk
+
+ resets:
+ items:
+ - description: AXI reset line
+ - description: AHB reset line
+
+ reset-names:
+ items:
+ - const: axi
+ - const: ahb
+
+ power-domains:
+ maxItems: 1
+
+ iommus:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - interrupt-names
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+ - power-domains
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/rockchip,rk3588-cru.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ #include <dt-bindings/power/rk3588-power.h>
+ #include <dt-bindings/reset/rockchip,rk3588-cru.h>
+
+ video-codec at fdb90000 {
+ compatible = "rockchip,rk3588-vpu720";
+ reg = <0xfdb90000 0x400>;
+ interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>;
+ interrupt-names = "vdpu";
+ clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>;
+ clock-names = "aclk", "hclk";
+ resets = <&cru SRST_A_JPEG_DECODER>, <&cru SRST_H_JPEG_DECODER>;
+ reset-names = "axi", "ahb";
+ iommus = <&jpegd_mmu>;
+ power-domains = <&power RK3588_PD_VDPU>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 9f8d226b305aa..7ef189e4ba237 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11375,6 +11375,7 @@ L: linux-rockchip at lists.infradead.org
S: Maintained
F: Documentation/devicetree/bindings/media/nxp,imx8mq-vpu.yaml
F: Documentation/devicetree/bindings/media/rockchip,rk3568-vepu.yaml
+F: Documentation/devicetree/bindings/media/rockchip,rk3588-vpu720.yaml
F: Documentation/devicetree/bindings/media/rockchip-vpu.yaml
F: drivers/media/platform/verisilicon/
--
2.47.3
More information about the Linux-rockchip
mailing list