SPRUIM2H May 2020 – October 2023 AM2431 , AM2432 , AM2434 , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442
This section gives a generic configuration for parameters related to the NAND memory connected to the GPMC.
Some of the GPMC features described in this section may not be supported on this family of devices. For more information, see GPMC Not Supported Features.
Subprocess Name | Register/Bit Field | Value |
---|---|---|
Set the NAND protocol. | GPMC_CONFIG1_i[11-10] DEVICETYPE | 0x2 |
Set a device size. | GPMC_CONFIG1_i[13-12] DEVICESIZE | x |
Set the address and data multiplexing protocol to non-multiplexed attached device. | GPMC_CONFIG1_i[9] MUXADDDATA | 0x0 |
Select a timing signals latencies factor. | GPMC_CONFIG1_i[4] TIMEPARAGRANULARITY | x |
Set a synchronous or asynchronous mode and a single or multiple access for read and write operations. | See Section 12.3.3.5.5, Set Memory Access. | x |
Subprocess Name | Register/Bit Field | Value |
---|---|---|
Select the chip-select base address. | GPMC_CONFIG7_i[5-0] BASEADDRESS | x |
Select the chip-select minimum granularity (16MB). | GPMC_CONFIG7_i[11-8] MASKADDRESS | x |
Subprocess Name | Register/Bit Field | Value |
---|---|---|
Configure adequate timing parameters in asynchronous modes | See Section 12.3.3.5.6, GPMC Timing Parameters. |
Subprocess Name | Register/Bit Field | Value |
---|---|---|
Select the ECC result register where the first ECC computation is stored (applies only to Hamming). | GPMC_ECC_CONTROL[3-0] ECCPOINTER | x (2) |
Clear all ECC result registers. | GPMC_ECC_CONTROL[8] ECCCLEAR | Write 1 to clear. |
Define ECCSIZE0 and ECCSIZE1. | GPMC_ECC_SIZE_CONFIG[21-12] ECCSIZE0 and [31-22] ECCSIZE1 | x (1) |
Select the size of each of the 9 result registers (size specified by ECCSIZE0 or ECCSIZE1). | GPMC_ECC_SIZE_CONFIG[j-1] ECCjRESULTSIZE where j = 1 to 9 | x |
Select the chip-select where ECC is computed. | GPMC_ECC_CONFIG[3-1] ECCCS | x |
Select the Hamming code or BCH code ECC algorithm in use. | GPMC_ECC_CONFIG[16] ECCALGORITHM | x |
Select word size for ECC calculation. | GPMC_ECC_CONFIG[7] ECC16B | x |
If the BCH code is used, Set an error correction capability and Select a number of sectors to process. | GPMC_ECC_CONFIG[13-12] ECCBCHTSEL and GPMC_ECC_CONFIG[6-4] ECCTOPSECTOR | x |
Enable the ECC computation. | GPMC_ECC_CONFIG[0] ECCENABLE | 0x1 |
Subprocess Name | Register/Bit Field | Value |
---|---|---|
Disable the engine before configuration. | GPMC_PREFETCH_CONTROL[0] STARTENGINE | 0x0 |
Select the chip-select associated with a NAND device where the prefetch engine is active. | GPMC_PREFETCH_CONFIG1[26-24] ENGINECSSELECTOR | x |
Select access direction through prefetch engine, read or write. | GPMC_PREFETCH_CONFIG1[0] ACCESSMODE | x |
Select the threshold used to issue an interrupt request. | GPMC_PREFETCH_CONFIG1[14-8] FIFOTHRESHOLD | x |
Select interrupt synchronization mode. | GPMC_PREFETCH_CONFIG1[2] DMAMODE | x |
Select if the engine immediately starts accessing the memory upon STARTENGINE assertion or if hardware synchronization based on a WAIT signal is used. | GPMC_PREFETCH_CONFIG1[3] SYNCHROMODE | x |
Select which WAIT pin edge detector should start the engine in synchronized mode. | GPMC_PREFETCH_CONFIG1[5-4] WAITPINSELECTOR | x |
Enter a number of clock cycles removed to timing parameters (for all back-to-back accesses to the NAND flash except the first one). | GPMC_PREFETCH_CONFIG1[30-28] CYCLEOPTIMIZATION | x |
Enable the prefetch postwrite engine. | GPMC_PREFETCH_CONFIG1[7] ENABLEENGINE | 0x1 |
Select the number of bytes to be read or written by the engine to the selected chip-select. | GPMC_PREFETCH_CONFIG2[13-0] TRANSFERCOUNT | x |
Start the prefetch engine. | GPMC_PREFETCH_CONTROL[0] STARTENGINE | 0x1 |
Subprocess Name | Register/Bit Field | Value |
---|---|---|
Selects when the engine starts the access to chip-select. | GPMC_PREFETCH_CONFIG1[3] SYNCHROMODE | x |
Select which WAIT pin edge detector should start the engine in synchronized mode. | GPMC_PREFETCH_CONFIG1[5-4] WAITPINSELECTOR | x |
Subprocess Name | Register/Bit Field | Value |
---|---|---|
When all parameters are configured, enable the chip-select. | GPMC_CONFIG7_i[6] CSVALID | x |