From: Randy Li <ay...@soulik.info>

Having problem with vepu2

The sclk_vdec_core for RKVDEC is in gpll at vendor kernel.

Signed-off-by: Randy Li <ay...@soulik.info>
---
 arch/arm64/boot/dts/rockchip/rk3328-evb.dts   |  32 ++++++
 .../arm64/boot/dts/rockchip/rk3328-rock64.dts |  32 ++++++
 arch/arm64/boot/dts/rockchip/rk3328.dtsi      | 108 +++++++++++++++++-
 3 files changed, 170 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts 
b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts
index 8302d86d35c4..c89714f79f93 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-evb.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-evb.dts
@@ -213,6 +213,18 @@
        };
 };
 
+&rkvdec {
+       status = "okay";
+};
+
+&rkvdec_mmu {
+       status = "okay";
+};
+
+&rkvdec_srv {
+       status = "okay";
+};
+
 &sdio {
        bus-width = <4>;
        cap-sd-highspeed;
@@ -269,3 +281,23 @@
 &usb_host0_ohci {
        status = "okay";
 };
+
+&vdpu {
+       status = "okay";
+};
+
+&vop {
+       status = "okay";
+};
+
+&vop_mmu {
+       status = "okay";
+};
+
+&vpu_mmu {
+       status = "okay";
+};
+
+&vpu_service{
+       status = "okay";
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts 
b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
index 2157a528276b..520e444806cc 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
@@ -256,6 +256,14 @@
        };
 };
 
+&h265e {
+       status = "okay";
+};
+
+&h265e_mmu {
+       status = "okay";
+};
+
 &i2s1 {
        status = "okay";
 
@@ -300,6 +308,18 @@
        };
 };
 
+&rkvdec {
+       status = "okay";
+};
+
+&rkvdec_mmu {
+       status = "okay";
+};
+
+&rkvdec_srv {
+       status = "okay";
+};
+
 &sdmmc {
        bus-width = <4>;
        cap-mmc-highspeed;
@@ -370,6 +390,10 @@
        status = "okay";
 };
 
+&vdpu {
+       status = "okay";
+};
+
 &vop {
        status = "okay";
 };
@@ -377,3 +401,11 @@
 &vop_mmu {
        status = "okay";
 };
+
+&vpu_mmu {
+       status = "okay";
+};
+
+&vpu_service{
+       status = "okay";
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328.dtsi 
b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
index 55a72abed6e7..9b3f8d22b60a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3328.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3328.dtsi
@@ -573,6 +573,27 @@
                resets = <&cru SRST_GPU_A>;
        };
 
+       venc_srv: venc-srv {
+               compatible = "rockchip,mpp-service";
+               status = "disabled";
+       };
+
+       h265e: h265e@ff330000 {
+               compatible = "rockchip,hevc-encoder-v1";
+               reg = <0x0 0xff330000 0 0x200>;
+               interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru ACLK_H265>, <&cru PCLK_H265>,
+                       <&cru SCLK_VENC_CORE>, <&cru SCLK_VENC_DSP>,
+                       <&cru ACLK_RKVENC>, <&cru ACLK_AXISRAM>;
+               clock-names = "aclk_h265", "pclk_h265", "clk_core",
+                       "clk_dsp", "aclk_venc", "aclk_axi2sram";
+               iommus = <&h265e_mmu>;
+               rockchip,srv = <&venc_srv>;
+               syscon = <&grf 0x040c 0x8000800 0x80000>;
+               power-domains = <&power RK3328_PD_HEVC>;
+               status = "disabled";
+       };
+
        h265e_mmu: iommu@ff330200 {
                compatible = "rockchip,iommu";
                reg = <0x0 0xff330200 0 0x100>;
@@ -584,6 +605,25 @@
                status = "disabled";
        };
 
+       vepu: vepu@ff340000 {
+               compatible = "rockchip,vpu-encoder-v2";
+               reg = <0x0 0xff340000 0x0 0x400>;
+               interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
+               clocks = <&cru ACLK_H264>, <&cru HCLK_H264>,
+                       <&cru SCLK_VENC_CORE>;
+               clock-names = "aclk_vcodec", "hclk_vcodec",
+                       "clk_core";
+               resets = <&cru SRST_RKVENC_H264_A>,
+                       <&cru SRST_RKVENC_H264_H>;
+               reset-names = "video_a", "video_h";
+               iommus = <&vepu_mmu>;
+               rockchip,srv = <&venc_srv>;
+               syscon = <&grf 0x040c 0x8000800 0x80000>;
+               power-domains = <&power RK3328_PD_HEVC>;
+               status = "disabled";
+       };
+
+
        vepu_mmu: iommu@ff340800 {
                compatible = "rockchip,iommu";
                reg = <0x0 0xff340800 0x0 0x40>;
@@ -595,6 +635,42 @@
                status = "disabled";
        };
 
+
+       vpu_service: vdpu-srv {
+               compatible = "rockchip,mpp-service";
+               status = "disabled";
+       };
+
+       vdpu: vpu-decoder@ff350000 {
+               compatible = "rockchip,vpu-decoder-v2";
+               reg = <0x0 0xff350400 0x0 0x400>;
+               interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "irq_dec";
+               resets = <&cru SRST_VCODEC_A>, <&cru SRST_VCODEC_H>;
+               reset-names = "video_a", "video_h";
+               clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
+               clock-names = "aclk_vcodec", "hclk_vcodec";
+               iommus = <&vpu_mmu>;
+               power-domains = <&power RK3328_PD_VPU>;
+               rockchip,srv = <&vpu_service>;
+               status = "disabled";
+       };
+
+       avsd: avs-decoder@ff351000 {
+               compatible = "rockchip,avs-decoder-v1";
+               reg = <0x0 0xff351000 0x0 0x200>;
+               interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "irq_dec";
+               clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
+               clock-names = "aclk_vcodec", "hclk_vcodec";
+               resets = <&cru SRST_VCODEC_A>, <&cru SRST_VCODEC_H>;
+               reset-names = "video_a", "video_h";
+               power-domains = <&power RK3328_PD_VPU>;
+               iommus = <&vpu_mmu>;
+               rockchip,srv = <&vpu_service>;
+               status = "disabled";
+       };
+
        vpu_mmu: iommu@ff350800 {
                compatible = "rockchip,iommu";
                reg = <0x0 0xff350800 0x0 0x40>;
@@ -606,6 +682,34 @@
                status = "disabled";
        };
 
+       rkvdec_srv: rkvdec-srv {
+               compatible = "rockchip,mpp-service";
+               status = "disabled";
+       };
+
+       rkvdec: rkvdec@ff36000 {
+               compatible = "rockchip,video-decoder-v1";
+               reg = <0x0 0xff360000 0x0 0x400>;
+               interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "irq_dec";
+               clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>,
+                       <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>;
+               clock-names = "aclk_vcodec", "hclk_vcodec", "clk_cabac",
+                       "clk_core";
+               assigned-clocks = <&cru ACLK_RKVDEC_PRE>, <&cru SCLK_VDEC_CORE>;
+               assigned-clock-parents = <&cru PLL_GPLL>, <&cru PLL_GPLL>;
+               assigned-clock-rates = <500000000>, <245760000>;
+               resets = <&cru SRST_VDEC_A>, <&cru SRST_VDEC_H>,
+                       <&cru SRST_VDEC_NIU_A>, <&cru SRST_VDEC_NIU_H>,
+                       <&cru SRST_VDEC_CABAC>, <&cru SRST_VDEC_CORE>;
+               reset-names = "video_a", "video_h", "niu_a", "niu_h",
+                       "video_cabac", "video_core";
+               iommus = <&rkvdec_mmu>;
+               power-domains = <&power RK3328_PD_VIDEO>;
+               rockchip,srv = <&rkvdec_srv>;
+               status = "disabled";
+       };
+
        rkvdec_mmu: iommu@ff360480 {
                compatible = "rockchip,iommu";
                reg = <0x0 0xff360480 0x0 0x40>, <0x0 0xff3604c0 0x0 0x40>;
@@ -740,8 +844,8 @@
                        <15000000>, <15000000>,
                        <300000000>, <100000000>,
                        <400000000>, <100000000>,
-                       <50000000>, <100000000>,
-                       <100000000>, <100000000>,
+                       <50000000>, <300000000>,
+                       <300000000>, <300000000>,
                        <50000000>, <50000000>,
                        <50000000>, <50000000>,
                        <24000000>, <600000000>,
-- 
2.20.1

Reply via email to