Re: [PATCH v2 1/3] dt-bindings: usb: qcom,dwc3: Add multi-pd bindings for dwc3 qcom
From: Ulf Hansson <hidden>
Date: 2021-10-28 10:35:53
Also in:
linux-arm-msm, linux-devicetree, lkml
[...]
quoted
quoted
quoted
Got it. So in this case we could have the various display components that are in the mdss gdsc domain set their frequency via OPP and then have that translate to a level in CX or MMCX. How do we parent the power domains outside of DT? I'm thinking that we'll need to do that if MMCX is parented by CX or something like that and the drivers for those two power domains are different. Is it basic string matching?In one way or another we need to invoke pm_genpd_add_subdomain() to link the two power-domains (actually genpds) together, like what was done in 3652265514f5 ("clk: qcom: gdsc: enable optional power domain support"). In the case of MMCX and CX, my impression of the documentation is that they are independent - but if we need to express that CX is parent of MMCX, they are both provided by rpmhpd which already supports this by just specifying .parent on mmcx to point to cx.I was trying to follow the discussion, but it turned out to be a bit complicated to catch up and answer all things. In any case, let me just add a few overall comments, perhaps that can help to move things forward. First, one domain can have two parent domains. Both from DT and from genpd point of view, just to make this clear. Although, it certainly looks questionable to me, to hook up the USB device to two separate power domains, one to control power and one to control performance. Especially, if it's really the same piece of HW that is managing both things.[]..quoted
Additionally, if it's correct to model the USB GDSC power domain as a child to the CX power domain from HW point of view, we should likely do that.I think this would still require a few things in genpd, since CX and USB GDSC are power domains from different providers. Perhaps a pm_genpd_add_subdomain_by_name()?
I think of_genpd_add_subdomain() should help to address this. No? Kind regards Uffe