Line 6:
Line 6:
| armirq = 1
| armirq = 1
}}
}}
+
{| border="1"
+
! 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 ||
+
|}