[PATCH v2 3/4] arm64: dts: rockchip: rk3588: Add JPEG decoder node

From: Sascha Hauer

Date: Tue Aug 25 2026 - 09:51:20 EST


Add device tree nodes for the Rockchip JPEG hardware decoder and its
IOMMU on the RK3588.

The decoder is at 0xfdb90000 with its MMU at 0xfdb90480. It takes the
AXI and AHB clocks and resets, and sits in the VDPU power domain. The
AXI clock is pinned to 600 MHz, which is the rate the downstream BSP
runs it at; it is a dedicated clock, not shared with another block.

Both blocks are entirely on-SoC and have no board dependency, so they are
enabled unconditionally like the other codec blocks in this file.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index fc1fdbfd31622..ce02a0f753e33 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1317,6 +1317,30 @@ rga: rga@fdb80000 {
power-domains = <&power RK3588_PD_VDPU>;
};

+ jpegd: video-codec@fdb90000 {
+ compatible = "rockchip,rk3588-jpegd";
+ reg = <0x0 0xfdb90000 0x0 0x400>;
+ interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>;
+ clock-names = "axi", "ahb";
+ assigned-clocks = <&cru ACLK_JPEG_DECODER>;
+ assigned-clock-rates = <600000000>;
+ resets = <&cru SRST_A_JPEG_DECODER>, <&cru SRST_H_JPEG_DECODER>;
+ reset-names = "axi", "ahb";
+ iommus = <&jpegd_mmu>;
+ power-domains = <&power RK3588_PD_VDPU>;
+ };
+
+ jpegd_mmu: iommu@fdb90480 {
+ compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
+ reg = <0x0 0xfdb90480 0x0 0x40>;
+ interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&cru ACLK_JPEG_DECODER>, <&cru HCLK_JPEG_DECODER>;
+ clock-names = "aclk", "iface";
+ power-domains = <&power RK3588_PD_VDPU>;
+ #iommu-cells = <0>;
+ };
+
vepu121_0: video-codec@fdba0000 {
compatible = "rockchip,rk3588-vepu121";
reg = <0x0 0xfdba0000 0x0 0x800>;

--
2.47.3