[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5460F806.3040305@ti.com>
Date: Mon, 10 Nov 2014 19:38:14 +0200
From: Grygorii Strashko <grygorii.strashko@...com>
To: Arnd Bergmann <arnd@...db.de>
CC: <ssantosh@...nel.org>, "Rafael J. Wysocki" <rjw@...ysocki.net>,
<khilman@...aro.org>, <linux-pm@...r.kernel.org>,
Rob Herring <robh+dt@...nel.org>, <grant.likely@...retlab.ca>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
Ulf Hansson <ulf.hansson@...aro.org>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Dmitry Torokhov <dmitry.torokhov@...il.com>
Subject: Re: [PATCH v4 1/2] ARM: keystone: pm: switch to use generic pm domains
Hi Arnd,
On 11/10/2014 05:06 PM, Arnd Bergmann wrote:
> On Monday 10 November 2014 16:59:16 Grygorii Strashko wrote:
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/power/ti,keystone-powerdomain.txt
>> @@ -0,0 +1,31 @@
>> +* TI Keystone 2 Generic PM Controller
>> +
>> +The TI Keystone 2 Generic PM Controller is responsible for Clock gating
>> +for each controlled IP module.
>> +
>> +Required properties:
>> +- compatible: Should be "ti,keystone-powerdomain"
>> +- #power-domain-cells: Should be 0, see below:
>> +
>> +The PM Controller node is a PM domain as documented in
>> +Documentation/devicetree/bindings/power/power_domain.txt.
>> +
>> +Example:
>> +
>> + pm_controller: pm-controller {
>> + compatible = "ti,keystone-powerdomain";
>> + #power-domain-cells = <0>;
>> + };
>> +
>> + netcp: netcp@...0000 {
>> + reg = <0x2620110 0x8>;
>> + reg-names = "efuse";
>> + ...
>> + #address-cells = <1>;
>> + #size-cells = <1>;
>> + ranges;
>> + power-domains = <&pm_controller>;
>> +
>> + clocks = <&clkpa>, <&clkcpgmac>, <&chipclk12>;
>> + dma-coherent;
>> + }
>
> I don't get it. What keystone specific about a "ti,keystone-powerdomain"
> device? It seems that the device has no registers whatsoever and the
> driver doesn't really do anything that relates to the platform.
That's true. but it was the only one acceptable way to enable
Generic clock manipulation PM callbacks for the DT-boot case.
After several unsuccessful attempts the idea to use GPD
was introduced by Kevin there:
https://lkml.org/lkml/2014/9/8/643
So, The Keystone 2 Generic PM Controller is just a proxy PM layer here between
device and Generic clock manipulation PM callbacks.
It fills per-device clock list when device is attached to GPD and
ensures that all clocks from that list enabled/disabled when device is
started/stopped.
Regards,
-grygorii
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists