[PATCH 00/15] mtd: nand: atmel: import Linux NAND controller driver

Sascha Hauer sha at pengutronix.de
Thu Jan 12 06:22:45 PST 2023


On Wed, Jan 11, 2023 at 06:40:08PM +0100, Ahmad Fatoum wrote:
> For a few years, Linux has been using the new EBI bindings for NAND
> controllers on all AT91 SoCs newer than the AT91RM2000. We have so far
> only supported the old bindings by hacking the DT, but this doesn't
> suffice for the SAMA5D4. Therefore import a new state of the Linux NAND
> controller driver. We still keep around the old barebox driver to
> support the non-DT enabled AT91 platforms.
> 
> Ahmad Fatoum (15):
>   asm-generic: io.h: sync with Linux
>   mtd: nand: base: implement nand_gpio_waitrdy
>   mtd: nand: prefix enum nand_ecc_algo constants with NAND_ECC_ALGO_
>   mtd: nand: rename nand_device::eccreq to Linux' ecc.requirements
>   mtd: nand: define nand_get_(small|large)_page_ooblayout
>   mtd: nand: define nand_interface_is_sdr
>   mtd: nand: provide Linux' struct nand_ecc_ctrl::engine_type
>   driver: implement dev_request_resource
>   lib: provide stub Linux "generic" allocator API
>   memory: add Atmel EBI driver
>   mfd: add atmel-smc driver
>   mtd: nand: atmel: import Linux NAND controller driver
>   ARM: AT91: sama5d3_xplained: switch to upstream binding
>   mtd: nand: drop DT support in legacy driver
>   ARM: AT91: sama5d3: always read memory size from controller

Applied, thanks

Sascha

> 
>  arch/arm/dts/at91-microchip-ksz9477-evb.dts   |    4 -
>  arch/arm/dts/at91-sama5d3_xplained.dts        |   29 -
>  arch/arm/dts/sama5d3.dtsi                     |   17 +-
>  drivers/base/driver.c                         |   19 +-
>  drivers/memory/Kconfig                        |   14 +
>  drivers/memory/Makefile                       |    1 +
>  drivers/memory/atmel-ebi.c                    |  614 +++++
>  drivers/mfd/Kconfig                           |    4 +
>  drivers/mfd/Makefile                          |    1 +
>  drivers/mfd/atmel-smc.c                       |  352 +++
>  drivers/mtd/nand/Kconfig                      |   11 +-
>  drivers/mtd/nand/Makefile                     |    2 +-
>  drivers/mtd/nand/atmel/Makefile               |    3 +
>  drivers/mtd/nand/{ => atmel}/atmel_nand_ecc.h |    0
>  .../mtd/nand/{atmel_nand.c => atmel/legacy.c} |  106 +-
>  drivers/mtd/nand/atmel/nand-controller.c      | 2049 +++++++++++++++++
>  drivers/mtd/nand/atmel/pmecc.c                |  992 ++++++++
>  drivers/mtd/nand/atmel/pmecc.h                |   70 +
>  drivers/mtd/nand/nand_base.c                  |   86 +-
>  drivers/mtd/nand/nand_esmt.c                  |   10 +-
>  drivers/mtd/nand/nand_fsl_ifc.c               |    2 +-
>  drivers/mtd/nand/nand_hynix.c                 |   40 +-
>  drivers/mtd/nand/nand_jedec.c                 |    4 +-
>  drivers/mtd/nand/nand_micron.c                |   16 +-
>  drivers/mtd/nand/nand_onfi.c                  |    8 +-
>  drivers/mtd/nand/nand_samsung.c               |   18 +-
>  drivers/mtd/nand/nand_toshiba.c               |   12 +-
>  include/asm-generic/io.h                      |  401 +++-
>  include/driver.h                              |    5 +
>  include/linux/genalloc.h                      |   36 +
>  include/linux/mfd/syscon/atmel-matrix.h       |  112 +
>  include/linux/mfd/syscon/atmel-smc.h          |  119 +
>  include/linux/mtd/nand.h                      |   27 +-
>  include/linux/mtd/rawnand.h                   |   43 +-
>  include/linux/mutex.h                         |    2 +
>  include/soc/at91/atmel-sfr.h                  |    2 +
>  lib/Kconfig                                   |    5 +
>  lib/Makefile                                  |    1 +
>  lib/genalloc.c                                |  118 +
>  39 files changed, 5074 insertions(+), 281 deletions(-)
>  create mode 100644 drivers/memory/atmel-ebi.c
>  create mode 100644 drivers/mfd/atmel-smc.c
>  create mode 100644 drivers/mtd/nand/atmel/Makefile
>  rename drivers/mtd/nand/{ => atmel}/atmel_nand_ecc.h (100%)
>  rename drivers/mtd/nand/{atmel_nand.c => atmel/legacy.c} (92%)
>  create mode 100644 drivers/mtd/nand/atmel/nand-controller.c
>  create mode 100644 drivers/mtd/nand/atmel/pmecc.c
>  create mode 100644 drivers/mtd/nand/atmel/pmecc.h
>  create mode 100644 include/linux/genalloc.h
>  create mode 100644 include/linux/mfd/syscon/atmel-matrix.h
>  create mode 100644 include/linux/mfd/syscon/atmel-smc.h
>  create mode 100644 lib/genalloc.c
> 
> -- 
> 2.30.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list