.../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 | 1032 +++++++++++++++++ 4 files changed, 1136 insertions(+) create mode 100644 Documentation/devicetree/bindings/mtd/nuvoton,ma35d1-nand.yaml create mode 100644 drivers/mtd/nand/raw/nuvoton-ma35d1-nand-controller.c
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.
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 | 1032 +++++++++++++++++
4 files changed, 1136 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
Hi,
On 04/12/2024 at 02:51:27 GMT, Hui-Ping Chen <hpchen0nvt@gmail.com> wrote:
> 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.
>
> v10:
> - Update ma35d1 mtd nand driver
> - Add unsupported write page handling.
I was about to apply it but...
[31m●[0m checkpatch.pl: 117: WARNING: please write a help paragraph that fully describes the config symbol
[31m●[0m checkpatch.pl: 141: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
[31m●[0m checkpatch.pl: 348: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 352: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 352: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 429: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 465: CHECK: spaces preferred around that '*' (ctx:VxV)
[31m●[0m checkpatch.pl: 465: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 466: CHECK: spaces preferred around that '*' (ctx:VxV)
[31m●[0m checkpatch.pl: 466: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 467: CHECK: spaces preferred around that '*' (ctx:VxV)
[31m●[0m checkpatch.pl: 467: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 468: CHECK: spaces preferred around that '*' (ctx:VxV)
[31m●[0m checkpatch.pl: 468: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 479: CHECK: spaces preferred around that '*' (ctx:VxV)
[31m●[0m checkpatch.pl: 479: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 481: CHECK: spaces preferred around that '*' (ctx:VxV)
[31m●[0m checkpatch.pl: 481: CHECK: spaces preferred around that '+' (ctx:VxV)
[31m●[0m checkpatch.pl: 514: CHECK: Unbalanced braces around else statement
[31m●[0m checkpatch.pl: 611: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 650: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 665: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 675: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 689: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 699: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 715: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 756: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 805: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 935: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 950: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 953: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 975: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 1001: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 1018: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 1131: CHECK: Alignment should match open parenthesis
[31m●[0m checkpatch.pl: 1159: WARNING: DT compatible string "nuvoton,ma35d1-nand" appears un-documented -- check ./Documentation/devicetree/bindings/
Please fix these warnings and checks.
You might want to use --strict by default.
Thanks,
Miquèl
Dear Miquel, Thank you for your reply. On 2024/12/5 下午 06:26, Miquel Raynal wrote: > Hi, > > On 04/12/2024 at 02:51:27 GMT, Hui-Ping Chen <hpchen0nvt@gmail.com> wrote: > >> 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. >> >> v10: >> - Update ma35d1 mtd nand driver >> - Add unsupported write page handling. > I was about to apply it but... > > [31m●[0m checkpatch.pl: 117: WARNING: please write a help paragraph that fully describes the config symbol > [31m●[0m checkpatch.pl: 141: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? > [31m●[0m checkpatch.pl: 348: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 352: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 352: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 429: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 465: CHECK: spaces preferred around that '*' (ctx:VxV) > [31m●[0m checkpatch.pl: 465: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 466: CHECK: spaces preferred around that '*' (ctx:VxV) > [31m●[0m checkpatch.pl: 466: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 467: CHECK: spaces preferred around that '*' (ctx:VxV) > [31m●[0m checkpatch.pl: 467: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 468: CHECK: spaces preferred around that '*' (ctx:VxV) > [31m●[0m checkpatch.pl: 468: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 479: CHECK: spaces preferred around that '*' (ctx:VxV) > [31m●[0m checkpatch.pl: 479: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 481: CHECK: spaces preferred around that '*' (ctx:VxV) > [31m●[0m checkpatch.pl: 481: CHECK: spaces preferred around that '+' (ctx:VxV) > [31m●[0m checkpatch.pl: 514: CHECK: Unbalanced braces around else statement > [31m●[0m checkpatch.pl: 611: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 650: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 665: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 675: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 689: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 699: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 715: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 756: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 805: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 935: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 950: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 953: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 975: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 1001: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 1018: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 1131: CHECK: Alignment should match open parenthesis > [31m●[0m checkpatch.pl: 1159: WARNING: DT compatible string "nuvoton,ma35d1-nand" appears un-documented -- check ./Documentation/devicetree/bindings/ > > Please fix these warnings and checks. > > You might want to use --strict by default. I will fix it. > > Thanks, > Miquèl Best regards, Hui-Ping Chen
© 2016 - 2025 Red Hat, Inc.