arm64: dts: sdm845: follow venus-sdm845v2 DT binding
authorStanimir Varbanov <stanimir.varbanov@linaro.org>
Mon, 6 Jan 2020 15:49:28 +0000 (17:49 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 28 Feb 2020 05:58:42 +0000 (21:58 -0800)
Move all pmdomain and clock resources to Venus DT node. And make
possible to support dynamic core assignment on v4.

Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
Link: https://lore.kernel.org/r/20200106154929.4331-12-stanimir.varbanov@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
arch/arm64/boot/dts/qcom/sdm845.dtsi

index 061f49f..ed882e0 100644 (file)
                };
 
                venus: video-codec@aa00000 {
-                       compatible = "qcom,sdm845-venus";
+                       compatible = "qcom,sdm845-venus-v2";
                        reg = <0 0x0aa00000 0 0xff000>;
                        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
-                       power-domains = <&videocc VENUS_GDSC>;
+                       power-domains = <&videocc VENUS_GDSC>,
+                                       <&videocc VCODEC0_GDSC>,
+                                       <&videocc VCODEC1_GDSC>;
+                       power-domain-names = "venus", "vcodec0", "vcodec1";
                        clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
                                 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
-                                <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
-                       clock-names = "core", "iface", "bus";
+                                <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
+                                <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
+                                <&videocc VIDEO_CC_VCODEC0_AXI_CLK>,
+                                <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
+                                <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
+                       clock-names = "core", "iface", "bus",
+                                     "vcodec0_core", "vcodec0_bus",
+                                     "vcodec1_core", "vcodec1_bus";
                        iommus = <&apps_smmu 0x10a0 0x8>,
                                 <&apps_smmu 0x10b0 0x0>;
                        memory-region = <&venus_mem>;
 
                        video-core0 {
                                compatible = "venus-decoder";
-                               clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
-                                        <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
-                               clock-names = "core", "bus";
-                               power-domains = <&videocc VCODEC0_GDSC>;
                        };
 
                        video-core1 {
                                compatible = "venus-encoder";
-                               clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
-                                        <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
-                               clock-names = "core", "bus";
-                               power-domains = <&videocc VCODEC1_GDSC>;
                        };
                };