Re: [PATCH 1/2] dt-bindings: power: Add ZynqMP power domain bindings

From: Marek Szyprowski
Date: Fri May 18 2018 - 01:34:30 EST


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