A10/NFC
From linux-sunxi
Contents |
NAND Flash Controller
Overview
NFC Registers
Timer Base address: 0x01c03000
| Register Name | Offset | Size | Description |
|---|---|---|---|
| NFC_CTL | 0x0000 | 4 B | NFC control interface |
| NFC_ST | 0x0004 | 4 B | NFC ST |
| NFC_INT | 0x0008 | 4 B | NFC INT |
| NFC_TIMING_CTL | 0x000c | 4 B | NFC timing control interface |
| NFC_CTL | 0x0010 | 4 B | NFC timing configuration |
| NFC_ADDR_LOW | 0x0014 | 4 B | NFC low byte of address |
| NFC_ADDR_HIGH | 0x0018 | 4 B | NFC high byte of address |
| NFC_SECTOR_NUM | 0x001c | 4 B | NFC sector number |
| NFC_CNT | 0x0020 | 4 B | NFC count |
| NFC_CMD | 0x0024 | 4 B | NFC command |
| NFC_READ_CMD_SET | 0x0028 | 4 B | NFC set read command |
| NFC_WRITE_CMD_SET | 0x002c | 4 B | NFC set write command |
| NFC_IO_DATA | 0x0030 | 4 B | NFC I/O data |
| NFC_ECC_CTL | 0x0034 | 4 B | NFC ECC control |
| NFC_ECC_ST | 0x0038 | 4 B | NFC ECC ST |
| NFC_DEBUG | 0x003c | 4 B | NFC debug |
| NFC_ECC_CNT0 | 0x0040 | 4 B | NFC ECC count 0 |
| NFC_ECC_CNT1 | 0x0044 | 4 B | NFC ECC count 1 |
| NFC_ECC_CNT2 | 0x0048 | 4 B | NFC ECC count 2 |
| NFC_ECC_CNT3 | 0x004c | 4 B | NFC ECC count 3 |
| NFC_USER_DB | 0x0050 | 80 B | NFC user database |
| NFC_SPARE_AREA | 0x00a0 | 864 B | NFC spare area |
| NFC_RAM0 | 0x0400 | 1 kiB | NFC start of ram 0 |
| NFC_RAM1 | 0x0800 | 1 kiB | NFC start of ram 1 |
NFC_CTL
Default value: unknown
Offset: 0x0000
| Name | Bit | Read/Write | Default (Hex) | Values | Description |
|---|---|---|---|---|---|
| NFC_EN | 0 | Read/Write | {unknown} |
0 = disable
1 = enable
|
Enable or disable the NAND flash controller |
| NFC_RESET | 1 | Read/Write | {unknown} |
0 = no reset
1 = reset
|
Reset the NAND flash controller |
| NFC_BUS_WIDTH | 2 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC bus width |
| NFC_RB_SEL | 3:? | Read/Write | {unknown} |
?
|
NFC row b... select? |
| NFC_CE_CTL0 | 6 | Read/Write | {unknown} |
?
|
NFC collumn ... control 0? |
| NFC_CE_CTL1 | 7 | Read/Write | {unknown} |
?
|
NFC collumn ... control 1? |
| NFC_PAGE_SIZE | 8:11 | Read/Write | {unknown} |
?
|
NFC page size |
| NFC_SAM | 12 | Read/Write | {unknown} |
?
|
NFC SAM |
| reserved | 13 | ||||
| NFC_RAM_METHOD | 14 | Read/Write | {unknown} |
?
|
NFC RAM method |
| reserved | 15:23 | ||||
| NFC_CE_SEL | 24:27 | Read/Write | {unknown} |
?
|
NFC collumn ... select? |
| reserved | 28:30 | ||||
| NFC_DEBUG_CTL | 31 | Read/Write | {unknown} |
0 = disable
1 = enable
{unconfirmed}
|
NFC debug control |
NFC_ST
Default value: unknown
Offset: 0x0004
| Name | Bit | Read/Write | Default (Hex) | Values | Description |
|---|---|---|---|---|---|
| NFC_RB_B2R | 0 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC ... |
| NFC_CMD_INT_FLAG | 1 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC command interrupt flag |
| NFC_CMD_INT_FLAG | 1 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC command interrupt flag |
| NFC_DMA_INT_FLAG | 2 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC DMA interrupt flag |
| NFC_CMD_FIFO_STAT | 3 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC command FIFO status |
| NFC_STAT | 4 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC status |
| NFC_MATCH_INT_FLAG | 5 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC command dma flag |
| reserved | 6:7 | ||||
| NFC_RB_STATE0 | 8 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC rb ... state 0 |
| NFC_RB_STATE1 | 9 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC rb ... state 1 |
| NFC_RB_STATE2 | 10 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC rb ... state 2 |
| NFC_RB_STATE3 | 11 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC rb ... state 3 |
| reserved | 12:31 |
NFC_INT
Default value: unknown
Offset: 0x0008
| Name | Bit | Read/Write | Default (Hex) | Values | Description |
|---|---|---|---|---|---|
| NFC_B2R_INT_EN | 0 | Read/Write | {unknown} |
0 = disable
1 = enable
|
NFC b2r interrupt enable |
| NFC_CMD_INT_EN | 1 | Read/Write | {unknown} |
0 = disable
1 = enable
|
NFC command interrupt enable |
| NFC_DmA_INT_EN | 2 | Read/Write | {unknown} |
0 = disable
1 = enable
|
NFC DMA interrupt enable |
| reserved | 3:31 |
NFC_CMD
Default value: unknown
Offset: 0x0024
| Name | Bit | Read/Write | Default (Hex) | Values | Description |
|---|---|---|---|---|---|
| NFC_CMD_LOW | 0:7 | Read/Write | {unknown} |
?
|
NFC low byte command |
| NFC_CMD_HIGH | 8:15 | Read/Write | {unknown} |
?
|
NFC high byte command |
| NFC_ADDR_NUM | 16:18 | Read/Write | {unknown} |
?
|
NFC address number |
| NFC_SEND_ADDR | 19 | Read/Write | {unknown} |
?
|
NFC send address |
| NFC_XS_DIR | 20 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC access direction |
| NFC_DATA_TRANS | 21 | Read/Write | {unknown} |
?
|
NFC data trans... |
| NFC_SEND_CMD0 | 22 | Read/Write | {unknown} |
?
|
NFC send command 0 |
| NFC_WAIT_FLAG | 23 | Read/Write | {unknown} |
?
|
NFC wait flag |
| NFC_SEND_CMD1 | 24 | Read/Write | {unknown} |
?
|
NFC send command 1 |
| NFC_SEQ | 25 | Read/Write | {unknown} |
?
|
NFC sequence? |
| NFC_DATA_SWAP_METHOD | 26 | Read/Write | {unknown} |
?
|
NFC data swap method |
| NFC_ROW_AUTO_INC | 27 | Read/Write | {unknown} |
?
|
NFC row auto increase |
| NFC_SEND_CMD2 | 28 | Read/Write | {unknown} |
?
|
NFC send command 2 |
| NFC_SEND_CMD3 | 29 | Read/Write | {unknown} |
?
|
NFC send command 3 |
| NFC_CMD_TYPE | 30:31 | Read/Write | {unknown} |
?
|
NFC command type |
NFC_READ_CMD_SET
Default value: unknown
Offset: 0x0028
| Name | Bit | Read/Write | Default (Hex) | Values | Description |
|---|---|---|---|---|---|
| NFC_READ_CMD | 0:7 | Read/Write | {unknown} |
?
|
NFC read command |
| NFC_RANDOM_READ_CMD0 | 8:15 | Read/Write | {unknown} |
?
|
NFC random read command 0 |
| NFC_RANDOM_READ_CMD1 | 16:23 | Read/Write | {unknown} |
?
|
NFC random read command 1 |
| reserved | 24:31 |
NFC_WRITE_CMD_SET
Default value: unknown
Offset: 0x002c
| Name | Bit | Read/Write | Default (Hex) | Values | Description |
|---|---|---|---|---|---|
| NFC_PROG_CMD | 0:7 | Read/Write | {unknown} |
?
|
NFC program command |
| NFC_RANDOM_WRITE_CMD | 8:15 | Read/Write | {unknown} |
?
|
NFC random write command |
| NFC_READ_CMD0 | 16:23 | Read/Write | {unknown} |
?
|
NFC read command 0 |
| NFC_READ_CMD1 | 24:31 | Read/Write | {unknown} |
?
|
NFC read command 1 |
NFC_ECC_CTL
Default value: unknown
Offset: 0x0034
| Name | Bit | Read/Write | Default (Hex) | Values | Description |
|---|---|---|---|---|---|
| NFC_ECC | 0 | Read/Write | {unknown} |
0 = disable
1 = enable
|
NFC ECC enable or disable |
| reserved/tt> | 1:2 | ||||
| NFC_ECC_PIPELINE | 3 | Read/Write | {unknown} |
0 = ?
1 = ?
|
NFC ECC pipeline |
| NFC_ECC_EXCEPTION | 4 | Read/Write | {unknown} |
?
|
NFC ECC exception |
| NFC_ECC_BLOCK_SIZE | 5 | Read/Write | {unknown} |
?
|
NFC ECC block size |
| reserved/tt> | 6:8 | ||||
| NFC_ECC_RANDOM | 9 | Read/Write | {unknown} |
0 = disabled
1 = enabled
|
NFC random ecc |
| NFC_ECC_RANDOM_DIR | 10 | Read/Write | {unknown} |
? |
NFC random ecc direction |
| reserved/tt> | 11 | ||||
| NFC_ECC_MODE | 12:14 | Read/Write | {unknown} |
? |
NFC random ecc mode |
| reserved/tt> | 15 | ||||
| NFC_ECC_RANDOM_SEED | 16:31 | Read/Write | {unknown} |
[01]* |
NFC ecc random seed |