NDMA: Difference between revisions
Jump to navigation
Jump to search
Created page with "== Registers == There's 4 NDMA channels. Arm7/Arm9 have separate NDMA. {| class="wikitable" border="1" ! NAME ! ADDRESS ! WIDTH |- | REG_NDMA_MASTER_CNT | 0x04004100 | 4 |..." |
|||
| Line 110: | Line 110: | ||
| Time related? | | Time related? | ||
|} | |} | ||
Once the CNT bit31 enable bit is set, starting doing the DMA once the time units specified by this register elapses? | |||
== REG_NDMA_CLEAR == | == REG_NDMA_CLEAR == | ||
Revision as of 05:15, 25 November 2010
Registers
There's 4 NDMA channels. Arm7/Arm9 have separate NDMA.
| NAME | ADDRESS | WIDTH |
|---|---|---|
| REG_NDMA_MASTER_CNT | 0x04004100 | 4 |
| REG_NDMA_SRC(n) | 0x04004104 + (n*0x1c) | 4 |
| REG_NDMA_DEST(n) | 0x04004108 + (n*0x1c) | 4 |
| REG_NDMA_NUM0(n) | 0x0400410c + (n*0x1c) | 4 |
| REG_NDMA_NUM1(n) | 0x04004110 + (n*0x1c) | 4 |
| REG_NDMA_14(n) | 0x04004114 + (n*0x1c) | 4 |
| REG_NDMA_CLEAR(n) | 0x04004118 + (n*0x1c) | 4 |
| REG_NDMA_CNT(n) | 0x0400411c + (n*0x1c) | 4 |
REG_NDMA_MASTER_CNT
| BIT | DESCRIPTION |
|---|---|
| 15-0 | ? |
| 16 | Unknown, set when initialized by Arm7? |
| 17 | Unknown, set when initialized by Arm9? |
| 18 | Unknown, set when initialized by Arm7/Arm9? |
| 30-19 | ? |
| 31 | Might be master NDMA enable, when initialized this is set? |
REG_NDMA_SRC
| BIT | DESCRIPTION |
|---|---|
| 31-0 | Source data address. |
Like old DMA, REG_NDMA_SRC is copied to internal registers when written to.
REG_NDMA_DEST
| BIT | DESCRIPTION |
|---|---|
| 31-0 | Destination data address. |
Like old DMA, REG_NDMA_DEST is copied to internal registers when written to.
REG_NDMA_NUM0
| BIT | DESCRIPTION |
|---|---|
| 31-0 | Number of bytes to copy/write, see REG_NDMA_CNT bit28. |
REG_NDMA_NUM1
| BIT | DESCRIPTION |
|---|---|
| 31-0 | Number of bytes to copy/write, see REG_NDMA_CNT bit28. |
REG_NDMA_14
| BIT | DESCRIPTION |
|---|---|
| 31-0 | Time related? |
Once the CNT bit31 enable bit is set, starting doing the DMA once the time units specified by this register elapses?
REG_NDMA_CLEAR
| BIT | DESCRIPTION |
|---|---|
| 31-0 | Value to write to destination instead of copying when REG_NDMA_CNT bit13 and bit14 are set. |
REG_NDMA_CNT
| BIT | DESCRIPTION |
|---|---|
| 10-0 | ? |
| 11 | Fixed destination address when set. |
| 12 | ? |
| 13 | When set clear data with the value REG_NDMA_CLEAR instead of copying. |
| 14 | Fixed source address when set. |
| 27-15 | ? |
| 28 | Set when REG_NDMA_NUM0 was set, clear when REG_NDMA_NUM1 was set. |
| 30 | IRQ enable |
| 31 | Enable/busy |