[PATCH v4 0/7] mtd: rawnand: loongson: Add Loongson-2K nand controller support

Keguang Zhang keguang.zhang at gmail.com
Wed Sep 10 22:43:58 PDT 2025


For the whole series:

Reviewed-by: Keguang Zhang <keguang.zhang at gmail.com>
Tested-by: Keguang Zhang <keguang.zhang at gmail.com> # on LS1B & LS1C

On Thu, Sep 4, 2025 at 9:07 PM Binbin Zhou <zhoubinbin at loongson.cn> wrote:
>
> Hi all:
>
> This patchset adds support for the Loongson-2K0500/Loongson-2K1000 NAND
> controllers, which are similar to the Loongson-1C NAND controller.
>
> They support a maximum capacity of 16GB FLASH per chip, with a maximum
> page size of 8KB. The chip supports up to 4 chip selects and 4 RDY signals.
>
> The key difference between the Loongson-2K NAND controllers is that the
> Loongson-2K1000 explicitly configures the DMA controller routing, while
> the Loongson-2K0500 defaults to using APBDMA0.
>
> Summary of the patchset:
> Ptach 1: Rename all prefixes from ls1x to loongson
> Patch 2: Add 6-byte NAND ID reading
> Patch 3: Add chip select support
> Patch 4-5: Add Loongson-2K0500 NAND controller support
> Patch 6-7: Add Loongson-2K1000 NAND controller support
>
> Thanks.
>
> -------
> V4:
> Patch (5/7):
>   - Split the flags variable into dma_bits;
>   - Chip selects set before requesting the DMA channel;
>   - '|' should be last character on the previous line.
> Patch (7/7):
>   - Use devm_platform_ioremap_resource_byname();
>   - Add the dma_config() function pointer to replace the previous flags.
>
> Link to V3:
> https://lore.kernel.org/all/cover.1755757841.git.zhoubinbin@loongson.cn/
>
> V3:
> Patch (1/7):
>   - Merge the first two rename patches;
> Patch (3/7)
>   - Refact chip capacity calculation. Use a big switch-case
>     for writesize, and sort the big switch-case by writesize;
>   - Drop the redundant 'nand_cs = 0x0';
> Patch (6/7)
>   - Add Reviewed-by tag from Rob, thanks.
>
> Link to V2:
> https://lore.kernel.org/all/cover.1754890670.git.zhoubinbin@loongson.cn/
>
> V2:
> Patch (5/8):
>   - Add Acked-by tag from Rob, thanks;
> Patch (7/8):
>   - Update reg-names attribute description.
>
> Link to V1:
> https://lore.kernel.org/all/cover.1753166096.git.zhoubinbin@loongson.cn/
>
> Binbin Zhou (6):
>   mtd: rawnand: loongson1: Rename the prefix from ls1x to loongson
>   mtd: rawnand: loongson: Add nand chip select support
>   dt-bindings: mtd: loongson,ls1b-nand-controller: Document the
>     Loongson-2K0500 NAND controller
>   mtd: rawnand: loongson: Add Loongson-2K0500 NAND controller support
>   dt-bindings: mtd: loongson,ls1b-nand-controller: Document the
>     Loongson-2K1000 NAND controller
>   mtd: rawnand: loongson: Add Loongson-2K1000 NAND controller support
>
> Keguang Zhang (1):
>   mtd: rawnand: loongson: Add 6-byte NAND ID reading support
>
>  .../mtd/loongson,ls1b-nand-controller.yaml    |   56 +-
>  MAINTAINERS                                   |    2 +-
>  drivers/mtd/nand/raw/Kconfig                  |    8 +-
>  drivers/mtd/nand/raw/Makefile                 |    2 +-
>  .../mtd/nand/raw/loongson-nand-controller.c   | 1024 +++++++++++++++++
>  .../mtd/nand/raw/loongson1-nand-controller.c  |  836 --------------
>  6 files changed, 1083 insertions(+), 845 deletions(-)
>  create mode 100644 drivers/mtd/nand/raw/loongson-nand-controller.c
>  delete mode 100644 drivers/mtd/nand/raw/loongson1-nand-controller.c
>
>
> base-commit: c9f62564252c21d739a5003e9b2d6ad0828aa7bd
> --
> 2.47.3
>


-- 
Best regards,

Keguang Zhang



More information about the linux-mtd mailing list