Re: [PATCH v5 00/16] OMAP2+ OneNAND driver update

Ladislav Michl
2017-11-30T13:13:32Z

Hi Boris,

On Thu, Nov 30, 2017 at 11:18:40AM +0100, Boris Brezillon wrote:
> Hello Ladislav,
>
> On Wed, 15 Nov 2017 17:23:06 +0100
> Ladislav Michl <ladis@linux-mips.org> wrote:
>
> > this patch serie updates OMAP2+ OneNAND driver to the present times, making
> > it fully DT configurable, using libgpio and dmaengine apis - those are
> > optional, driver will work without them.
> >
> > Please note that unlike previous driver version, which basically ignored
> > DT specified timings, this one relies on it, so it is important to get
> > it right in your DT (dumping it from previous kernel version).
> >
> > In case synchronous timings is requested, it is okay to specify timings
> > for the slowest chip ever used for you board as it is evetually optimized
> > after chip probe.
> >
> > Original driver used DMA only if user specified INT gpio in platform
> > data, now DMA is used unconditionally and PIO mode is used as fallback.
> >
> > In case anyone wants to give it a try, few DT related changes are needed:
> > - onenand node needs 'ti,omap2-onenand' compatible (for mailine boards this is
> > done in patch 2)
> > - to use INT pin, int-gpios needs to be specified (for n900 and n8x0 this is
> > done in patch 16, however patch lacks pinmux configuration.
> >
> > Most notable changes from v3:
> > - added dmaengine patches by Peter Ujfalusi
> > - added dt bindings documentation
> > - added cleanup patches
> > - DMA enabled by default
> >
> > Most notable changes from v4:
> > - collected tags
> > - used INT pin name properly
> > - hopefully all comments taken into account
> >
> > Also note that driver will fail probe OneNAND chip after patch 13 and start
> > working again after patch 14.
>
> Well, breaking bisectability is never a good thing, this being said, I
> won't complain if TI maintainers are okay with that.

I agree.

> > Testing and benchmarking very welcome.
>
> Let me know when you think this series is ready to be merged.

I'm still waiting for some OMAP2 users to show up. So far it is tested
on OMAP3 only (And I'm using this patchset in production).

> > Depends on "memory: omap-gpmc: Make 'bank-width' property optional"
> > https://patchwork.kernel.org/patch/10043259/
>
> Hm, I see this patch has been applied to the omap tree, so maybe it's
> simpler if everything goes through this tree. I don't plan to modify
> onenand related stuff in this release anyway.

It is intended for 4.16, so if Tony is fine with your proposal, I can
modify patches not to break bisecting...

> > Ladislav Michl (14):
> > dt-bindings: mtd: gpmc-onenand: Update properties description
> > ARM: dts: OMAP2+: Add compatible property to onenand node
> > ARM: dts: omap3-igep: Update onenand node timings
> > mtd: onenand: omap2: Remove regulator support
> > mtd: onenand: omap2: Remove skip initial unlocking support
> > mtd: onenand: omap2: Remove partitioning support from platform data
> > mtd: onenand: omap2: Account waiting time as waiting on IO
> > mtd: onenand: omap2: Unify OMAP2 and OMAP3 DMA implementation
> > mtd: onenand: omap2: Do not make delay for GPIO OMAP3 specific
> > mtd: onenand: omap2: Decouple DMA enabling from INT pin availability
> > memory: omap-gpmc: Refactor OneNAND support
> > mtd: onenand: omap2: Configure driver from DT
> > ARM: OMAP2+: Remove gpmc-onenand
> > ARM: dts: Nokia: Use OneNAND INT pin
> >
> > Peter Ujfalusi (2):
> > mtd: onenand: omap2: Simplify the DMA setup for various paths
> > mtd: onenand: omap2: Convert to use dmaengine for memcpy
> >
> > .../devicetree/bindings/mtd/gpmc-onenand.txt | 6 +-
> > arch/arm/boot/dts/omap2420-n8x0-common.dtsi | 5 +-
> > arch/arm/boot/dts/omap3-igep.dtsi | 30 +-
> > arch/arm/boot/dts/omap3-n900.dts | 3 +-
> > arch/arm/boot/dts/omap3-n950-n9.dtsi | 1 +
> > arch/arm/boot/dts/omap3430-sdp.dts | 1 +
> > arch/arm/mach-omap2/Makefile | 3 -
> > arch/arm/mach-omap2/gpmc-onenand.c | 409 ---------------
> > drivers/memory/omap-gpmc.c | 158 ++++--
> > drivers/mtd/onenand/Kconfig | 3 +-
> > drivers/mtd/onenand/omap2.c | 576 ++++++++-------------
> > include/linux/omap-gpmc.h | 28 +
> > include/linux/platform_data/mtd-onenand-omap2.h | 34 --
> > 13 files changed, 387 insertions(+), 870 deletions(-)
> > delete mode 100644 arch/arm/mach-omap2/gpmc-onenand.c
> > delete mode 100644 include/linux/platform_data/mtd-onenand-omap2.h
> >