From: Tomasz Figa <tomasz.figa@gmail.com>
To: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
Cc: linux-pm@vger.kernel.org, Mark Rutland <mark.rutland@arm.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Stephen Warren <swarren@wwwdotorg.org>,
Len Brown <len.brown@intel.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Tomasz Figa <t.figa@samsung.com>, Pavel Machek <pavel@ucw.cz>,
Kukjin Kim <kgene.kim@samsung.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
linux-samsung-soc@vger.kernel.org,
Russell King <linux@arm.linux.org.uk>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
devicetree@vger.kernel.org, Pawel Moll <pawel.moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Rob Herring <robh+dt@kernel.org>,
linux-arm-kernel@lists.infradead.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
linux-kernel@vger.kernel.org, Mark Brown <broonie@kernel.org>,
Kumar Gala <gal>
Subject: Re: [PATCH v2 01/11] base: power: Add generic OF-based power domain look-up
Date: Thu, 20 Mar 2014 00:16:14 +0100 [thread overview]
Message-ID: <532A253E.2000106@gmail.com> (raw)
In-Reply-To: <7e54f23f-1e11-4e17-ad29-13b497d7055a@TX2EHSMHS041.ehs.local>
Hi Sören,
On 20.03.2014 00:13, Sören Brinkmann wrote:
> On Mon, 2014-03-03 at 05:02PM +0100, Tomasz Figa wrote:
>> This patch introduces generic code to perform power domain look-up using
>> device tree and automatically bind devices to their power domains.
>> Generic device tree binding is introduced to specify power domains of
>> devices in their device tree nodes.
>>
>> Backwards compatibility with legacy Samsung-specific power domain
>> bindings is provided, but for now the new code is not compiled when
>> CONFIG_ARCH_EXYNOS is selected to avoid collision with legacy code. This
>> will change as soon as Exynos power domain code gets converted to use
>> the generic framework in further patch.
>>
>> Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
>> ---
>> .../devicetree/bindings/power/power_domain.txt | 51 ++++
>> drivers/base/power/domain.c | 298 +++++++++++++++++++++
>> include/linux/pm_domain.h | 46 ++++
>> kernel/power/Kconfig | 4 +
>> 4 files changed, 399 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/power/power_domain.txt
>>
>> diff --git a/Documentation/devicetree/bindings/power/power_domain.txt b/Documentation/devicetree/bindings/power/power_domain.txt
>> new file mode 100644
>> index 0000000..93be5d9
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/power/power_domain.txt
>> @@ -0,0 +1,51 @@
>> +* Generic power domains
>> +
>> +System on chip designs are often divided into multiple power domains that
>> +can be used for power gating of selected IP blocks for power saving by
>> +reduced leakage current.
>> +
>> +This device tree binding can be used to bind power domain consumer devices
>> +with their power domains provided by power domain providers. A power domain
>> +provider can be represented by any node in the device tree and can provide
>> +one or more power domains. A consumer node can refer to the provider by
>> +a phandle and a set of phandle arguments (so called power domain specifier)
>> +of length specified by #power-domain-cells property in the power domain
>> +provider node.
>> +
>> +==Power domain providers==
>> +
>> +Required properties:
>> + - #power-domain-cells : Number of cells in a power domain specifier;
>> + Typically 0 for nodes representing a single power domain and 1 for nodes
>> + providing multiple power domains (e.g. power controllers), but can be
>> + any value as specified by device tree binding documentation of particular
>> + provider.
>> +
>> +Example:
>> +
>> + power: power-controller@12340000 {
>> + compatible = "foo,power-controller";
>> + reg = <0x12340000 0x1000>;
>> + #power-domain-cells = <1>;
>> + };
>> +
>> +The node above defines a power controller that is a power domain provider
>> +and expects one cell as its phandle argument.
>> +
>> +==Power domain consumers==
>> +
>> +Required properties:
>> + - power-domain : A phandle and power domain specifier as defined by bindings
>> + of power controller specified by phandle.
>> +
>> +Example:
>> +
>> + leaky-device@12350000 {
>> + compatible = "foo,i-leak-current";
>> + reg = <0x12350000 0x1000>;
>> + power-domain = <&power 0>;
>> + };
>> +
>> +The node above defines a typical power domain consumer device, which is located
>> +inside power domain with index 0 of power controller represented by node with
>> +label "power".
>
> Does this allow nesting of power domains? E.g. you have a PD which is
> represented by some programmable power supply, and within this domain
> smaller islands/domains that can be gated independently.
These are client-side bindings only, i.e. power domain providers and
consumers. Registering power domains and relations between them are up
to platform-specific code, e.g. power controller driver.
Best regards,
Tomasz
next prev parent reply other threads:[~2014-03-19 23:16 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-03 16:02 [PATCH v2 00/11] Generic Device Tree based power domain look-up Tomasz Figa
2014-03-03 16:02 ` [PATCH v2 01/11] base: power: Add generic OF-based " Tomasz Figa
2014-03-04 18:23 ` Stephen Boyd
2014-03-05 11:53 ` Tomasz Figa
2014-03-05 4:24 ` Mark Brown
2014-03-05 6:41 ` Rob Herring
2014-03-05 7:19 ` Ulf Hansson
2014-03-05 11:47 ` Tomasz Figa
2014-03-05 12:44 ` Tomasz Figa
2014-03-05 18:37 ` Lorenzo Pieralisi
2014-03-14 23:07 ` Kevin Hilman
2014-03-19 23:13 ` Sören Brinkmann
2014-03-19 23:16 ` Tomasz Figa [this message]
2014-04-03 12:16 ` Ulf Hansson
[not found] ` <CAPDyKFoxTAHyX7SQAMsvt=OttHs22oMSB8XrRUDDJ06qO0Fc2w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-03 12:30 ` Tomasz Figa
2014-04-03 13:32 ` Ulf Hansson
2014-03-03 16:02 ` [PATCH v2 02/11] drivercore: Bind/unbind power domain on probe/remove Tomasz Figa
2014-03-04 18:29 ` Stephen Boyd
2014-03-04 19:17 ` Philipp Zabel
2014-03-05 4:26 ` Mark Brown
2014-03-05 7:22 ` Ulf Hansson
2014-03-03 16:02 ` [PATCH v2 03/11] ARM: exynos: Move to generic power domain bindings Tomasz Figa
2014-03-05 16:15 ` Bartlomiej Zolnierkiewicz
2014-03-05 16:20 ` Tomasz Figa
2014-03-07 13:04 ` Bartlomiej Zolnierkiewicz
2014-03-03 16:02 ` [PATCH v2 04/11] ARM: s3c64xx: pm: Use name field of generic_pm_domain Tomasz Figa
2014-03-05 4:28 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 05/11] ARM: s3c64xx: pm: Add always_on field to s3c64xx_pm_domain struct Tomasz Figa
2014-03-05 4:28 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 06/11] ARM: s3c64xx: pm: Add pwr_stat bit for domain G Tomasz Figa
2014-03-05 4:28 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 07/11] ARM: s3c64xx: pm: Add device tree based power domain instantiation Tomasz Figa
[not found] ` <1393862536-9842-8-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-05 4:29 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 08/11] ARM: s3c64xx: dt: Enable SoC-level power management Tomasz Figa
[not found] ` <1393862536-9842-9-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-05 4:30 ` Mark Brown
[not found] ` <1393862536-9842-1-git-send-email-tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-03-03 16:02 ` [PATCH v2 09/11] ARM: dts: s3c64xx: Add nodes for power domains Tomasz Figa
2014-03-05 4:31 ` Mark Brown
2014-03-03 16:02 ` [PATCH v2 10/11] ARM: dts: s3c64xx: Add node for display controller Tomasz Figa
2014-03-03 16:02 ` [PATCH v2 11/11] ARM: dts: s3c6410-mini6410: Add support for LCD screen Tomasz Figa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=532A253E.2000106@gmail.com \
--to=tomasz.figa@gmail.com \
--cc=b.zolnierkie@samsung.com \
--cc=broonie@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kgene.kim@samsung.com \
--cc=len.brown@intel.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=lorenzo.pieralisi@arm.com \
--cc=m.szyprowski@samsung.com \
--cc=mark.rutland@arm.com \
--cc=pavel@ucw.cz \
--cc=pawel.moll@arm.com \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=sboyd@codeaurora.org \
--cc=soren.brinkmann@xilinx.com \
--cc=swarren@wwwdotorg.org \
--cc=t.figa@samsung.com \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).