Re: [PATCH v3 15/18] arm64: dts: qcom: Add MXC power domain to videocc node on SM8650
From: Jagadeesh Kona
Date: Fri Apr 11 2025 - 03:17:12 EST
On 4/1/2025 8:57 PM, Konrad Dybcio wrote:
> On 3/27/25 10:52 AM, Jagadeesh Kona wrote:
>> Videocc requires both MMCX and MXC rails to be powered ON to configure
>> the video PLLs on SM8650 platform. Hence add MXC power domain to videocc
>> node on SM8650.
>>
>> Signed-off-by: Jagadeesh Kona <quic_jkona@xxxxxxxxxxx>
>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
>> Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
>> ---
>> arch/arm64/boot/dts/qcom/sm8650.dtsi | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>> index 818db6ba3b3be99c187512ea4acf2004422f6a18..ad60596b71d25bb0198b26660dc41195a1210a23 100644
>> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
>> @@ -4959,7 +4959,8 @@ videocc: clock-controller@aaf0000 {
>> reg = <0 0x0aaf0000 0 0x10000>;
>> clocks = <&bi_tcxo_div2>,
>> <&gcc GCC_VIDEO_AHB_CLK>;
>> - power-domains = <&rpmhpd RPMHPD_MMCX>;
>> + power-domains = <&rpmhpd RPMHPD_MMCX>,
>> + <&rpmhpd RPMHPD_MXC>;
>
> So all other DTs touched in this series reference low_svs in required-opps
>
> Is that an actual requirement? Otherwise since Commit e3e56c050ab6
> ("soc: qcom: rpmhpd: Make power_on actually enable the domain") we get the
> first nonzero state, which can be something like low_svs_d2
>
Yes, commit e3e56c050ab6 enables the power-domain at first non-zero level, but in
some chipsets, the first nonzero state could be retention, which is not sufficient
for clock controller to operate. So required-opps is needed to ensure the rails are
at a level above retention for clock controller to operate. low_svs was choosen since
that is a level that is generally supported across all the chipsets, but low_svs_d2
may not be supported on some chipsets.
And required-opps is not mandatory for MXC power domain due to commit f0cc5f7cb43f
(pmdomain: qcom: rpmhpd: Skip retention level for Power Domains), which ensures MXC
always gets enabled above retention level. But it was added to make number of
required-opps uniform with the number of power domains based on discussion at [1].
[1]: https://lore.kernel.org/all/eoqqz5hyyq6ej5uo6phijbeu5qafbpfxlnreyzzcyfw23pl2yq@ftxnasc6sr2t/#t
Thanks,
Jagadeesh
> Konrad