Hi Jolly, On 2018-05-17 23:10, Jolly Shah wrote: >>>>>> +Example: >>>>>> + zynqmp-genpd { >>>>>> + compatible = "xlnx,zynqmp-genpd"; >>>>> What's the control interface for controlling the domains? >>>>>> + >>>>>> + pd_usb0: pd-usb0 { >>>>>> + pd-id = <22>; >>>>>> + #power-domain-cells = <0>; >>>>> There's no need for all these sub nodes. Make #power-domain-cells 1 >>>>> and put the id in the cell value. >>>> That was my first reaction, too... >>>>>> + }; >>>>>> + >>>>>> + pd_sata: pd-sata { >>>>>> + pd-id = <28>; >>>>>> + #power-domain-cells = <0>; >>>>>> + }; >>>>>> + >>>>>> + pd_gpu: pd-gpu { >>>>>> + pd-id = <58 20 21>; >>>> ... until I saw the above. >>>> Controlling the GPU power area requires controlling 3 physical areas? >>>> >>>> However, doing it this way may bite you in the future, if a need >>>> arises to control a subset. And what about power up/down order? >>> What about defining 3 separate domains and arranging them in >>> parent-child relationship? generic power domains already supports that >>> and this allows to nicely define the power on/off order. >>> >>>>>> + #power-domain-cells = <0x0>; >>>>>> + }; >>>>>> + }; >> I agree it should be arranged in as parent child order to control subset or control >> order. Will incorporate those changes in next version. > > As suggested, I tried out parent, child approach. However what I found is Genpd core takes care of parent child dependencies for power on off routines only. In our case, We need them in attach-detach routines too. In that case, we need to handle dependencies manually for those routines. Please suggest better approach, if any. What do you mean to handle attach-detach? Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html