ARM64: dts: rk3399: Add vpu and rkvdec resource node
authoralpha.lin <alpha.lin@rock-chips.com>
Tue, 29 Mar 2016 08:12:28 +0000 (16:12 +0800)
committerGerrit Code Review <gerrit@rock-chips.com>
Wed, 30 Mar 2016 02:36:04 +0000 (10:36 +0800)
Add vpu and rkvdec resource node to enable video codec
supporting for rk3399 android.

Change-Id: I1689955858355b6061957dc43eea17f9b8d71096
Signed-off-by: alpha.lin <alpha.lin@rock-chips.com>
arch/arm64/boot/dts/rockchip/rk3399-fb.dtsi
arch/arm64/boot/dts/rockchip/rk3399-monkey.dts

index a99b02199d213b611cd800b875f7ef0f2b2654e1..d37fe5f53fee24d0e2365eb5329044aff9651d35 100644 (file)
 #include <dt-bindings/display/rk_fb.h>
 
 / {
+       vpu: vpu_service@ff650000 {
+               compatible = "rockchip,vpu_service";
+               rockchip,grf = <&grf>;
+               iommu_enabled = <1>;
+               reg = <0x0 0xff650000 0x0 0x800>;
+               interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
+                       <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
+               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";
+               name = "vpu_service";
+               dev_mode = <0>;
+               status = "disabled";
+       };
+
+       vpu_mmu: vpu_mmu {
+               dbgname = "vpu";
+               compatible = "rockchip,vpu_mmu";
+               reg = <0x0 0xff650800 0x0 0x40>;
+               interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "vpu_mmu";
+               status = "disabled";
+       };
+
+       rkvdec: rkvdec@ff660000 {
+               compatible = "rockchip,rkvdec";
+               rockchip,grf = <&grf>;
+               iommu_enabled = <1>;
+               reg = <0x0 0xff660000 0x0 0x400>;
+               interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
+               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";
+               dev_mode = <2>;
+               name = "rkvdec";
+               status = "disabled";
+       };
+
+       vdec_mmu: vdec_mmu {
+               dbgname = "vdec";
+               compatible = "rockchip,vdec_mmu";
+               reg = <0x0 0xff660480 0x0 0x40>,
+                     <0x0 0xff6604c0 0x0 0x40>;
+               interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "vdec_mmu";
+               status = "disabled";
+       };
+
        fb: fb {
                compatible = "rockchip,rk-fb";
                rockchip,disp-mode = <DUAL>;
index 777df951bc3c6e2e829a16bec0e111513642bd14..aeca00141ed1c5744822d55ae1fc4e1b046ae22d 100644 (file)
        dr_mode = "peripheral";
 };
 
+&vpu {
+       status = "okay";
+};
+
+&rkvdec {
+       status = "okay";
+};
+
+&vpu_mmu {
+       status = "okay";
+};
+
+&vdec_mmu {
+       status = "okay";
+};