Re: [RFC PATCH 4/4] ARM: dts: k2hk-evm: add pm domains for net, qmss and knav_dmas

From: Grygorii Strashko
Date: Fri Sep 26 2014 - 12:40:52 EST


Hi Kevin,

On 09/26/2014 01:27 AM, Kevin Hilman wrote:
> Grygorii Strashko <grygorii.strashko@xxxxxx> writes:
>
>> Add Keystone PM domains nodes for NetCP, NetCPx, QMSS, KNAV-DMA
>> devices.
>>
>> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx>
>> ---
>> arch/arm/boot/dts/k2hk-evm.dts | 31 +++++++++++++++++++++++++++++++
>> 1 file changed, 31 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/k2hk-evm.dts b/arch/arm/boot/dts/k2hk-evm.dts
>> index 91371f7..a7b468c 100644
>> --- a/arch/arm/boot/dts/k2hk-evm.dts
>> +++ b/arch/arm/boot/dts/k2hk-evm.dts
>> @@ -58,6 +58,13 @@
>> clock-output-names = "refclk-ddr3b";
>> };
>> };
>> +
>> + qmss_domain: qmss_pm_controller {
>> + compatible = "ti,keystone-gpc";
>> + clocks = <&chipclk13>;
>> + #power-domain-cells = <0>;
>> + };
>
> Hmm, I'm still a bit confused by what you're attempting to do here.
> Unless I'm missing someting, clocks are properties of the device, not
> the pm-domain...
>
>> qmss: qmss@2a40000 {
>> compatible = "ti,keystone-navigator-qmss";
>> dma-coherent;
>> @@ -65,6 +72,8 @@
>> #size-cells = <1>;
>> clocks = <&chipclk13>;
>> ranges;
>> + power-domains = <&qmss_domain>;
>
> ... Also, each of the pm domains is duplicating the list of clocks from
> the device node, so I'm not sure what this is accomplishing.
>
> Why not just have a single, more generic power domain that gets the list
> of clocks from the device node.

Ok. I've tried it and seems it will work.

Used GPD callbacks:
.attach_dev = keystone_pm_domain_attach_dev,
.detach_dev = keystone_pm_domain_detach_dev,
.dev_ops = {
.stop = pm_clk_suspend,
.start = pm_clk_resume,
},

Updated DT structure:
k_domain: k_pm_controller {
compatible = "ti,keystone-gpc";
#power-domain-cells = <0>;
};

qmss: qmss@2a40000 {
compatible = "ti,keystone-navigator-qmss";
dma-coherent;
#address-cells = <1>;
#size-cells = <1>;
clocks = <&chipclk13>;
ranges;
power-domains = <&k_domain>;

Thanks for your comments.
I'll update & re-send.

Regards,
-grygorii





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/