Change the default IRQs.
authorTim 'mithro' Ansell <mithro@mithis.com>
Sun, 29 Oct 2017 15:13:11 +0000 (08:13 -0700)
committerTim 'mithro' Ansell <mithro@mithis.com>
Mon, 30 Oct 2017 02:45:52 +0000 (19:45 -0700)
 * Reserve IRQ 0 to be used as a "non-maskable interrupt" (NMI) in the
   future.

 * Use IRQ 2 for the LiteX. This matches the standard mor1k config which
   connects the UART to IRQ 2.

This change is needed for Linux running on LiteX as it gets grumpy with
using IRQ 0 for anything other other than an NMI.

litex/soc/integration/soc_core.py

index 13723e4ef06c621080b2dbf6bf4ab803d7f89efa..9e4daac3cfc202f63b72c131022ef83388fd53cb 100644 (file)
@@ -36,8 +36,9 @@ class SoCCore(Module):
         "leds":           6,  # user
     }
     interrupt_map = {
-        "uart":   0,
-        "timer0": 1,
+        "nmi":    0, # Reserve zero for "non-maskable interrupt"
+        "timer0": 1, # LiteX Timer
+        "uart":   2, # LiteX UART (IRQ 2 for UART matches mor1k standard config).
     }
     mem_map = {
         "rom":      0x00000000,  # (default shadow @0x80000000)