1 Scope of Document
This document describes NAND FLASH hardware design, support nand boot mode.
2 Requiremen
2.1 Function Requirement
Use S34ML02G2 in am335x, Support Nand Boot,user space support ubifs on nand flash
2.2 Performance Requirement
Support 256M capacity Nand Flash
3 Hardware Overview
nand interface,pin map:
AM335X_GPMC_AD0
AM335X_GPMC_AD1
AM335X_GPMC_AD2
AM335X_GPMC_AD3
AM335X_GPMC_AD4
AM335X_GPMC_AD5
AM335X_GPMC_AD6
AM335X_GPMC_AD7
AM335X_GPMC_BE0n_CLE
AM335X_GPMC_ADVn_ALE
AM335X_GPMC_OEn_Ren
AM335X_GPMC_Wen
AM335X_GPMC_CS0n
AM335X_GPMC_WAIT
AM335X_GPMC_WPn
Figure 1 nand interface block diagram
4 Functional Description
4.1 Functional Block Diagram
Figure 2 inter block diagram
4.2 NAND
4.2.1 Overview
Density
– 2 Gbit
Architecture
– Input / Output Bus Width: 8-bits
– Page Size:
– 2 Gbit: (2048 + 128) bytes; 128-byte spare area
– Block Size:
– 2 Gbit: 64 Pages or (128k + 8k) bytes
– Plane Size
– 2 Gbit: 1024 Blocks per Plane or (128M + 8M) bytes
– Device Size
– 2 Gbit: 2 Planes per Device or 256 Mbyte
NAND Flash Interface
– Open NAND Flash Interface (ONFI) 1.0 compliant
– Address, Data, and Commands multiplexed
4.2.2 Array Organization
4.2.3 Operation Mode
Command Latch
Address Latch
Page Read
Page Program
Multiplane Page Program
Block Erase
Multiplane Block Erase
5 Porting
5.1 Uboot porting
Index: u-boot-2018.01/configs/am335x_evm_defconfig
===================================================================
--- u-boot-2018.01/configs/am335x_evm_defconfig (revision 13)
+++ u-boot-2018.01/configs/am335x_evm_defconfig (revision 14)
@@ -41,7 +41,7 @@
CONFIG_MISC=y
CONFIG_DM_MMC=y
# CONFIG_MMC_HW_PARTITIONING is not set
-CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_OMAP_HS is not set
CONFIG_NAND=y
CONFIG_SPI_FLASH=y
CONFIG_SPI_FLASH_WINBOND=y
Index: u-boot-2018.01/env/Kconfig
===================================================================
--- u-boot-2018.01/env/Kconfig (revision 13)
+++ u-boot-2018.01/env/Kconfig (revision 14)
@@ -22,7 +22,7 @@
default ENV_IS_IN_SPI_FLASH if INTEL_QUARK
default ENV_IS_IN_SPI_FLASH if INTEL_QUEENSBAY
default ENV_IS_IN_FAT if ARCH_BCM283X
- default ENV_IS_IN_FAT if