RE: [PATCH v2 1/3] dt-bindings: power: Add ZynqMP power domain bindings

From: Jolly Shah
Date: Thu Oct 04 2018 - 17:26:30 EST


Hi Rob,

> -----Original Message-----
> From: Rob Herring [mailto:robh@xxxxxxxxxx]
> Sent: Tuesday, September 25, 2018 9:15 AM
> To: Jolly Shah <JOLLYS@xxxxxxxxxx>
> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx>; Andy Gross
> <andy.gross@xxxxxxxxxx>; Shawn Guo <shawnguo@xxxxxxxxxx>; Geert
> Uytterhoeven <geert+renesas@xxxxxxxxx>; Bjorn Andersson
> <bjorn.andersson@xxxxxxxxxx>; Sean Wang <sean.wang@xxxxxxxxxxxx>;
> Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>; Michal Simek
> <michals@xxxxxxxxxx>; Mark Rutland <mark.rutland@xxxxxxx>; Rajan Vaja
> <RAJANV@xxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; moderated
> list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE <linux-arm-
> kernel@xxxxxxxxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH v2 1/3] dt-bindings: power: Add ZynqMP power domain
> bindings
>
> On Thu, Sep 13, 2018 at 12:51 PM Jolly Shah <JOLLYS@xxxxxxxxxx> wrote:
> >
> > Hi Rob,
> >
> > > -----Original Message-----
> > > From: Rob Herring [mailto:robh@xxxxxxxxxx]
> > > Sent: Monday, August 20, 2018 12:46 PM
> > > To: Jolly Shah <JOLLYS@xxxxxxxxxx>
> > > Cc: matthias.bgg@xxxxxxxxx; andy.gross@xxxxxxxxxx;
> > > shawnguo@xxxxxxxxxx;
> > > geert+renesas@xxxxxxxxx; bjorn.andersson@xxxxxxxxxx;
> > > sean.wang@xxxxxxxxxxxx; m.szyprowski@xxxxxxxxxxx; Michal Simek
> > > <michals@xxxxxxxxxx>; mark.rutland@xxxxxxx; Rajan Vaja
> > > <RAJANV@xxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; linux-arm-
> > > kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Rajan Vaja
> > > <RAJANV@xxxxxxxxxx>; Jolly Shah <JOLLYS@xxxxxxxxxx>
> > > Subject: Re: [PATCH v2 1/3] dt-bindings: power: Add ZynqMP power
> > > domain bindings
> > >
> > > On Thu, Aug 16, 2018 at 12:21:42PM -0700, Jolly Shah wrote:
> > > > From: Rajan Vaja <rajan.vaja@xxxxxxxxxx>
> > > >
> > > > Add documentation to describe ZynqMP power domain bindings.
> > > >
> > > > Signed-off-by: Rajan Vaja <rajan.vaja@xxxxxxxxxx>
> > > > Signed-off-by: Jolly Shah <jollys@xxxxxxxxxx>
> > > > ---
> > > > .../firmware/xilinx/xlnx,zynqmp-firmware.txt | 47
> > > ++++++++++++++++++++++
> > >
> > > This should be with all the other power domain bindings.
> > >
> > > > 1 file changed, 47 insertions(+)
> > > >
> > > > diff --git
> > > > a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-fi
> > > > rmwa
> > > > re.txt
> > > > b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-fi
> > > > rmwa
> > > > re.txt
> > > > index d215d15..5fa10a0 100644
> > > > ---
> > > > a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-fi
> > > > rmwa
> > > > re.txt
> > > > +++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqm
> > > > +++ p-fi
> > > > +++ rmware.txt
> > > > @@ -64,6 +64,29 @@ Output clocks are registered based on clock
> > > > information received from firmware. Output clocks indexes are
> > > > mentioned in include/dt-bindings/clock/xlnx,zynqmp-clk.h.
> > > >
> > > > +-----------------------------------------------------------
> > > > +Device Tree Bindings for the Xilinx Zynq MPSoC PM domains
> > > > +-----------------------------------------------------------
> > > > +The binding for zynqmp-power-controller follow the common generic
> > > > +PM domain binding[1].
> > > > +
> > > > +[1] Documentation/devicetree/bindings/power/power_domain.txt
> > > > +
> > > > +== Zynq MPSoC Generic PM Domain Node ==
> > > > +
> > > > +Required properties:
> > > > + - compatible: Must be: "xlnx,zynqmp-power-controller"
> > > > +
> > > > +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: Domain identifier as defined by platform firmware.
> > > > + This identifier is passed to the PM firmware.
> > >
> > > Make this a cell for the power domain consumer.
> > [Jolly] We have more than one Ids for GPU device. Also they don't have
> > parent child relationship and hence are defined as flat hierarchy.
> > (shown in example below)
>
> Then the gpu node should have:
>
> power-domains = <&pd 58 &pd 20 &pd 21>;
>
> Also, for this and the firmware reset binding, there is no reason that I see to
> make these all subnodes. A single firmware node can be a provider of multiple
> functions. You only need child nodes if the sub-functions have their own
> resources (clks, irqs, etc.). IOW, don't create nodes just because you want to
> instantiate drivers that way. DT is not the only way to instantiate devices for
> drivers.
>

Got it. Pushed v3 with suggested changes. Please review.

> Rob