Document an interconnect path for camcc that's required to enable
the CAMSS_TOP_GDSC power domain.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml
index f63149ecf3e1..707b25d2c11e 100644
--- a/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml
@@ -25,6 +25,10 @@ properties:
- description: Sleep clock source
- description: Camera AHB clock from GCC
+ interconnects:
+ items:
+ - description: Interconnect path to enable the MultiMedia NoC
+
required:
- compatible
- clocks
@@ -37,12 +41,16 @@ unevaluatedProperties: false
examples:
- |
#include <dt-bindings/clock/qcom,milos-gcc.h>
+ #include <dt-bindings/interconnect/qcom,icc.h>
+ #include <dt-bindings/interconnect/qcom,milos-rpmh.h>
clock-controller@adb0000 {
compatible = "qcom,milos-camcc";
reg = <0x0adb0000 0x40000>;
clocks = <&bi_tcxo_div2>,
<&sleep_clk>,
<&gcc GCC_CAMERA_AHB_CLK>;
+ interconnects = <&mmss_noc MASTER_CAMNOC_HF QCOM_ICC_TAG_ALWAYS
+ &mmss_noc SLAVE_MNOC_HF_MEM_NOC QCOM_ICC_TAG_ALWAYS>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
--
2.52.0
On Fri, Jan 16, 2026 at 02:17:21PM +0100, Luca Weiss wrote: > Document an interconnect path for camcc that's required to enable > the CAMSS_TOP_GDSC power domain. I find it confusing. Enabling GDSC power domains is done via power domains, not via interconnects. Do not represent power domains as interconnects, it's something completely different. > > Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> > --- > Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml b/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml > index f63149ecf3e1..707b25d2c11e 100644 > --- a/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml > +++ b/Documentation/devicetree/bindings/clock/qcom,milos-camcc.yaml > @@ -25,6 +25,10 @@ properties: > - description: Sleep clock source > - description: Camera AHB clock from GCC > > + interconnects: > + items: > + - description: Interconnect path to enable the MultiMedia NoC And since when clock controllers are part of interconnect path... Even more questions.... Best regards, Krzysztof
On 1/17/26 12:46 PM, Krzysztof Kozlowski wrote: > On Fri, Jan 16, 2026 at 02:17:21PM +0100, Luca Weiss wrote: >> Document an interconnect path for camcc that's required to enable >> the CAMSS_TOP_GDSC power domain. > > I find it confusing. Enabling GDSC power domains is done via power > domains, not via interconnects. Do not represent power domains as > interconnects, it's something completely different. The name of the power domains is CAMSS_TOP_GDSC (seems you misread) For the power domain to successfully turn on, the MNoC needs to be turned on (empirical evidence). The way to do it is to request a nonzero vote on this interconnect path (presumably because the GDSC or its invisible providers require something connected over that bus to carry out their enable sequences). Taniya should be able to explain in more detail Konrad
On 1/19/26 11:20 AM, Konrad Dybcio wrote: > On 1/17/26 12:46 PM, Krzysztof Kozlowski wrote: >> On Fri, Jan 16, 2026 at 02:17:21PM +0100, Luca Weiss wrote: >>> Document an interconnect path for camcc that's required to enable >>> the CAMSS_TOP_GDSC power domain. >> >> I find it confusing. Enabling GDSC power domains is done via power >> domains, not via interconnects. Do not represent power domains as >> interconnects, it's something completely different. > > The name of the power domains is CAMSS_TOP_GDSC (seems you misread) > > For the power domain to successfully turn on, the MNoC needs to be > turned on (empirical evidence). The way to do it is to request a > nonzero vote on this interconnect path > > (presumably because the GDSC or its invisible providers require > something connected over that bus to carry out their enable sequences). > > Taniya should be able to explain in more detail We'd have a better chance of her responding if I didn't forget to extend the recipient list, fixing that Konrad
© 2016 - 2026 Red Hat, Inc.