diff --git a/arch/arm64/boot/dts/rockchip/rk3399.dtsi b/arch/arm64/boot/dts/rockchip/rk3399.dtsi index 3a78126c7153..fe29219afafb 100644 --- a/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -1291,6 +1291,27 @@ status = "disabled"; }; + vpu: vpu_service@ff650000 { + compatible = "rockchip,vpu_service"; + rockchip,grf = <&grf>; + iommus = <&vpu_mmu>; + iommu_enabled = <1>; + reg = <0x0 0xff650000 0x0 0x800>; + interrupts = , + ; + interrupt-names = "irq_dec", "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 = "video_h", "video_a"; + power-domains = <&power RK3399_PD_VCODEC>; + name = "vpu_service"; + dev_mode = <0>; + /* 0 means ion, 1 means drm */ + allocator = <1>; + status = "disabled"; + }; + vpu_mmu: iommu@ff650800 { compatible = "rockchip,iommu"; reg = <0x0 0xff650800 0x0 0x40>; @@ -1302,6 +1323,28 @@ status = "disabled"; }; + rkvdec: rkvdec@ff660000 { + compatible = "rockchip,rkvdec"; + rockchip,grf = <&grf>; + iommus = <&vdec_mmu>; + iommu_enabled = <1>; + 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>; + reset-names = "video_h", "video_a"; + power-domains = <&power RK3399_PD_VDU>; + dev_mode = <2>; + name = "rkvdec"; + /* 0 means ion, 1 means drm */ + allocator = <1>; + status = "disabled"; + }; + vdec_mmu: iommu@ff660480 { compatible = "rockchip,iommu"; reg = <0x0 0xff660480 0x0 0x40>, <0x0 0xff6604c0 0x0 0x40>;