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