diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 664d8471cdc3..6686c1f400bf 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -1298,6 +1298,13 @@ status = "disabled"; }; + mpp_srv: mpp-srv { + compatible = "rockchip,mpp-service"; + rockchip,taskqueue-count = <2>; + rockchip,resetgroup-count = <2>; + status = "disabled"; + }; + vpu: video-codec@ff650000 { compatible = "rockchip,rk3399-vpu"; reg = <0x0 0xff650000 0x0 0x800>; @@ -1308,6 +1315,41 @@ clock-names = "aclk", "hclk"; iommus = <&vpu_mmu>; power-domains = <&power RK3399_PD_VCODEC>; + status = "disabled"; + }; + + vepu: vepu@ff650000 { + compatible = "rockchip,vpu-encoder-v2"; + reg = <0x0 0xff650000 0x0 0x400>; + interrupts = ; + interrupt-names = "irq_enc"; + clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>; + clock-names = "aclk_vcodec", "hclk_vcodec"; + resets = <&cru SRST_H_VCODEC>, <&cru SRST_A_VCODEC>; + reset-names = "shared_video_h", "shared_video_a"; + iommus = <&vpu_mmu>; + rockchip,srv = <&mpp_srv>; + rockchip,taskqueue-node = <0>; + rockchip,resetgroup-node = <0>; + power-domains = <&power RK3399_PD_VCODEC>; + status = "disabled"; + }; + + vdpu: vdpu@ff650400 { + compatible = "rockchip,vpu-decoder-v2"; + reg = <0x0 0xff650400 0x0 0x400>; + interrupts = ; + interrupt-names = "irq_dec"; + clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>; + clock-names = "aclk_vcodec", "hclk_vcodec"; + resets = <&cru SRST_H_VCODEC>, <&cru SRST_A_VCODEC>; + reset-names = "shared_video_h", "shared_video_a"; + iommus = <&vpu_mmu>; + power-domains = <&power RK3399_PD_VCODEC>; + rockchip,srv = <&mpp_srv>; + rockchip,taskqueue-node = <0>; + rockchip,resetgroup-node = <0>; + status = "disabled"; }; vpu_mmu: iommu@ff650800 { @@ -1319,6 +1361,7 @@ clock-names = "aclk", "iface"; #iommu-cells = <0>; power-domains = <&power RK3399_PD_VCODEC>; + status = "disabled"; }; vdec: video-codec@ff660000 { @@ -1330,6 +1373,29 @@ clock-names = "axi", "ahb", "cabac", "core"; iommus = <&vdec_mmu>; power-domains = <&power RK3399_PD_VDU>; + status = "disabled"; + }; + + rkvdec: rkvdec@ff660000 { + compatible = "rockchip,rkv-decoder-rk3399"; + reg = <0x0 0xff660000 0x0 0x400>; + interrupts = ; + interrupt-names = "irq_dec"; + clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>, + <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>; + clock-names = "aclk_vcodec", "hclk_vcodec", + "clk_cabac", "clk_core"; + resets = <&cru SRST_H_VDU>, <&cru SRST_A_VDU>, + <&cru SRST_H_VDU_NOC>, <&cru SRST_A_VDU_NOC>, + <&cru SRST_VDU_CA>, <&cru SRST_VDU_CORE>; + reset-names = "video_h", "video_a", "niu_h", "niu_a", + "video_cabac", "video_core"; + iommus = <&vdec_mmu>; + rockchip,srv = <&mpp_srv>; + rockchip,taskqueue-node = <1>; + rockchip,resetgroup-node = <1>; + power-domains = <&power RK3399_PD_VDU>; + status = "disabled"; }; vdec_mmu: iommu@ff660480 { @@ -1341,6 +1407,7 @@ clock-names = "aclk", "iface"; power-domains = <&power RK3399_PD_VDU>; #iommu-cells = <0>; + status = "disabled"; }; iep: iep@ff670000 {