Skip to content

mtd: nand: add Broadcom NAND controller support

Brian Norris linux-devicetree linux-mtd lkml 4 versions – Applied

Status from this message: Applied patches 4, 9 and 10 to devicetree/next, the others should go via

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest11 patches 10 repliesApplied
  2. v310 patches 24 repliesSuperseded
  3. v24 patches 1 replySuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v13 patches26 repliesSuperseded

Changes in v4 from the cover letter

* move to brcmnand/ subdirectory
* add MAINTAINERS entry
* fixup endianness issues (only use __raw_xxx on MIPS BE)
* split core NAND support into library, with tiny platform drivers for STB (BCM7xxx), iProc, and BCM63138
* restructure DT binding, so all SoC extras become part of main controller node

Patches in v4 Applied

#Subject and filesSizeRepliesApplied
1/11Documentation: devicetree: add binding doc for Broadcom NAND controllerDocumentation/devicetree/bindings/mtd/brcm,brcmnand.txt+110 -00 replies
2/11mtd: nand: add NAND driver "library" for Broadcom STB NAND controllerdrivers/mtd/nand/Kconfig drivers/mtd/nand/Makefile drivers/mtd/nand/brcmnand/Makefile +2 more+2263 -00 replies
3/11mtd: brcmnand: add support for STB chipsdrivers/mtd/nand/brcmnand/Makefile drivers/mtd/nand/brcmnand/brcmstb_nand.c+45 -00 replies
4/11ARM: bcm7445: add NAND to DTSarch/arm/boot/dts/bcm7445-bcm97445svmb.dts arch/arm/boot/dts/bcm7445.dtsi+45 -00 replies
5/11Documentation: devicetree: brcmstb_nand: add BCM63138 and Cygnus/iProcDocumentation/devicetree/bindings/mtd/brcm,brcmnand.txt+44 -40 replies
6/11mtd: brcmnand: add extra SoC support to librarydrivers/mtd/nand/brcmnand/brcmnand.c drivers/mtd/nand/brcmnand/brcmnand.h+71 -50 replies
7/11mtd: brcmnand: add support for Broadcom's IPROC familydrivers/mtd/nand/brcmnand/Makefile drivers/mtd/nand/brcmnand/iproc_nand.c+153 -00 replies
8/11mtd: brcmnand: add BCM63138 supportdrivers/mtd/nand/brcmnand/Makefile drivers/mtd/nand/brcmnand/bcm63138_nand.c+112 -05 replies
9/11ARM: bcm63138: add NAND DT supportarch/arm/boot/dts/bcm63138.dtsi arch/arm/boot/dts/bcm963138dvt.dts+23 -00 replies
10/11ARM: dts: cygnus: Enable NAND support for Cygnusarch/arm/boot/dts/bcm-cygnus.dtsi arch/arm/boot/dts/bcm958300k.dts+28 -00 replies
11/11MAINTAINERS: add entry for new brcmnand/ directoryMAINTAINERS+6 -00 replies

Reviews trailers per patch

7 of 11 patches have a Reviewed-by or Acked-by.

PatchFlorian Fainelli
1/11R-b
2/11R-b T-b
3/11
4/11R-b
5/11R-b
6/11R-b T-b
7/11
8/11R-b T-b
9/11R-b T-b
10/11
11/11

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 00/11] mtd: nand: add Broadcom NAND controller support

Hi,

This is the fourth (and final?) version of support for the Broadcom BCM7xxx Set-Top Box NAND controller. This controller has been used in a variety of Broadcom SoCs.

Tested to work on Cygnus, BCM7445, and BCM63138.

Summary changelog:

v1 -> v2:
* add NAND to DTS for BCM7445 / BCM97445SVMB
* rename DT binding file to have 'brcm,' prefix
* catch DMA mapping errors
* fixup timeout / error messages (hex, remove misleading info)
* MODULE_LICENSE("GPL v2")
* fix incorrect comments
* print why we fail, when checking for supported controller revisions
* disable prefetch when using Flash DMA (see FIXME); will re-enable once we get a good erased-page verification scheme merged

v2 -> v3:
* rebase to v4.1-rc1
* add SoC-specific infrastructure, to help support other SoCs:
- add BCM63138 support
- add iProc/Cygnus support
* disable prefetch on v6.1

v3 -> v4:
* move to brcmnand/ subdirectory
* add MAINTAINERS entry
* fixup endianness issues (only use __raw_xxx on MIPS BE)
* split core NAND support into library, with tiny platform drivers for STB (BCM7xxx), iProc, and BCM63138
* restructure DT binding, so all SoC extras become part of main controller node

Brian Norris (10):
Documentation: devicetree: add binding doc for Broadcom NAND
controller
mtd: nand: add NAND driver "library" for Broadcom STB NAND controller
mtd: brcmnand: add support for STB chips
ARM: bcm7445: add NAND to DTS
Documentation: devicetree: brcmstb_nand: add BCM63138 and Cygnus/iProc
mtd: brcmnand: add extra SoC support to library
mtd: brcmnand: add support for Broadcom's IPROC family
mtd: brcmnand: add BCM63138 support
ARM: bcm63138: add NAND DT support
MAINTAINERS: add entry for new brcmnand/ directory

Ray Jui (1):
ARM: dts: cygnus: Enable NAND support for Cygnus

 .../devicetree/bindings/mtd/brcm,brcmnand.txt      |  150 ++
 MAINTAINERS                                        |    6 +
 arch/arm/boot/dts/bcm-cygnus.dtsi                  |   12 +
 arch/arm/boot/dts/bcm63138.dtsi                    |   11 +
 arch/arm/boot/dts/bcm7445-bcm97445svmb.dts         |   23 +
 arch/arm/boot/dts/bcm7445.dtsi                     |   22 +
 arch/arm/boot/dts/bcm958300k.dts                   |   16 +
 arch/arm/boot/dts/bcm963138dvt.dts                 |   12 +
 drivers/mtd/nand/Kconfig                           |    8 +
 drivers/mtd/nand/Makefile                          |    1 +
 drivers/mtd/nand/brcmnand/Makefile                 |    6 +
 drivers/mtd/nand/brcmnand/bcm63138_nand.c          |  111 +
 drivers/mtd/nand/brcmnand/brcmnand.c               | 2246 ++++++++++++++++++++
 drivers/mtd/nand/brcmnand/brcmnand.h               |   73 +
 drivers/mtd/nand/brcmnand/brcmstb_nand.c           |   44 +
 drivers/mtd/nand/brcmnand/iproc_nand.c             |  150 ++
 16 files changed, 2891 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mtd/brcm,brcmnand.txt
 create mode 100644 drivers/mtd/nand/brcmnand/Makefile
 create mode 100644 drivers/mtd/nand/brcmnand/bcm63138_nand.c
 create mode 100644 drivers/mtd/nand/brcmnand/brcmnand.c
 create mode 100644 drivers/mtd/nand/brcmnand/brcmnand.h
 create mode 100644 drivers/mtd/nand/brcmnand/brcmstb_nand.c
 create mode 100644 drivers/mtd/nand/brcmnand/iproc_nand.c
Signature · 1 line
1.9.1