123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- From f4480cb8198085607c15e523b49aa21bc38cf62c Mon Sep 17 00:00:00 2001
- From: Myy Miouyouyou <myy@miouyouyou.fr>
- Date: Tue, 21 Nov 2017 21:47:33 +0100
- Subject: [PATCH 1/5] ARM: DTSI: rk3288.dtsi: Define the VPU services
- Still, you will need appropriate drivers to use them.
- Contrary to the previous versions of this patch, these services are :
- * NOT enabled by default;
- * MUST be activated in each individual DTS;
- I currently do not own enough RK3288 boards to ensure that the
- VPU and HEVC MMU + services can be activated without issues.
- Still this patch does not generate issues like the previous one AND
- still enable these services on boot, when activated properly in
- individual DTS files.
- Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
- ---
- arch/arm/boot/dts/rk3288.dtsi | 63 +++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 63 insertions(+)
- diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
- index 30b04257..bc3601ac 100644
- --- a/arch/arm/boot/dts/rk3288.dtsi
- +++ b/arch/arm/boot/dts/rk3288.dtsi
- @@ -1182,6 +1182,27 @@
- status = "disabled";
- };
-
- + vpu_service: vpu-service@ff9a0000 {
- + compatible = "rockchip,vpu_service";
- + reg = <0x0 0xff9a0000 0x0 0x800>;
- + interrupts =
- + <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
- + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
- + interrupt-names = "irq_enc", "irq_dec";
- + clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
- + clock-names = "aclk_vcodec", "hclk_vcodec";
- + power-domains = <&power RK3288_PD_VIDEO>;
- + rockchip,grf = <&grf>;
- + resets = <&cru SRST_VCODEC_AXI>, <&cru SRST_VCODEC_AHB>;
- + reset-names = "video_a", "video_h";
- + iommus = <&vpu_mmu>;
- + iommu_enabled = <1>;
- + dev_mode = <0>;
- + status = "disabled";
- + /* 0 means ion, 1 means drm */
- + allocator = <1>;
- + };
- +
- hevc_mmu: iommu@ff9c0440 {
- compatible = "rockchip,iommu";
- reg = <0x0 0xff9c0440 0x0 0x40>, <0x0 0xff9c0480 0x0 0x40>;
- @@ -1191,6 +1212,48 @@
- status = "disabled";
- };
-
- + hevc_service: hevc-service@ff9c0000 {
- + compatible = "rockchip,hevc_service";
- + reg = <0x0 0xff9c0000 0x0 0x400>;
- + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
- + interrupt-names = "irq_dec";
- + clocks =
- + <&cru ACLK_HEVC>,
- + <&cru HCLK_HEVC>,
- + <&cru SCLK_HEVC_CORE>,
- + <&cru SCLK_HEVC_CABAC>;
- + clock-names =
- + "aclk_vcodec",
- + "hclk_vcodec",
- + "clk_core",
- + "clk_cabac";
- + /*
- + * The 4K hevc would also work well with 500/125/300/300,
- + * no more err irq and reset request.
- + */
- + assigned-clocks =
- + <&cru ACLK_HEVC>,
- + <&cru HCLK_HEVC>,
- + <&cru SCLK_HEVC_CORE>,
- + <&cru SCLK_HEVC_CABAC>;
- + assigned-clock-rates =
- + <400000000>,
- + <100000000>,
- + <300000000>,
- + <300000000>;
- +
- + resets = <&cru SRST_HEVC>;
- + reset-names = "video";
- + power-domains = <&power RK3288_PD_HEVC>;
- + rockchip,grf = <&grf>;
- + dev_mode = <1>;
- + iommus = <&hevc_mmu>;
- + iommu_enabled = <1>;
- + status = "disabled";
- + /* 0 means ion, 1 means drm */
- + allocator = <1>;
- + };
- +
- gpu: gpu@ffa30000 {
- compatible = "rockchip,rk3288-mali", "arm,mali-t760";
- reg = <0x0 0xffa30000 0x0 0x10000>;
- --
- 2.14.1
|