[PATCH v8 0/2] Add support for nuvoton ma35 nand controller
From: Hui-Ping Chen
Date: Wed Oct 23 2024 - 05:26:33 EST
This patch series adds the mtd nand driver for the nuvoton ma35 ARMv8 SoC.
It includes DT binding documentation and the ma35 mtd nand driver.
v8:
- Update ma35d1 mtd nand driver
- Rename to nuvoton-ma35d1-nand-controller.c.
- Use switch case instead of if else.
- Move some parameters to be set during initialization.
- Fix the ecc.read_page return value issue.
- Add enable/disable ECC engine before and after reading/writing the page.
- Return IRQ_NONE if (isr & INT_DMA) == 0.
- Move the HW ECC related settings to ON_HOST.
- Move hw_init() to probe.
v7:
- Update nuvoton,ma35d1-nand.yaml
- Remove required 'nand-ecc-step-size' and 'nand-ecc-strength'.
- Add 'reg' for chip select.
- Update ma35d1 mtd nand driver
- Update space and comments style.
- Add chip select setting from DT.
- Add switch case which supports various ECC configurations.
- Set reset before NAND controller enable.
v6:
- Update ma35d1 mtd nand driver
- Remove extra blank lines and add comments.
v5:
- Update ma35d1 mtd nand driver
- Remove unnecessary definitions and comments.
- Modified DMA API call sequence.
- Move the ECC check out of the interrupt handler.
Check it after reading a page.
v4:
- Update nuvoton,ma35d1-nand.yaml
- rename 'nuvoton,ma35d1-nand' to 'nuvoton,ma35d1-nand-controller'.
- Update ma35d1 mtd nand driver
- Rewrite the NAND driver using the exec_op API.
v3:
- Update ma35d1 mtd nand driver
- Release IRQ handler.
- Remove unused functions.
- Remove '.owner'.
v2:
- Update nuvoton,ma35d1-nand.yaml
- Adjust the order and remove any unnecessary items.
- Add 'nand-ecc-step-size' and 'nand-ecc-strength' to the required list.
- Update ma35d1 mtd nand driver
- Fix coding style.
- Use 'devm_clk_get' instead of 'of_clk_get'.
- Use 'dev_err_probe' instead of 'dev_err'.
- Remove 'pr_info' and 'of_match_ptr'.
- Remove 'module_init' and 'module_exit'.
Hui-Ping Chen (2):
dt-bindings: mtd: nuvoton,ma35d1-nand: add new bindings
mtd: rawnand: nuvoton: add new driver for the Nuvoton MA35 SoC
.../bindings/mtd/nuvoton,ma35d1-nand.yaml | 95 ++
drivers/mtd/nand/raw/Kconfig | 8 +
drivers/mtd/nand/raw/Makefile | 1 +
.../nand/raw/nuvoton-ma35d1-nand-controller.c | 932 ++++++++++++++++++
4 files changed, 1036 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mtd/nuvoton,ma35d1-nand.yaml
create mode 100644 drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c
--
2.25.1