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
					
				| 
						 | 
					@ -333,6 +333,22 @@ config CORTINA_NAND
 | 
				
			||||||
	  The controller supports a maximum 8k page size and supports
 | 
						  The controller supports a maximum 8k page size and supports
 | 
				
			||||||
	  a maximum 40-bit error correction per sector of 1024 bytes.
 | 
						  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"
 | 
					comment "Generic NAND options"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config SYS_NAND_BLOCK_SIZE
 | 
					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_ZYNQ) += zynq_nand.o
 | 
				
			||||||
obj-$(CONFIG_NAND_STM32_FMC2) += stm32_fmc2_nand.o
 | 
					obj-$(CONFIG_NAND_STM32_FMC2) += stm32_fmc2_nand.o
 | 
				
			||||||
obj-$(CONFIG_CORTINA_NAND) += cortina_nand.o
 | 
					obj-$(CONFIG_CORTINA_NAND) += cortina_nand.o
 | 
				
			||||||
 | 
					obj-$(CONFIG_ROCKCHIP_NAND) += rockchip_nfc.o
 | 
				
			||||||
 | 
					
 | 
				
			||||||
else  # minimal SPL drivers
 | 
					else  # minimal SPL drivers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue