Re: [PATCH v3 1/2] dt-bindings: phy: qcom: Add CSI2 C-PHY/DPHY schema
From: Bryan O'Donoghue
Date: Tue Mar 03 2026 - 19:05:36 EST
On 03/03/2026 23:50, Vijay Kumar Tumati wrote:
Sure, I was just giving an example. I haven't looked a lot into the IPCAT / clock corners of this target particularly. Someone needs to check the clock plan,
I mean, feel free.
understand which PHYs require which power domains
and add that in the following OPP table and as for scaling you can use the same RPMH levels for all those power domains. Btw, if you had defined the below OPP table for TOP GDSC, I think that is wrong. It only has two perf states (on and off) and doesn't need OPP scaling. If you look at the Iris driver, they link only the mxc and mmcx power domains to the OPP table using 'PD_FLAG_REQUIRED_OPP, not the GDSCs.
+ csiphy_opp_table: opp-table-csiphy {
+ compatible = "operating-points-v2";
+
+ opp-300000000 {
+ opp-hz = /bits/ 64 <300000000>;
+ required-opps = <&rpmhpd_opp_low_svs_d1>;
+ };
+
+ opp-400000000 {
+ opp-hz = /bits/ 64 <400000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-480000000 {
+ opp-hz = /bits/ 64 <480000000>;
+ required-opps = <&rpmhpd_opp_low_svs>;
+ };
+ };
---
bod
Yes, we should scale the MX*, that's incorrect.
csiphy_mxc_opp_table: opp-table-csiphy-mxc {
compatible = "operating-points-v2";
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
required-opps = <&rpmhpd_opp_low_svs_d1>,
<&rpmhpd_opp_low_svs_d1>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
required-opps = <&rpmhpd_opp_low_svs>,
<&rpmhpd_opp_low_svs>;
};
opp-480000000 {
opp-hz = /bits/ 64 <480000000>;
required-opps = <&rpmhpd_opp_low_svs>,
<&rpmhpd_opp_low_svs>;
};
};
csiphy_mxa_opp_table: opp-table-csiphy-mxa {
compatible = "operating-points-v2";
opp-300000000 {
opp-hz = /bits/ 64 <300000000>;
required-opps = <&rpmhpd_opp_low_svs_d1>,
<&rpmhpd_opp_low_svs_d1>;
};
opp-400000000 {
opp-hz = /bits/ 64 <400000000>;
required-opps = <&rpmhpd_opp_low_svs>,
<&rpmhpd_opp_low_svs>;
};
opp-480000000 {
opp-hz = /bits/ 64 <480000000>;
required-opps = <&rpmhpd_opp_low_svs>,
<&rpmhpd_opp_low_svs>;
};
};
csiphy0: phy@ace4000 {
power-domains = <&rpmhpd RPMHPD_MXC>,
<&rpmhpd RPMHPD_MMCX>;
operating-points-v2 = <&csiphy_mxc_opp_table>;
...
};
csiphy4: phy@acec000 {
power-domains = <&rpmhpd RPMHPD_MXA>,
<&rpmhpd RPMHPD_MMCX>;
operating-points-v2 = <&csiphy_mxa_opp_table>;
...
};
---
bod