base |
function |
offset |
description |
contents/example
|
0x0D010000 |
NAND |
|
|
|
0000 W |
command |
9F000000 (CMD 00: start read sector)
|
|
|
|
|
8030B840 (CMD 30: data (starts DMA 0x840 bytes))
|
|
|
|
|
80FF8000 (CMD FF: reset)
|
|
|
|
|
00008000 means: wait for R/#B to go down
|
|
|
|
|
1F000000 is the mask of the address bytes to send. (10 = AA, 08 = BB, .., 01 = FF in 08,0c)
|
|
|
0000 R |
status |
MSB means busy
|
|
|
0004 W |
config |
|
|
|
0008 W |
address #0 |
0000AABB
|
|
|
000C W |
address #1 |
CCDDEEFF, NAND sector, multiply with 0x800 or 0x840 to get offset, 0x40 for ecc
|
|
|
0010 W |
data addr |
target address for DMA (0x800 main bytes)
|
|
|
0014 W |
ecc addr |
target address for DMA (0x40 spare bytes + 0x10 byte HW-calculated ECC syndrome)
|
|
|
0018 W |
unknown |
|