Hi Boris,

> -----Original Message-----
> From: Boris Brezillon [mailto:boris.brezil...@bootlin.com]
> Sent: Monday, August 20, 2018 6:03 PM
> To: Naga Sureshkumar Relli <nagas...@xilinx.com>
> Cc: miquel.ray...@bootlin.com; rich...@nod.at; dw...@infradead.org;
> computersforpe...@gmail.com; marek.va...@gmail.com; kyungmin.p...@samsung.com;
> abs...@codeaurora.org; peterpand...@micron.com; frieder.schre...@exceet.de; 
> linux-
> m...@lists.infradead.org; linux-kernel@vger.kernel.org; Michal Simek 
> <mich...@xilinx.com>;
> nagasureshkumarre...@gmail.com
> Subject: Re: [LINUX PATCH v10 1/2] dt-bindings: mtd: arasan: Add device tree 
> binding
> documentation
> 
> On Fri, 17 Aug 2018 18:49:23 +0530
> Naga Sureshkumar Relli <naga.sureshkumar.re...@xilinx.com> wrote:
> 
> > This patch adds the dts binding document for arasan nand flash
> > controller.
> >
> > Signed-off-by: Naga Sureshkumar Relli
> > <naga.sureshkumar.re...@xilinx.com>
> > ---
> > Changes in v10:
> > - None
> > Changes in v9:
> > - None
> > Changes in v8:
> > - Updated compatible and clock-names as per Boris comments Changes in
> > v7:
> > - Corrected the acronyms those should be in caps changes in v6:
> > - Removed num-cs property
> > - Separated nandchip from nand controller changes in v5:
> > - None
> > Changes in v4:
> > - Added num-cs property
> > - Added clock support
> > Changes in v3:
> > - None
> > Changes in v2:
> > - None
> > ---
> >  .../devicetree/bindings/mtd/arasan_nand.txt        | 38 
> > ++++++++++++++++++++++
> >  1 file changed, 38 insertions(+)
> >  create mode 100644
> > Documentation/devicetree/bindings/mtd/arasan_nand.txt
> >
> > diff --git a/Documentation/devicetree/bindings/mtd/arasan_nand.txt
> > b/Documentation/devicetree/bindings/mtd/arasan_nand.txt
> > new file mode 100644
> > index 0000000..234d7ca
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/mtd/arasan_nand.txt
> > @@ -0,0 +1,38 @@
> > +Arasan NAND Flash Controller with ONFI 3.1 support
> > +
> > +Required properties:
> > +- compatible:              Should be "xlnx,zynqmp-nand" or 
> > "arasan,nfc-v3p10"
> 
> In your example it's not an "or" since both are defined.
In our previous discussion (https://lore.kernel.org/patchwork/patch/748901/)
We decided to have compatible strings like " compatible = 
"<soc-vendor>,<ip-revision>", "arasan,<ip-revision>";"
So it should be either of these.
so I will write something like below
"Possible values are  "xlnx,zynqmp-nand" 
                        "arasan,nfc-v3p10"
And in example I will mention any one compatible.
Is it ok?
> 
> > +- reg:                     Memory map for module access
> > +- interrupt-parent:        Interrupt controller the interrupt is routed 
> > through
> > +- interrupts:              Should contain the interrupt for the device
> > +- clock-name:              List of input clocks - "sys", "flash"
> 
>      clock-names
Ok, will correct it in next version.
> 
> > +                   (See clock bindings for details)
> > +- clocks:          Clock phandles (see clock bindings for details)
> > +
> > +Optional properties:
> > +- arasan,has-mdma: Enables DMA support
> 
> Can't you detect that based on the compatible (or thanks to a register). If 
> it's something you
> choose when configuring the IP and can't detect at runtime I guess it's fine.
There is no way to select DMA when configuring the IP.
But it has internal DMA and there is a register to select PIO or DMA while 
starting a transfer.
So if user really don't want DMA, then we will never set DMA in the code based 
on DT property.
> 
> > +
> > +For NAND partition information please refer the below file
> > +Documentation/devicetree/bindings/mtd/partition.txt
> > +
> > +Example:
> > +   nand0: nand@ff100000 {
> > +           compatible = "xlnx,zynqmp-nand", "arasan,nfc-v3p10"
> > +           reg = <0x0 0xff100000 0x1000>;
> > +           clock-name = "sys", "flash"
> > +           clocks = <&misc_clk &misc_clk>;
> > +           interrupt-parent = <&gic>;
> > +           interrupts = <0 14 4>;
> > +           arasan,has-mdma;
> > +           #address-cells = <1>;
> > +           #size-cells = <0>
> > +
> > +           nand@0 {
> > +                   reg = <0>
> > +                   partition@0 {
> > +                           label = "filesystem";
> > +                           reg = <0x0 0x0 0x1000000>;
> > +                   };
> 
> Hm, not sure you need to define partitions in this example, but if you do, 
> please define your
> partitions in a 'partitions' subnode:
> 
>                       partitions {
>                               compatible = "fixed-partitions";
>                               #address-cells = <1>;
>                               #size-cells = <1>;
> 
>                               partition@0 {
>                                       reg = <0x0 0x1000000>;
>                                       ...
>                               };
>                               ...
>                       };
> 
> > +                   (...)
Ok, just now I saw Documentation/devicetree/bindings/mtd/marvell-nand.txt, I 
will update it accordingly in  next version.
> > +           };
> > +   };


Thanks,
Naga Sureshkumar Relli.

Reply via email to