[PATCH RFC 12/12] arm64: dts: rockchip: Add the VEPU580 encoder cores to the RK3588
Arun Iyengar via B4 Relay
devnull+aiyengar1990.gmail.com at kernel.org
Tue Nov 10 02:08:14 PST 2026
From: Arun Iyengar <aiyengar1990 at gmail.com>
Add the two VEPU580 (RKVENC) video encoder cores and their IOMMUs.
Interrupts, clocks, resets, power domains and the clock rates (500 MHz
AXI, 800 MHz core) are taken from the Rockchip BSP rk3588s.dtsi. Each
IOMMU has two register banks and two interrupts, and keeps the BSP's
rockchip,disable-mmu-reset.
Signed-off-by: Arun Iyengar <aiyengar1990 at gmail.com>
---
arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 56 +++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
index aa69fd3793fd..9c813e6475c5 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
@@ -1397,6 +1397,62 @@ vepu121_3_mmu: iommu at fdbac800 {
#iommu-cells = <0>;
};
+ vepu580_0: video-codec at fdbd0000 {
+ compatible = "rockchip,rk3588-vepu580";
+ reg = <0x0 0xfdbd0000 0x0 0x6000>;
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&cru ACLK_RKVENC0>, <&cru HCLK_RKVENC0>,
+ <&cru CLK_RKVENC0_CORE>;
+ clock-names = "aclk", "hclk", "core";
+ assigned-clocks = <&cru ACLK_RKVENC0>, <&cru CLK_RKVENC0_CORE>;
+ assigned-clock-rates = <500000000>, <800000000>;
+ resets = <&cru SRST_A_RKVENC0>, <&cru SRST_H_RKVENC0>,
+ <&cru SRST_RKVENC0_CORE>;
+ reset-names = "aclk", "hclk", "core";
+ iommus = <&vepu580_0_mmu>;
+ power-domains = <&power RK3588_PD_VENC0>;
+ };
+
+ vepu580_0_mmu: iommu at fdbdf000 {
+ compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
+ reg = <0x0 0xfdbdf000 0x0 0x40>, <0x0 0xfdbdf040 0x0 0x40>;
+ interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&cru ACLK_RKVENC0>, <&cru HCLK_RKVENC0>;
+ clock-names = "aclk", "iface";
+ power-domains = <&power RK3588_PD_VENC0>;
+ rockchip,disable-mmu-reset;
+ #iommu-cells = <0>;
+ };
+
+ vepu580_1: video-codec at fdbe0000 {
+ compatible = "rockchip,rk3588-vepu580";
+ reg = <0x0 0xfdbe0000 0x0 0x6000>;
+ interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&cru ACLK_RKVENC1>, <&cru HCLK_RKVENC1>,
+ <&cru CLK_RKVENC1_CORE>;
+ clock-names = "aclk", "hclk", "core";
+ assigned-clocks = <&cru ACLK_RKVENC1>, <&cru CLK_RKVENC1_CORE>;
+ assigned-clock-rates = <500000000>, <800000000>;
+ resets = <&cru SRST_A_RKVENC1>, <&cru SRST_H_RKVENC1>,
+ <&cru SRST_RKVENC1_CORE>;
+ reset-names = "aclk", "hclk", "core";
+ iommus = <&vepu580_1_mmu>;
+ power-domains = <&power RK3588_PD_VENC1>;
+ };
+
+ vepu580_1_mmu: iommu at fdbef000 {
+ compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
+ reg = <0x0 0xfdbef000 0x0 0x40>, <0x0 0xfdbef040 0x0 0x40>;
+ interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH 0>,
+ <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>;
+ clocks = <&cru ACLK_RKVENC1>, <&cru HCLK_RKVENC1>;
+ clock-names = "aclk", "iface";
+ power-domains = <&power RK3588_PD_VENC1>;
+ rockchip,disable-mmu-reset;
+ #iommu-cells = <0>;
+ };
+
vdec0: video-codec at fdc38000 {
compatible = "rockchip,rk3588-vdec";
reg = <0x0 0xfdc38000 0x0 0x100>,
--
2.55.0
More information about the Linux-rockchip
mailing list