[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241206031318.156152-1-hpchen0nvt@gmail.com>
Date: Fri, 6 Dec 2024 03:13:16 +0000
From: Hui-Ping Chen <hpchen0nvt@...il.com>
To: miquel.raynal@...tlin.com,
richard@....at,
vigneshr@...com,
robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
nikita.shubin@...uefel.me,
arnd@...db.de,
vkoul@...nel.org,
esben@...nix.com
Cc: linux-arm-kernel@...ts.infradead.org,
linux-mtd@...ts.infradead.org,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Hui-Ping Chen <hpchen0nvt@...il.com>
Subject: [PATCH v11 0/2] Add support for nuvoton ma35 nand controller
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.
v11:
- Update ma35d1 mtd nand driver
- Fix warnings and checks use --strict.
v10:
- Update ma35d1 mtd nand driver
- Add unsupported write page handling.
v9:
- Update ma35d1 mtd nand driver
- Remove NAND_NO_SUBPAGE_WRITE flag.
- Remove of_get_property().
- Add ecc.write_subpage and ecc.read_subpage.
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 | 1029 +++++++++++++++++
4 files changed, 1133 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
Powered by blists - more mailing lists