arm64: dts: rockchip: Add vdec support for RK3328
authorChristopher Obbard <chris.obbard@collabora.com>
Mon, 25 Apr 2022 18:45:10 +0000 (19:45 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Sat, 30 Apr 2022 13:02:01 +0000 (15:02 +0200)
The RK3328 has an vdec device with dedicated iommu.
Describe the vdec device, the required power-domains
and enable the iommu in the devicetree.

Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
Link: https://lore.kernel.org/r/20220425184510.1138446-4-chris.obbard@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
arch/arm64/boot/dts/rockchip/rk3328.dtsi

index f8ef149..49ae157 100644 (file)
                        };
                        power-domain@RK3328_PD_VIDEO {
                                reg = <RK3328_PD_VIDEO>;
+                               clocks = <&cru ACLK_RKVDEC>,
+                                        <&cru HCLK_RKVDEC>,
+                                        <&cru SCLK_VDEC_CABAC>,
+                                        <&cru SCLK_VDEC_CORE>;
                                #power-domain-cells = <0>;
                        };
                        power-domain@RK3328_PD_VPU {
                power-domains = <&power RK3328_PD_VPU>;
        };
 
+       vdec: video-codec@ff360000 {
+               compatible = "rockchip,rk3328-vdec", "rockchip,rk3399-vdec";
+               reg = <0x0 0xff360000 0x0 0x400>;
+               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 ACLK_RKVDEC>, <&cru SCLK_VDEC_CABAC>,
+                                 <&cru SCLK_VDEC_CORE>;
+               assigned-clock-rates = <400000000>, <400000000>, <300000000>;
+               iommus = <&vdec_mmu>;
+               power-domains = <&power RK3328_PD_VIDEO>;
+       };
+
        vdec_mmu: iommu@ff360480 {
                compatible = "rockchip,iommu";
                reg = <0x0 0xff360480 0x0 0x40>, <0x0 0xff3604c0 0x0 0x40>;
                clocks = <&cru ACLK_RKVDEC>, <&cru HCLK_RKVDEC>;
                clock-names = "aclk", "iface";
                #iommu-cells = <0>;
-               status = "disabled";
+               power-domains = <&power RK3328_PD_VIDEO>;
        };
 
        vop: vop@ff370000 {