mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-18 21:21:37 +00:00
mtd: nand: NFC drivers for RK3308, RK2928 and others
This driver supports Rockchip NFC (NAND Flash Controller) found on RK3308, RK2928, RKPX30, RV1108 and other SOCs. The driver has been tested using 8-bit NAND interface on the ARM based RK3308 platform. Support Rockchip SoCs and NFC versions: - PX30 and RK3326(NFCv900). ECC: 16/40/60/70 bits/1KB. CLOCK: ahb and nfc. - RK3308 and RV1108(NFCv800). ECC: 16 bits/1KB. CLOCK: ahb and nfc. - RK3036 and RK3128(NFCv622). ECC: 16/24/40/60 bits/1KB. CLOCK: ahb and nfc. - RK3066, RK3188 and RK2928(NFCv600). ECC: 16/24/40/60 bits/1KB. CLOCK: ahb. Supported features: - Read full page data by DMA. - Support HW ECC(one step is 1KB). - Support 2 - 32K page size. - Support 8 CS(depend on SoCs) Limitations: - No support for the ecc step size is 512. - Untested on some SoCs. - No support for subpages. - No support for the builtin randomizer. - The original bad block mask is not supported. It is recommended to use the BBT(bad block table). Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
parent
7da079d54d
commit
b12dc5d6fa
3 changed files with 1270 additions and 0 deletions
|
@ -333,6 +333,22 @@ config CORTINA_NAND
|
|||
The controller supports a maximum 8k page size and supports
|
||||
a maximum 40-bit error correction per sector of 1024 bytes.
|
||||
|
||||
config ROCKCHIP_NAND
|
||||
bool "Support for NAND controller on Rockchip SoCs"
|
||||
depends on ARCH_ROCKCHIP
|
||||
select SYS_NAND_SELF_INIT
|
||||
select DM_MTD
|
||||
imply CMD_NAND
|
||||
help
|
||||
Enables support for NAND Flash chips on Rockchip SoCs platform.
|
||||
This controller is found on Rockchip SoCs.
|
||||
There are four different versions of NAND FLASH Controllers,
|
||||
including:
|
||||
NFC v600: RK2928, RK3066, RK3188
|
||||
NFC v622: RK3036, RK3128
|
||||
NFC v800: RK3308, RV1108
|
||||
NFC v900: PX30, RK3326
|
||||
|
||||
comment "Generic NAND options"
|
||||
|
||||
config SYS_NAND_BLOCK_SIZE
|
||||
|
|
|
@ -70,6 +70,7 @@ obj-$(CONFIG_NAND_SUNXI) += sunxi_nand.o
|
|||
obj-$(CONFIG_NAND_ZYNQ) += zynq_nand.o
|
||||
obj-$(CONFIG_NAND_STM32_FMC2) += stm32_fmc2_nand.o
|
||||
obj-$(CONFIG_CORTINA_NAND) += cortina_nand.o
|
||||
obj-$(CONFIG_ROCKCHIP_NAND) += rockchip_nfc.o
|
||||
|
||||
else # minimal SPL drivers
|
||||
|
||||
|
|
1253
drivers/mtd/nand/raw/rockchip_nfc.c
Normal file
1253
drivers/mtd/nand/raw/rockchip_nfc.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue