+ Jon [...] >> >> In regards to model the HW correctly. I don't believe your HW topology have >> each PWM block, GPIO block, etc, in their own gate-able power domain, right? >> Or is it so? >> > > First of all, thanks for your and Rob's good suggestions. > I spent a lot more time to do research to try to make it better according to your > suggestions. Some of your ideas absolutely helped me a lot and gave me some > inspirations. > > Some new findings are that some of our power domains are organized in a tree > was because the kernel does not support multi-power domains for one device. > but from HW point of view, they're identical. > You can more serious situation from local tree at here: > https://source.codeaurora.org/external/imx/linux-imx/tree/arch/arm64/boot/dts/freescale/fsl-imx8dx.dtsi?h=imx_4.9.88_imx8qxp_beta2#n195 > > I just found your following patch perfectly addressed our issue as we do have many > Devices requires to handle multi power domains. > 3c095f32a92b PM / Domains: Add support for multi PM domains per device to genpd > e.g. For LVDS devices, it need both LVDS and DC(Display controller) PD to work. Thanks for letting me know about further use cases about multiple PM domain per device. Very interesting. > > Now i was trying to understand all of our current user case with the team, If all of them > do not need a tree to address dependency issue, I may remove them all from device tree. > Then it would be much more clearer than before and be something like what Tegra does. > include/dt-bindings/power/tegra186-powergate.h > drivers/soc/tegra/powergate-bpmp.c Yes! > > For example, 1 #power-domain-cells will be enough. The first cell can be a global SCU > power domain and the 2nd cell the device ID. > Hopefully this can be what you and Rob want. > > If any good suggestions please let me know. It makes perfect sense! In regards to deploy support for multiple PM domains per device, you may have a look at the recent work done Jon Hunter for the Tegra xHCI genpd support [1]. [...] Kind regards Uffe [1] https://patchwork.ozlabs.org/cover/976328/