410-mtd-rawnand-add-driver-support-for-MT7621-nand-flash.patch 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. From e84e2430ee0e483842b4ff013ae8a6e7e2fa2734 Mon Sep 17 00:00:00 2001
  2. From: Weijie Gao <[email protected]>
  3. Date: Wed, 1 Apr 2020 02:07:58 +0800
  4. Subject: [PATCH 1/2] mtd: rawnand: add driver support for MT7621 nand
  5. flash controller
  6. This patch adds NAND flash controller driver for MediaTek MT7621 SoC.
  7. The NAND flash controller is similar with controllers described in
  8. mtk_nand.c, except that the controller from MT7621 doesn't support DMA
  9. transmission, and some registers' offset and fields are different.
  10. Signed-off-by: Weijie Gao <[email protected]>
  11. ---
  12. drivers/mtd/nand/raw/Kconfig | 8 +
  13. drivers/mtd/nand/raw/Makefile | 1 +
  14. drivers/mtd/nand/raw/mt7621_nand.c | 1348 ++++++++++++++++++++++++++++++++++++
  15. 3 files changed, 1357 insertions(+)
  16. create mode 100644 drivers/mtd/nand/raw/mt7621_nand.c
  17. --- a/drivers/mtd/nand/raw/Kconfig
  18. +++ b/drivers/mtd/nand/raw/Kconfig
  19. @@ -352,6 +352,14 @@ config MTD_NAND_QCOM
  20. Enables support for NAND flash chips on SoCs containing the EBI2 NAND
  21. controller. This controller is found on IPQ806x SoC.
  22. +config MTD_NAND_MT7621
  23. + tristate "MT7621 NAND controller"
  24. + depends on SOC_MT7621 || COMPILE_TEST
  25. + depends on HAS_IOMEM
  26. + help
  27. + Enables support for NAND controller on MT7621 SoC.
  28. + This driver uses PIO mode for data transmission instead of DMA mode.
  29. +
  30. config MTD_NAND_MTK
  31. tristate "MTK NAND controller"
  32. depends on MTD_NAND_ECC_MEDIATEK
  33. --- a/drivers/mtd/nand/raw/Makefile
  34. +++ b/drivers/mtd/nand/raw/Makefile
  35. @@ -48,6 +48,7 @@ obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_n
  36. obj-$(CONFIG_MTD_NAND_HISI504) += hisi504_nand.o
  37. obj-$(CONFIG_MTD_NAND_BRCMNAND) += brcmnand/
  38. obj-$(CONFIG_MTD_NAND_QCOM) += qcom_nandc.o
  39. +obj-$(CONFIG_MTD_NAND_MT7621) += mt7621_nand.o
  40. obj-$(CONFIG_MTD_NAND_MTK) += mtk_nand.o
  41. obj-$(CONFIG_MTD_NAND_MXIC) += mxic_nand.o
  42. obj-$(CONFIG_MTD_NAND_TEGRA) += tegra_nand.o