diff mbox series

[v4,11/12] arm64: dts: sdm845: follow venus-sdm845v2 DT binding

Message ID 20200106154929.4331-12-stanimir.varbanov@linaro.org (mailing list archive)
State New, archived
Headers show
Series Venus new features | expand

Commit Message

Stanimir Varbanov Jan. 6, 2020, 3:49 p.m. UTC
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>
---
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

Comments

Stanimir Varbanov Feb. 27, 2020, 10:38 p.m. UTC | #1
Hi Bjorn,

Could you take this for v5.7.

On 1/6/20 5:49 PM, Stanimir Varbanov wrote:
> 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>
> ---
>  arch/arm64/boot/dts/qcom/sdm845.dtsi | 25 +++++++++++++------------
>  1 file changed, 13 insertions(+), 12 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> index ddb1f23c936f..c5784951d408 100644
> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> @@ -2568,32 +2568,33 @@
>  		};
>  
>  		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>;
>  			};
>  		};
>  
>
Bjorn Andersson Feb. 28, 2020, 5:59 a.m. UTC | #2
On Thu 27 Feb 14:38 PST 2020, Stanimir Varbanov wrote:

> Hi Bjorn,
> 
> Could you take this for v5.7.
> 

Applied, thanks for the ping Stan!

Regards,
Bjorn

> On 1/6/20 5:49 PM, Stanimir Varbanov wrote:
> > 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>
> > ---
> >  arch/arm64/boot/dts/qcom/sdm845.dtsi | 25 +++++++++++++------------
> >  1 file changed, 13 insertions(+), 12 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > index ddb1f23c936f..c5784951d408 100644
> > --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
> > @@ -2568,32 +2568,33 @@
> >  		};
> >  
> >  		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>;
> >  			};
> >  		};
> >  
> > 
> 
> -- 
> regards,
> Stan
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index ddb1f23c936f..c5784951d408 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -2568,32 +2568,33 @@ 
 		};
 
 		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>;
 			};
 		};