Message ID | 20200106154929.4331-12-stanimir.varbanov@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Venus new features | expand |
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>; > }; > }; > >
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 --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>; }; };
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(-)