Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1338487 > unrolled thread

[PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms

Started byRoger Quadros <rogerq@ti.com>
First post2016-02-19 22:20 +0100
Last post2016-02-29 17:30 +0100
Articles 2 on this page of 22 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms Roger Quadros <rogerq@ti.com> - 2016-02-19 22:20 +0100
    [PATCH v5 21/26] ARM: dts: am437x: Provide NAND ready pin Roger Quadros <rogerq@ti.com> - 2016-02-19 22:20 +0100
    [PATCH v5 10/26] mtd: nand: omap: Update DT binding documentation Roger Quadros <rogerq@ti.com> - 2016-02-19 22:20 +0100
      Re: [PATCH v5 10/26] mtd: nand: omap: Update DT binding documentation Rob Herring <robh@kernel.org> - 2016-02-23 20:50 +0100
        Re: [PATCH v5 10/26] mtd: nand: omap: Update DT binding documentation Roger Quadros <rogerq@ti.com> - 2016-02-24 11:00 +0100
    [PATCH v5 14/26] memory: omap-gpmc: Reserve WAITPIN if needed for WAIT monitoring Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 22/26] ARM: dts: am335x: Fix NAND device nodes Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 01/26] ARM: OMAP2+: gpmc: Add platform data Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 08/26] mtd: nand: omap: Copy platform data parameters to omap_nand_info data Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 05/26] memory: omap-gpmc: Add GPMC-NAND ops to get writebufferempty status Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 17/26] mtd: nand: omap2: Implement NAND ready using gpiolib Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 09/26] mtd: nand: omap: Clean up device tree support Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 03/26] memory: omap-gpmc: Introduce GPMC to NAND interface Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 07/26] memory: omap-gpmc: Implement IRQ domain for NAND IRQs Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 15/26] memory: omap-gpmc: Support WAIT pin edge interrupts Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 02/26] ARM: OMAP2+: gpmc: Add gpmc timings and settings to platform data Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    [PATCH v5 04/26] mtd: nand: omap2: Use gpmc_omap_get_nand_ops() to get NAND registers Roger Quadros <rogerq@ti.com> - 2016-02-19 22:30 +0100
    Re: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND  on non-OMAP platforms Tony Lindgren <tony@atomide.com> - 2016-02-19 23:10 +0100
      Re: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND  on non-OMAP platforms Roger Quadros <rogerq@ti.com> - 2016-02-22 11:20 +0100
        Re: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND  on non-OMAP platforms Tony Lindgren <tony@atomide.com> - 2016-02-22 17:50 +0100
          Re: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND  on non-OMAP platforms Roger Quadros <rogerq@ti.com> - 2016-02-22 21:10 +0100
    Re: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND  on non-OMAP platforms Roger Quadros <rogerq@ti.com> - 2016-02-29 17:30 +0100

Page 2 of 2 — ← Prev page 1 [2]


#1339886 — Re: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms

FromRoger Quadros <rogerq@ti.com>
Date2016-02-22 21:10 +0100
SubjectRe: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms
Message-ID<r54XU-2FL-23@gated-at.bofh.it>
In reply to#1339716
On 22/02/16 18:42, Tony Lindgren wrote:
> * Roger Quadros <rogerq@ti.com> [160222 02:16]:
>> On 20/02/16 00:04, Tony Lindgren wrote:
>>> * Roger Quadros <rogerq@ti.com> [160219 13:27]:
>>>> Hi,
>>>>
>>>> @Tony
>>>> Patches 15 and 24 are new and will need your review.
>>>> I've modified patch 22 to include the new am335x boards introduced since v4.4.
>>>>
>>>> Patches are based on top of omap-for-v4.6/dt so that the DT changes apply cleanly.
>>>
>>> Looks OK to me. Can we merge the dts changes separately? Otherwise
>>> we will easily end up with tons of conflicts..
>>
>> I agree. But we just need to keep in mind that NAND functionality will be
>> broken till all the patches in this series are merged. We don't maintain
>> backward compatibility with the old DT implementation.
> 
> Please let's not do that! That breaks booting and git bisect.
> It's better to have a minimal branch where each patch boots fine.

Understood. I'll send out a patch set with only the minimal DT changes
that doesn't break anything. This should be a preparatory step for
the DT clean up.

> 
> Also, I think you should at least print a warning for the old
> binding. Otherwise people with out of tree boards will have
> hard time updating their patches to send to mainline tree.

OK. I'll add this warning mechanism to the omap-gpmc driver.

cheers,
-roger

[toc] | [prev] | [next] | [standalone]


#1345956 — Re: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms

FromRoger Quadros <rogerq@ti.com>
Date2016-02-29 17:30 +0100
SubjectRe: [PATCH v5 00/26] memory: omap-gpmc: mtd: nand: Support GPMC NAND on non-OMAP platforms
Message-ID<r7yRQ-5oO-3@gated-at.bofh.it>
In reply to#1338487
Brian,

On 19/02/16 23:15, Roger Quadros wrote:
> Hi,
> 
> @Tony
> Patches 15 and 24 are new and will need your review.
> I've modified patch 22 to include the new am335x boards introduced since v4.4.
> 
> Patches are based on top of omap-for-v4.6/dt so that the DT changes apply cleanly.
> 
> @Brian
> If you can Ack the MTD related changes we can push the series (excluding DT patches)
> to an immutable branch and you can then pull it into l2-mtd.git

Gentle ping on this. Thanks.

cheers,
-roger

> 
> Patches tested on:
> dra-evm, am437x-gp-evm, beagleboard-c4, beagleboard-c4-legacyboot
> 
> Changelog:
> v5:
> -changed ready/busy# GPIO DT binding from "ready-gpio" to "rb-gpios".
> -use irqdomain for gpmc NAND interrupts: fifoevent and termcount
> 
> v4:
> -Warn if using older incompatible DT i.e. compatible property not present
> in nand node.
> -Applied Tony's patch to fix broken ethernet on torpedo.
> 
> v3:
> -Fixed and tested NAND using legacy boot on omap3-beagle.
> -Support rising and falling edge interrupts on WAITpins.
> -Update DT node of all gpmc users.
> 
> Patches summary:
> 
> We do a couple of things in this series which result in
> cleaner device tree implementation, faster perfomance and
> multi-platform support. As an added bonus we get to use the GPMC_WAIT
> pins as GPI/Interrupts.
> 
> - Establish a custom interface between NAND and GPMC driver. This is
> needed because all of the NAND registers sit in the GPMC register space.
> 
> - Clean up device tree support so that omap-gpmc IP and the omap2 NAND
> driver can be used on non-OMAP platforms. e.g. Keystone.
> 
> - Implement GPIOCHIP for the GPMC WAITPINS. SoCs can contain
> 2 to 4 of these and most of them would be unused otherwise. It also
> allows a cleaner implementation of NAND Ready pin status for the NAND driver.
> 
> - Implement GPMC IRQ domain to proivde the 2 NAND events and
> GPMC WAITPIN edge interrupts.
> 
> - Implement GPIOlib based NAND ready pin checking for OMAP NAND driver.
> On dra7-evm, Read speed increases from 13768 KiB/ to 17246 KiB/s.
> Write speed was unchanged at 7123 KiB/s.
> 
> This series is available at
> git@github.com:rogerq/linux.git
> in branch
> for-v4.6/gpmc-v5
> 
> --
> cheers,
> -roger
> 
> Roger Quadros (26):
>   ARM: OMAP2+: gpmc: Add platform data
>   ARM: OMAP2+: gpmc: Add gpmc timings and settings to platform data
>   memory: omap-gpmc: Introduce GPMC to NAND interface
>   mtd: nand: omap2: Use gpmc_omap_get_nand_ops() to get NAND registers
>   memory: omap-gpmc: Add GPMC-NAND ops to get writebufferempty status
>   mtd: nand: omap2: Switch to using GPMC-NAND ops for writebuffer empty
>     check
>   memory: omap-gpmc: Implement IRQ domain for NAND IRQs
>   mtd: nand: omap: Copy platform data parameters to omap_nand_info data
>   mtd: nand: omap: Clean up device tree support
>   mtd: nand: omap: Update DT binding documentation
>   memory: omap-gpmc: Prevent mapping into 1st 16MB
>   memory: omap-gpmc: Move device tree binding to correct location
>   memory: omap-gpmc: Support general purpose input for WAITPINs
>   memory: omap-gpmc: Reserve WAITPIN if needed for WAIT monitoring
>   memory: omap-gpmc: Support WAIT pin edge interrupts
>   memory: omap-gpmc: Prevent GPMC_STATUS from being accessed via
>     gpmc_regs
>   mtd: nand: omap2: Implement NAND ready using gpiolib
>   ARM: dts: dra7: Fix NAND device nodes.
>   ARM: dts: dra7x-evm: Provide NAND ready pin
>   ARM: dts: am437x: Fix NAND device nodes
>   ARM: dts: am437x: Provide NAND ready pin
>   ARM: dts: am335x: Fix NAND device nodes
>   ARM: dts: am335x: Provide NAND ready pin
>   ARM: dts: dm814x: Fix gpmc and NAND node
>   ARM: dts: dm816x: Fix gpmc and NAND node
>   ARM: dts: omap3: Fix gpmc and NAND nodes
> 
>  Documentation/devicetree/bindings/bus/ti-gpmc.txt  | 130 ----
>  .../bindings/memory-controllers/omap-gpmc.txt      | 141 +++++
>  .../devicetree/bindings/mtd/gpmc-nand.txt          |  19 +-
>  arch/arm/boot/dts/am335x-baltos-ir5221.dts         |  10 +-
>  arch/arm/boot/dts/am335x-chilisom.dtsi             |   9 +-
>  arch/arm/boot/dts/am335x-cm-t335.dts               |  10 +-
>  arch/arm/boot/dts/am335x-evm.dts                   |   8 +-
>  arch/arm/boot/dts/am335x-igep0033.dtsi             |   9 +-
>  arch/arm/boot/dts/am335x-phycore-som.dtsi          |   9 +-
>  arch/arm/boot/dts/am33xx.dtsi                      |   4 +
>  arch/arm/boot/dts/am4372.dtsi                      |   4 +
>  arch/arm/boot/dts/am437x-cm-t43.dts                |   7 +-
>  arch/arm/boot/dts/am437x-gp-evm.dts                |   9 +-
>  arch/arm/boot/dts/am43x-epos-evm.dts               |   9 +-
>  arch/arm/boot/dts/dm8148-evm.dts                   |   8 +-
>  arch/arm/boot/dts/dm814x.dtsi                      |   4 +
>  arch/arm/boot/dts/dm8168-evm.dts                   |   8 +-
>  arch/arm/boot/dts/dm816x.dtsi                      |   4 +
>  arch/arm/boot/dts/dra62x-j5eco-evm.dts             |   8 +-
>  arch/arm/boot/dts/dra7-evm.dts                     |   7 +-
>  arch/arm/boot/dts/dra7.dtsi                        |   4 +
>  arch/arm/boot/dts/dra72-evm.dts                    |   7 +-
>  arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts  |   3 +-
>  arch/arm/boot/dts/logicpd-torpedo-som.dtsi         |   8 +-
>  arch/arm/boot/dts/omap3-beagle.dts                 |   5 +-
>  arch/arm/boot/dts/omap3-cm-t3x.dtsi                |   6 +-
>  arch/arm/boot/dts/omap3-devkit8000-common.dtsi     |   4 +
>  arch/arm/boot/dts/omap3-evm-37xx.dts               |   8 +-
>  arch/arm/boot/dts/omap3-gta04.dtsi                 |   4 +
>  arch/arm/boot/dts/omap3-igep.dtsi                  |   6 +-
>  arch/arm/boot/dts/omap3-igep0020-common.dtsi       |   4 +-
>  arch/arm/boot/dts/omap3-igep0030-common.dtsi       |   4 +
>  arch/arm/boot/dts/omap3-ldp.dts                    |  10 +-
>  arch/arm/boot/dts/omap3-lilly-a83x.dtsi            |   6 +-
>  arch/arm/boot/dts/omap3-overo-base.dtsi            |   6 +-
>  arch/arm/boot/dts/omap3-pandora-common.dtsi        |   4 +
>  arch/arm/boot/dts/omap3-tao3530.dtsi               |   6 +-
>  arch/arm/boot/dts/omap3.dtsi                       |   4 +
>  arch/arm/boot/dts/omap3430-sdp.dts                 |   6 +-
>  arch/arm/mach-omap2/gpmc-nand.c                    |   7 +-
>  drivers/memory/Kconfig                             |   1 +
>  drivers/memory/omap-gpmc.c                         | 653 +++++++++++++--------
>  drivers/mtd/nand/omap2.c                           | 193 ++++--
>  include/linux/omap-gpmc.h                          | 177 ++----
>  include/linux/platform_data/gpmc-omap.h            | 167 ++++++
>  include/linux/platform_data/mtd-nand-omap2.h       |  12 +-
>  46 files changed, 1121 insertions(+), 611 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/bus/ti-gpmc.txt
>  create mode 100644 Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt
>  create mode 100644 include/linux/platform_data/gpmc-omap.h
> 

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | linux.kernel


csiph-web