The vdec IP block of RK322x is the same as RK3399 has and the driver can be used as-is. Add the respective node to the device tree. Note: core and cabac clock need to be set to a specific rate which is done by using "assigned-clocks" / "assigned-clock-rates" properties (axi clock rate is currently set in the driver). Signed-off-by: Alex Bee <knaerzche@xxxxxxxxx> --- arch/arm/boot/dts/rk322x.dtsi | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/rk322x.dtsi b/arch/arm/boot/dts/rk322x.dtsi index 62d1113b7804..13c2f92ac013 100644 --- a/arch/arm/boot/dts/rk322x.dtsi +++ b/arch/arm/boot/dts/rk322x.dtsi @@ -633,6 +633,19 @@ vpu_mmu: iommu@20020800 { #iommu-cells = <0>; }; + vdec: video-codec@20030000 { + compatible = "rockchip,rk3228-vdec", "rockchip,rk3399-vdec"; + reg = <0x20030000 0x480>; + interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>, + <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; + clock-names = "axi", "ahb", "cabac", "core"; + assigned-clocks = <&cru SCLK_VDEC_CABAC>, <&cru SCLK_VDEC_CORE>; + assigned-clock-rates = <300000000>, <300000000>; + power-domains = <&power RK3228_PD_RKVDEC>; + iommus = <&vdec_mmu>; + }; + vdec_mmu: iommu@20030480 { compatible = "rockchip,iommu"; reg = <0x20030480 0x40>, <0x200304c0 0x40>; @@ -641,7 +654,6 @@ vdec_mmu: iommu@20030480 { clock-names = "aclk", "iface"; power-domains = <&power RK3228_PD_RKVDEC>; #iommu-cells = <0>; - status = "disabled"; }; vop: vop@20050000 { -- 2.27.0