[PATCH v3 00/10] mtd: rawnand: brcmnand: driver and doc updates
From: David Regan
Date: Tue Jan 23 2024 - 22:05:45 EST
This patch series is an update from the previous version [1] after
exex_op support and fixes (patch 1 to 4 from the previous version.)
It updates all the BCMBCA SoC to support the nand controller and add
functions to handle BCMBCA specific needs on ECC and Write Protection
usage. The device tree document is also updated accordingly with the new
properties needed by the driver.
In addition there is a bug fix for exec_op helper functions and on-die ECC.
[1] https://lore.kernel.org/lkml/20230606231252.94838-1-william.zhang@xxxxxxxxxxxx/
Changes in v3:
- Update brcm,nand-use-wp description
- Revert the description change to BCM63168 SoC-specific NAND controller
- Updated bcmbca_read_data_bus comment
Changes in v2:
- Revert the new compatible string nand-bcmbca
- Drop the BCM63168 compatible fix to avoid any potential ABI
Incompatibility issue
- Simplify the explanation for brcm,nand-use-wp
- Keep the interrupt name requirement when interrupt number is specified
- Add nand controller node label for 4908 so it is consistent with other
SoC's and can be referenced by board dts file
- Drop the is_param argument to the read data bus function now that we
have the exec_op API to read the parameter page and ONFI data
- Minor cosmetic fixes
- Added patches 8, 9, 10 to patch series
William Zhang (7):
dt-bindings: mtd: brcmnand: Updates for bcmbca SoCs
ARM: dts: broadcom: bcmbca: Add NAND controller node
arm64: dts: broadcom: bcmbca: Add NAND controller node
mtd: rawnand: brcmnand: Rename bcm63138 nand driver
mtd: rawnand: brcmnand: Add BCMBCA read data bus interface
mtd: rawnand: brcmnand: Add support for getting ecc setting from strap
mtd: rawnand: brcmnand: Support write protection setting from dts
David Regan (3):
mtd: rawnand: brcmnand: exec_op helper functions return type fixes
mtd: rawnand: brcmnand: update log level messages
mtd: rawnand: brcmnand: allow for on-die ecc
.../bindings/mtd/brcm,brcmnand.yaml | 37 ++++-
arch/arm/boot/dts/broadcom/bcm47622.dtsi | 17 ++
arch/arm/boot/dts/broadcom/bcm63138.dtsi | 10 +-
arch/arm/boot/dts/broadcom/bcm63148.dtsi | 17 ++
arch/arm/boot/dts/broadcom/bcm63178.dtsi | 17 ++
arch/arm/boot/dts/broadcom/bcm6756.dtsi | 17 ++
arch/arm/boot/dts/broadcom/bcm6846.dtsi | 17 ++
arch/arm/boot/dts/broadcom/bcm6855.dtsi | 17 ++
arch/arm/boot/dts/broadcom/bcm6878.dtsi | 17 ++
arch/arm/boot/dts/broadcom/bcm947622.dts | 4 +
arch/arm/boot/dts/broadcom/bcm963138.dts | 4 +
arch/arm/boot/dts/broadcom/bcm963138dvt.dts | 12 +-
arch/arm/boot/dts/broadcom/bcm963148.dts | 4 +
arch/arm/boot/dts/broadcom/bcm963178.dts | 4 +
arch/arm/boot/dts/broadcom/bcm96756.dts | 4 +
arch/arm/boot/dts/broadcom/bcm96846.dts | 4 +
arch/arm/boot/dts/broadcom/bcm96855.dts | 4 +
arch/arm/boot/dts/broadcom/bcm96878.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm4908.dtsi | 5 +-
.../boot/dts/broadcom/bcmbca/bcm4912.dtsi | 17 ++
.../boot/dts/broadcom/bcmbca/bcm63146.dtsi | 17 ++
.../boot/dts/broadcom/bcmbca/bcm63158.dtsi | 17 ++
.../boot/dts/broadcom/bcmbca/bcm6813.dtsi | 17 ++
.../boot/dts/broadcom/bcmbca/bcm6856.dtsi | 17 ++
.../boot/dts/broadcom/bcmbca/bcm6858.dtsi | 17 ++
.../boot/dts/broadcom/bcmbca/bcm94912.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm963146.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm963158.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm96813.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm96856.dts | 4 +
.../boot/dts/broadcom/bcmbca/bcm96858.dts | 4 +
drivers/mtd/nand/raw/brcmnand/Makefile | 2 +-
drivers/mtd/nand/raw/brcmnand/bcm63138_nand.c | 99 ------------
drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c | 126 +++++++++++++++
drivers/mtd/nand/raw/brcmnand/brcmnand.c | 146 +++++++++++++++---
drivers/mtd/nand/raw/brcmnand/brcmnand.h | 2 +
36 files changed, 578 insertions(+), 138 deletions(-)
delete mode 100644 drivers/mtd/nand/raw/brcmnand/bcm63138_nand.c
create mode 100644 drivers/mtd/nand/raw/brcmnand/bcmbca_nand.c
--
2.37.3