Line 9:
Line 9:
| arm = Full
| arm = Full
| base = 0x0d806000
| base = 0x0d806000
−
| len = 0x100
+
| len = 0x400
| bits = 32
| bits = 32
| ppcirq = ???
| ppcirq = ???
Line 17:
Line 17:
== Register List ==
== Register List ==
{{reglist|Drive Interface}}
{{reglist|Drive Interface}}
−
{{rld|0x0d806000|32|DI2SATA_SR_IDX|DI status register}}
+
{{rld|0x0d806000|32|DI2SATA_SR|DI status register}}
{{rld|0x0d806004|32|DI2SATA_CVR|DI cover register (status2)}}
{{rld|0x0d806004|32|DI2SATA_CVR|DI cover register (status2)}}
{{rld|0x0d806008|32|DI2SATA_CMDBUF0|DI command buffer 0}}
{{rld|0x0d806008|32|DI2SATA_CMDBUF0|DI command buffer 0}}
Line 26:
Line 26:
{{rld|0x0d80601c|32|DI2SATA_CR|Unknown}}
{{rld|0x0d80601c|32|DI2SATA_CR|Unknown}}
{{rld|0x0d806020|32|DI2SATA_IMMBUF|DI immediate data buffer}}
{{rld|0x0d806020|32|DI2SATA_IMMBUF|DI immediate data buffer}}
−
{{rld|0x0d806024|32|DI2SATA_CFG|DI configuration register}}
+
{{rld|0x0d806024|32|DI2SATA_CONFIG|DI configuration register}}
−
{{rld|0x0d806028|32|DI2SATA_COMPAT_STATE|DI compat mode state}}
+
{{rld|0x0d806028|32|DI2SATA_COMPAT|DI compat mode}}
|}
|}
Line 41:
Line 41:
| arm = Full
| arm = Full
| base = 0x0d806400
| base = 0x0d806400
−
| len = 0x100
+
| len = 0x400
| bits = 32
| bits = 32
| ppcirq = ???
| ppcirq = ???
Line 59:
Line 59:
| arm = Full
| arm = Full
| base = 0x0d806800
| base = 0x0d806800
−
| len = 0x100
+
| len = 0x400
| bits = 32
| bits = 32
| ppcirq = ???
| ppcirq = ???
Line 67:
Line 67:
For compatibility purposes, the Wii U implements the External Interface similarly to the GameCube and the Wii.
For compatibility purposes, the Wii U implements the External Interface similarly to the GameCube and the Wii.
On a regular retail Wii U, the [[Hardware/RTC|RTC]] is the only device registered on the EXI bus (channel 0, device 1). An additional device called [[Hardware/NESCAFE|NESCAFE]] (part of the debug [[Hardware/CORTADO|CORTADO]] package) was presumably used in the past for debugging purposes and used to sit on channel 0 as device 2.
On a regular retail Wii U, the [[Hardware/RTC|RTC]] is the only device registered on the EXI bus (channel 0, device 1). An additional device called [[Hardware/NESCAFE|NESCAFE]] (part of the debug [[Hardware/CORTADO|CORTADO]] package) was presumably used in the past for debugging purposes and used to sit on channel 0 as device 2.
+
+
This bus is accessible externally via the following test points:
+
* TP101 - CLK
+
* TP176 - MISO (Device out, Wii U in)
+
* Test point between TP100 and TP176 - MOSI (Device in, Wii U out)
== Register List ==
== Register List ==
Line 88:
Line 93:
== Register Details ==
== Register Details ==
+
{{regsimple | EXIx_CR | addr = 0x0d80680c/0x0d806820/0x0d806834 | bits = 32 | access = W }}
+
{{regsimple | EXIx_DATA | addr = 0x0d806810/0x0d806824/0x0d806838 | bits = 32 | access = R/W }}
+
When IOSU sends data to the device, it:
+
* Writes the data into EXI_DATA
+
* Writes 0x35 into EXI_CR
+
* Waits for [[Hardware/Latte_IRQ_Controller|IRQ]] #20
−
<br>
+
When IOSU reads data from the device, it:
−
<br>
+
* Writes 0x31 into EXI_CR
+
* Waits for [[Hardware/Latte_IRQ_Controller|IRQ]] #20
+
* Reads the data from EXI_DATA
= Audio Interface =
= Audio Interface =
Line 99:
Line 112:
| arm = Full
| arm = Full
| base = 0x0d806c00
| base = 0x0d806c00
−
| len = 0x100
+
| len = 0x400
| bits = 32
| bits = 32
| ppcirq = ???
| ppcirq = ???