mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-17 02:08:38 +00:00
nand: atmel: Add DM based NAND driver
This implementation is ported from the rework done by Boris Brezillon in Linux. This porting is done based on linux-5.4-at91. The driver is tested in sam9x60ek, sama5d3_xplained, sam9x75eb and sama7g54-ddr3-eb. Changes done includes - Adapt GPIO descriptor apis for U-Boot. Use gpio_request_by_name_nodev, dm_gpio_get_value etc. - Use U_BOOT_DRIVER instead of platform_driver. - Replace struct platform_device with struct udevice - Check the status of nfc exec operation by polling the status register instead of interrupt based handling - DMA operations not supported. Remove it - Adapt DT parsing to U-Boot APIs Signed-off-by: Balamanikandan Gunasundar <balamanikandan.gunasundar@microchip.com>
This commit is contained in:
parent
d2ad92927e
commit
6a8dfd5722
4 changed files with 2299 additions and 0 deletions
|
@ -45,6 +45,14 @@ config SYS_NAND_NO_SUBPAGE_WRITE
|
|||
bool "Disable subpage write support"
|
||||
depends on NAND_ARASAN || NAND_DAVINCI || NAND_KIRKWOOD
|
||||
|
||||
config DM_NAND_ATMEL
|
||||
bool "Support Atmel NAND controller with DM support"
|
||||
select SYS_NAND_SELF_INIT
|
||||
imply SYS_NAND_USE_FLASH_BBT
|
||||
help
|
||||
Enable this driver for NAND flash platforms using an Atmel NAND
|
||||
controller.
|
||||
|
||||
config NAND_ATMEL
|
||||
bool "Support Atmel NAND controller"
|
||||
select SYS_NAND_SELF_INIT
|
||||
|
|
|
@ -48,6 +48,7 @@ ifdef NORMAL_DRIVERS
|
|||
obj-$(CONFIG_NAND_ECC_BCH) += nand_bch.o
|
||||
|
||||
obj-$(CONFIG_NAND_ATMEL) += atmel_nand.o
|
||||
obj-$(CONFIG_DM_NAND_ATMEL) += atmel/
|
||||
obj-$(CONFIG_NAND_ARASAN) += arasan_nfc.o
|
||||
obj-$(CONFIG_NAND_BRCMNAND) += brcmnand/
|
||||
obj-$(CONFIG_NAND_DAVINCI) += davinci_nand.o
|
||||
|
|
4
drivers/mtd/nand/raw/atmel/Makefile
Normal file
4
drivers/mtd/nand/raw/atmel/Makefile
Normal file
|
@ -0,0 +1,4 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
obj-$(CONFIG_DM_NAND_ATMEL) += atmel-nand-controller.o
|
||||
|
||||
atmel-nand-controller-objs := nand-controller.o
|
2286
drivers/mtd/nand/raw/atmel/nand-controller.c
Normal file
2286
drivers/mtd/nand/raw/atmel/nand-controller.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue