[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SN1PR02MB37588BFF357865F4C9628D99B8910@SN1PR02MB3758.namprd02.prod.outlook.com>
Date: Thu, 17 May 2018 21:10:38 +0000
From: Jolly Shah <JOLLYS@...inx.com>
To: Jolly Shah <JOLLYS@...inx.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
"Rob Herring" <robh@...nel.org>
CC: Matthias Brugger <matthias.bgg@...il.com>,
Andy Gross <andy.gross@...aro.org>,
Shawn Guo <shawnguo@...nel.org>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Björn Andersson <bjorn.andersson@...aro.org>,
"sean.wang@...iatek.com" <sean.wang@...iatek.com>,
Michal Simek <michal.simek@...inx.com>,
"Mark Rutland" <mark.rutland@....com>,
Rajan Vaja <RAJANV@...inx.com>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH 1/2] dt-bindings: power: Add ZynqMP power domain bindings
Hi Marek,
> -----Original Message-----
> From: linux-kernel-owner@...r.kernel.org [mailto:linux-kernel-
> owner@...r.kernel.org] On Behalf Of Jolly Shah
> Sent: Thursday, March 15, 2018 10:47 AM
> To: Marek Szyprowski <m.szyprowski@...sung.com>; Geert Uytterhoeven
> <geert@...ux-m68k.org>; Rob Herring <robh@...nel.org>
> Cc: Matthias Brugger <matthias.bgg@...il.com>; Andy Gross
> <andy.gross@...aro.org>; Shawn Guo <shawnguo@...nel.org>; Geert
> Uytterhoeven <geert+renesas@...der.be>; Björn Andersson
> <bjorn.andersson@...aro.org>; sean.wang@...iatek.com; Michal Simek
> <michal.simek@...inx.com>; Mark Rutland <mark.rutland@....com>; Rajan
> Vaja <RAJANV@...inx.com>; open list:OPEN FIRMWARE AND FLATTENED
> DEVICE TREE BINDINGS <devicetree@...r.kernel.org>; Linux ARM <linux-arm-
> kernel@...ts.infradead.org>; Linux Kernel Mailing List <linux-
> kernel@...r.kernel.org>
> Subject: RE: [PATCH 1/2] dt-bindings: power: Add ZynqMP power domain
> bindings
>
> [This sender failed our fraud detection checks and may not be who they appear
> to be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing]
>
> Hi Rob, Geert, Marek,
>
> > -----Original Message-----
> > From: Marek Szyprowski [mailto:m.szyprowski@...sung.com]
> > Sent: Tuesday, March 06, 2018 12:06 AM
> > To: Geert Uytterhoeven <geert@...ux-m68k.org>; Rob Herring
> > <robh@...nel.org>
> > Cc: Jolly Shah <JOLLYS@...inx.com>; Matthias Brugger
> > <matthias.bgg@...il.com>; Andy Gross <andy.gross@...aro.org>; Shawn
> > Guo <shawnguo@...nel.org>; Geert Uytterhoeven
> > <geert+renesas@...der.be>; Björn Andersson
> > <bjorn.andersson@...aro.org>; sean.wang@...iatek.com; Michal Simek
> > <michal.simek@...inx.com>; Mark Rutland <mark.rutland@....com>; Rajan
> > Vaja <RAJANV@...inx.com>; open list:OPEN FIRMWARE AND FLATTENED
> DEVICE
> > TREE BINDINGS <devicetree@...r.kernel.org>; Linux ARM <linux-arm-
> > kernel@...ts.infradead.org>; Linux Kernel Mailing List <linux-
> > kernel@...r.kernel.org>; Jolly Shah <JOLLYS@...inx.com>
> > Subject: Re: [PATCH 1/2] dt-bindings: power: Add ZynqMP power domain
> > bindings
> >
> > Hi All,
> >
> > On 2018-03-06 08:59, Geert Uytterhoeven wrote:
> > > Hi Rob, Jolly,
> > >
> > > On Mon, Mar 5, 2018 at 11:39 PM, Rob Herring <robh@...nel.org> wrote:
> > >> On Tue, Feb 27, 2018 at 03:55:49PM -0800, Jolly Shah wrote:
> > >>> Add documentation to describe ZynqMP power domain bindings.
> > >>>
> > >>> Signed-off-by: Jolly Shah <jollys@...inx.com>
> > >>> Signed-off-by: Rajan Vaja <rajanv@...inx.com>
> > >>> ---
> > >>> .../devicetree/bindings/power/zynqmp-genpd.txt | 46
> > ++++++++++++++++++++++
> > >>> 1 file changed, 46 insertions(+)
> > >>> create mode 100644
> > >>> Documentation/devicetree/bindings/power/zynqmp-genpd.txt
> > >>>
> > >>> diff --git
> > >>> a/Documentation/devicetree/bindings/power/zynqmp-genpd.txt
> > >>> b/Documentation/devicetree/bindings/power/zynqmp-genpd.txt
> > >>> new file mode 100644
> > >>> index 0000000..25f9711
> > >>> --- /dev/null
> > >>> +++ b/Documentation/devicetree/bindings/power/zynqmp-genpd.txt
> > >>> +This node contains a number of subnodes, each representing a
> > >>> +single PM domain that PM domain consumer devices reference.
> > >>> +
> > >>> +== PM Domain Nodes ==
> > >>> +
> > >>> +Required properties:
> > >>> + - #power-domain-cells: Number of cells in a PM domain specifier.
> > >>> +Must be
> > 0.
> > >>> + - pd-id: List of domain identifiers of as defined by platform firmware.
> > These
> > >>> + identifiers are passed to the PM firmware.
> > >>> +
> > >>> +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.
>
> > Best regards
> > --
> > Marek Szyprowski, PhD
> > Samsung R&D Institute Poland
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.
Thanks,
Jolly Shah
Powered by blists - more mailing lists