Hardware/Latte IRQs: Difference between revisions
< Hardware
Marionumber1 (talk | contribs) m →Register List: Use Processor Interface reg naming style |
Adding IRQ sources |
||
| Line 8: | Line 8: | ||
==IRQ Sources== | ==IRQ Sources== | ||
{| style="border: 1px solid #bbb; border-collapse: collapse; background-color: #eef; padding: 0.2em 0.2em 0.2em 0.2em;" border="1" cellpadding="2" | |||
|- style="background-color: #ddd;" | |||
! IRQ | |||
! Description | |||
|- | |||
| 0 || {{hw|Starbuck Timer}} | |||
|- | |||
| 1 || {{hw|NAND Interface}} | |||
|- | |||
| 2 || {{hw|AES Engine}} | |||
|- | |||
| 3 || {{hw|SHA-1 Engine}} | |||
|- | |||
| 4 || {{hw|USB Host Controller}} (EHCI) | |||
|- | |||
| 5 || {{hw|USB Host Controller}} (OHCI0) | |||
|- | |||
| 6 || {{hw|USB Host Controller}} (OHCI1) | |||
|- | |||
| 7 || {{hw|SD Host Controller}} | |||
|- | |||
| 8 || {{hw|802.11 Wireless}} | |||
|- | |||
| 9 || Unknown | |||
|- | |||
| 10 || {{hw|Latte GPIOs}} (Espresso) | |||
|- | |||
| 11 || {{hw|Latte GPIOs}} (Starbuck) | |||
|- | |||
| 12 || Unknown | |||
|- | |||
| 13 || Undefined | |||
|- | |||
| 14 || Undefined | |||
|- | |||
| 15 || Undefined | |||
|- | |||
| 16 || Undefined | |||
|- | |||
| 17 || Power button (reset) | |||
|- | |||
| 18 || {{hw|Drive Interface}} (DI) | |||
|- | |||
| 19 || Undefined | |||
|- | |||
| 20 || Unknown | |||
|- | |||
| 21 || Undefined | |||
|- | |||
| 22 || Undefined | |||
|- | |||
| 23 || Undefined | |||
|- | |||
| 24 || Undefined | |||
|- | |||
| 25 || Undefined | |||
|- | |||
| 26 || Undefined | |||
|- | |||
| 27 || Undefined | |||
|- | |||
| 28 || {{hw|Advanced Host Controller Interface}} (AHCI) | |||
|- | |||
| 29 || Undefined | |||
|- | |||
| 30 || {{hw|IPC}} (Espresso) | |||
|- | |||
| 31 || {{hw|IPC}} (Starbuck) | |||
|- | |||
|} | |||
==Register List== | ==Register List== | ||
Revision as of 21:29, 24 October 2015
| Latte IRQs | |
| Access | |
|---|---|
| Espresso | Partial |
| Starbuck | Full |
| Registers | |
| Base | 0x0d800030, 0x0d800440 |
| Length | 0x10, 0x48 |
| Access size | 32 bits |
| Byte order | Big Endian |
IRQ Sources
| IRQ | Description |
|---|---|
| 0 | Starbuck Timer |
| 1 | NAND Interface |
| 2 | AES Engine |
| 3 | SHA-1 Engine |
| 4 | USB Host Controller (EHCI) |
| 5 | USB Host Controller (OHCI0) |
| 6 | USB Host Controller (OHCI1) |
| 7 | SD Host Controller |
| 8 | 802.11 Wireless |
| 9 | Unknown |
| 10 | Latte GPIOs (Espresso) |
| 11 | Latte GPIOs (Starbuck) |
| 12 | Unknown |
| 13 | Undefined |
| 14 | Undefined |
| 15 | Undefined |
| 16 | Undefined |
| 17 | Power button (reset) |
| 18 | Drive Interface (DI) |
| 19 | Undefined |
| 20 | Unknown |
| 21 | Undefined |
| 22 | Undefined |
| 23 | Undefined |
| 24 | Undefined |
| 25 | Undefined |
| 26 | Undefined |
| 27 | Undefined |
| 28 | Advanced Host Controller Interface (AHCI) |
| 29 | Undefined |
| 30 | IPC (Espresso) |
| 31 | IPC (Starbuck) |
Register List
The Latte IRQ controller has two different register blocks: a global ARM block mapped at the same address as on the Wii, and a new SMP block for each PPC core to use.
Global ARM block
| Global ARM block | |||
|---|---|---|---|
| Address | Bits | Name | Description |
| 0x0d800030 | 32 | LT_INTSR_PPC | Triggered IRQs for the PPC |
| 0x0d800034 | 32 | LT_INTMR_PPC | Allowed IRQs for the PPC |
| 0x0d800038 | 32 | LT_INTSR_ARM | Triggered IRQs for the ARM |
| 0x0d80003c | 32 | LT_INTMR_ARM | Allowed IRQs for the ARM |
SMP block
| SMP block - PPC core 0 | |||
|---|---|---|---|
| Address | Bits | Name | Description |
| 0x0d800440 | 32 | LT_INTSR_AHBALL_PPC0 | Triggered AHB (all) IRQs for PPC core 0 |
| 0x0d800444 | 32 | LT_INTSR_AHBLT_PPC0 | Triggered AHB (Latte) IRQs for PPC core 0 |
| 0x0d800448 | 32 | LT_INTMR_AHBALL_PPC0 | Allowed AHB (all) IRQs for PPC core 0 |
| 0x0d80044c | 32 | LT_INTMR_AHBLT_PPC0 | Allowed AHB (Latte) IRQs for PPC core 0 |
| SMP block - PPC core 1 | |||
|---|---|---|---|
| Address | Bits | Name | Description |
| 0x0d800450 | 32 | LT_INTSR_AHBALL_PPC1 | Triggered AHB (all) IRQs for PPC core 1 |
| 0x0d800454 | 32 | LT_INTSR_AHBLT_PPC1 | Triggered AHB (Latte) IRQs for PPC core 1 |
| 0x0d800458 | 32 | LT_INTMR_AHBALL_PPC1 | Allowed AHB (all) IRQs for PPC core 1 |
| 0x0d80045c | 32 | LT_INTMR_AHBLT_PPC1 | Allowed AHB (Latte) IRQs for PPC core 1 |
| SMP block - PPC core 2 | |||
|---|---|---|---|
| Address | Bits | Name | Description |
| 0x0d800460 | 32 | LT_INTSR_AHBALL_PPC2 | Triggered AHB (all) IRQs for PPC core 2 |
| 0x0d800464 | 32 | LT_INTSR_AHBLT_PPC2 | Triggered AHB (Latte) IRQs for PPC core 2 |
| 0x0d800468 | 32 | LT_INTMR_AHBALL_PPC2 | Allowed AHB (all) IRQs for PPC core 2 |
| 0x0d80046c | 32 | LT_INTMR_AHBLT_PPC2 | Allowed AHB (Latte) IRQs for PPC core 2 |