rk3288, rk3036, rk312x, vpu: new vpu driver.
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / rk3036.dtsi
index 64f4f0182f4f798d6c3793bb55bf2ef524c594f6..daba534a2c04ce70a6a14b4addea26220d012c2d 100755 (executable)
                };
        };
 
-       vpu: vpu_service@10108000 {
+       /*vpu: vpu_service@10108000 {
                compatible = "vpu_service";
                iommu_enabled = <1>;
                reg = <0x10108000 0x800>;
                clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
                name = "hevc_service";
                status = "okay";
+       };*/
+       vpu: vpu_service {
+               compatible = "rockchip,vpu_sub";
+               iommu_enabled = <1>;
+               reg = <0x10108400 0x400>;
+               interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "irq_dec";
+               dev_mode = <0>;
+               name = "vpu_service";
+       };
+
+       hevc: hevc_service {
+               compatible = "rockchip,hevc_sub";
+               iommu_enabled = <1>;
+               reg = <0x1010c000 0x400>;
+               interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
+               interrupt-names = "irq_dec";
+               dev_mode = <1>;
+               name = "hevc_service";
+       };
+
+       vpu_combo: vpu_combo@ff9a0000 {
+               compatible = "rockchip,vpu_combo";
+               subcnt = <2>;
+               rockchip,sub = <&vpu>, <&hevc>;
+               clocks = <&aclk_vcodec_pre>, <&clk_gates3 12>, <&clk_hevc_core>;
+               clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core";
+               mode_bit = <3>;
+               mode_ctrl = <0x144>;
+               name = "vpu_combo";
+               status = "okay";
        };
 
        vop_mmu {