[RFC PATCH 4/4] ARM: dts: k2hk-evm: add pm domains for net, qmss and knav_dmas
From: grygorii.strashko@ti.com (Grygorii Strashko)
Date: 2014-09-26 16:40:49
Also in:
linux-pm, lkml
Hi Kevin, On 09/26/2014 01:27 AM, Kevin Hilman wrote:
Grygorii Strashko [off-list ref] writes:quoted
Add Keystone PM domains nodes for NetCP, NetCPx, QMSS, KNAV-DMA devices. Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com> --- 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...quoted
qmss: qmss at 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 at 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