From 316a8ec31a8b7ab77f0b4fe37959bf309fe9b87e Mon Sep 17 00:00:00 2001 From: Ding Wei Date: Sat, 2 Nov 2019 16:58:52 +0800 Subject: [PATCH] ARM: dts: rockchip: rk312x: dtsi for video codec Change-Id: I911f413d05a7ca10eeb7abbb808cc3165b6a56bc Signed-off-by: Ding Wei --- arch/arm/boot/dts/rk3126-bnd-d708.dtsi | 14 +++- arch/arm/boot/dts/rk3126-bnd-m88-emmc.dts | 14 +++- arch/arm/boot/dts/rk312x.dtsi | 80 +++++++++++++---------- 3 files changed, 71 insertions(+), 37 deletions(-) diff --git a/arch/arm/boot/dts/rk3126-bnd-d708.dtsi b/arch/arm/boot/dts/rk3126-bnd-d708.dtsi index 45ef5b3e0f62..f10be4ba2361 100644 --- a/arch/arm/boot/dts/rk3126-bnd-d708.dtsi +++ b/arch/arm/boot/dts/rk3126-bnd-d708.dtsi @@ -531,6 +531,10 @@ status = "okay"; }; +&mpp_srv { + status = "okay"; +}; + &nandc { status = "okay"; }; @@ -653,6 +657,14 @@ status = "okay"; }; -&vpu { +&vdpu { + status = "okay"; +}; + +&vepu { + status = "okay"; +}; + +&vpu_mmu { status = "okay"; }; diff --git a/arch/arm/boot/dts/rk3126-bnd-m88-emmc.dts b/arch/arm/boot/dts/rk3126-bnd-m88-emmc.dts index 6729e2da48eb..ffe1ea241798 100644 --- a/arch/arm/boot/dts/rk3126-bnd-m88-emmc.dts +++ b/arch/arm/boot/dts/rk3126-bnd-m88-emmc.dts @@ -471,6 +471,10 @@ status = "okay"; }; +&mpp_srv { + status = "okay"; +}; + &nandc { status = "disabled"; }; @@ -610,6 +614,14 @@ status = "okay"; }; -&vpu { +&vdpu { + status = "okay"; +}; + +&vepu { + status = "okay"; +}; + +&vpu_mmu { status = "okay"; }; diff --git a/arch/arm/boot/dts/rk312x.dtsi b/arch/arm/boot/dts/rk312x.dtsi index abe4486751ae..abec8af6d4db 100644 --- a/arch/arm/boot/dts/rk312x.dtsi +++ b/arch/arm/boot/dts/rk312x.dtsi @@ -465,15 +465,29 @@ }; }; - hevc: hevc_service@10104000 { - compatible = "rockchip,sub"; + mpp_srv: mpp-srv { + compatible = "rockchip,mpp-service"; + rockchip,taskqueue-count = <1>; + vdpu1,grf = <&grf 0x0144 0x04000400>; + vepu1,grf = <&grf 0x0144 0x04000400>; + status = "disabled"; + }; + + hevc: hevc@10104000 { + compatible = "rockchip,hevc-decoder"; reg = <0x10104000 0x400>; interrupts = ; interrupt-names = "irq_dec"; - power-domains = <&power RK3128_PD_VIDEO>; - dev_mode = <1>; - name = "hevc_service"; + clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>, + <&cru SCLK_HEVC_CORE>; + clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; + resets = <&cru SRST_VCODEC_H>, <&cru SRST_VCODEC_A>, + <&cru SRST_HEVC_CORE>; + reset-names = "video_h", "video_a", "video_core"; iommus = <&hevc_mmu>; + power-domains = <&power RK3128_PD_VIDEO>; + rockchip,srv = <&mpp_srv>; + rockchip,taskqueue-node = <0>; status = "disabled"; }; @@ -482,28 +496,42 @@ reg = <0x10104440 0x40>, <0x10104480 0x40>; interrupts = ; interrupt-names = "hevc_mmu"; + clock-names = "aclk", "iface"; + clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>; power-domains = <&power RK3128_PD_VIDEO>; #iommu-cells = <0>; status = "disabled"; }; - vpu: vpu_service@10106000 { - compatible = "rockchip,sub"; - reg = <0x10106000 0x800>; - rockchip,grf = <&grf>; - interrupts = , - ; - interrupt-names = "irq_enc", "irq_dec"; + vepu: vepu@0x10106000 { + compatible = "rockchip,vpu-encoder-v1"; + reg = <0x10106000 0x400>; + interrupts = ; + interrupt-names = "irq_enc"; clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>; clock-names = "aclk_vcodec", "hclk_vcodec"; resets = <&cru SRST_VCODEC_H>, <&cru SRST_VCODEC_A>; reset-names = "video_h", "video_a"; - power-domains = <&power RK3128_PD_VIDEO>; - name = "vpu_service"; - dev_mode = <0>; iommus = <&vpu_mmu>; - /* 0 means ion, 1 means drm */ - allocator = <1>; + power-domains = <&power RK3128_PD_VIDEO>; + rockchip,srv = <&mpp_srv>; + rockchip,taskqueue-node = <0>; + status = "disabled"; + }; + + vdpu: vdpu@10106400 { + compatible = "rockchip,vpu-decoder-v1"; + reg = <0x10106400 0x400>; + interrupts = ; + interrupt-names = "irq_dec"; + clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>; + clock-names = "aclk_vcodec", "hclk_vcodec"; + resets = <&cru SRST_VCODEC_H>, <&cru SRST_VCODEC_A>; + reset-names = "video_h", "video_a"; + iommus = <&vpu_mmu>; + power-domains = <&power RK3128_PD_VIDEO>; + rockchip,srv = <&mpp_srv>; + rockchip,taskqueue-node = <0>; status = "disabled"; }; @@ -519,24 +547,6 @@ status = "disabled"; }; - vpu_combo: vpu_combo { - compatible = "rockchip,vpu_combo"; - subcnt = <2>; - rockchip,sub = <&vpu>, <&hevc>; - rockchip,grf = <&grf>; - clocks = <&cru ACLK_VDPU>, <&cru HCLK_VDPU>, - <&cru SCLK_HEVC_CORE>; - clock-names = "aclk_vcodec", "hclk_vcodec", - "clk_core"; - resets = <&cru SRST_VCODEC_H>, <&cru SRST_VCODEC_A>, - <&cru SRST_HEVC_CORE>; - reset-names = "video_h", "video_a", "video"; - mode_bit = <15>; - mode_ctrl = <0x144>; - name = "vpu_combo"; - status = "disabled"; - }; - iep: iep@10108000 { compatible = "rockchip,iep"; iommu_enabled = <1>;