RE: [LINUX PATCH v10 1/2] dt-bindings: mtd: arasan: Add device tree binding documentation
From: Naga Sureshkumar Relli
Date: Tue Aug 21 2018 - 05:22:18 EST
Hi Boris,
> -----Original Message-----
> From: Boris Brezillon [mailto:boris.brezillon@xxxxxxxxxxx]
> Sent: Tuesday, August 21, 2018 11:30 AM
> To: Naga Sureshkumar Relli <nagasure@xxxxxxxxxx>
> Cc: miquel.raynal@xxxxxxxxxxx; richard@xxxxxx; dwmw2@xxxxxxxxxxxxx;
> computersforpeace@xxxxxxxxx; marek.vasut@xxxxxxxxx; kyungmin.park@xxxxxxxxxxx;
> absahu@xxxxxxxxxxxxxx; peterpandong@xxxxxxxxxx; frieder.schrempf@xxxxxxxxx; linux-
> mtd@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Michal Simek <michals@xxxxxxxxxx>;
> nagasureshkumarrelli@xxxxxxxxx
> Subject: Re: [LINUX PATCH v10 1/2] dt-bindings: mtd: arasan: Add device tree binding
> documentation
>
> On Tue, 21 Aug 2018 05:47:18 +0000
> Naga Sureshkumar Relli <nagasure@xxxxxxxxxx> wrote:
>
> > > > +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?
>
> Hm, why do you need arasan,nfc-v3p10 at all if it's supposed to be overloaded by a soc specific
> compat?
Actually we put these compatible strings based on the comments on v7 series.
Anyway I will just keep "xlnx,zynqmp-nand" as compatible.
>
> > > > +
> > > > +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.
>
> If it's a purely SW choice, then is shouldn't be described in the DT.
> You can use a module param, but I'm not even sure why one would want to disable DMA.
UBIFS doesn't work with DMA, hence we are using a DT property to operate the driver in IO.
But as you pointed (use virt_is_valid()), with this we can switch our driver to operate in PIO or DMA.
I will remove this from DT.
Thanks,
Naga Sureshkumar Relli.