soc_core: Don't fail if name is the same.
authorTim 'mithro' Ansell <me@mith.ro>
Sat, 13 Jan 2018 08:10:57 +0000 (19:10 +1100)
committerTim 'mithro' Ansell <me@mith.ro>
Sat, 13 Jan 2018 08:10:57 +0000 (19:10 +1100)
Otherwise you can't override the UART with another UART, you get an
error like;

```
  File "/home/tansell/github/timvideos/HDMI2USB-litex-firmware/third_party/litex/litex/soc/integration/soc_core.py", line 176, in __init__
    interrupt, mod_name, interrupt_rmap[interrupt]))
AssertionError: Interrupt vector conflict for IRQ 2, user defined uart conflicts with SoC inbuilt uart
```

litex/soc/integration/soc_core.py

index e2dd457fe7177a8710074a24028bec9c30bbb887..02fe0c9c8ab0e4bead49c0484fa4a3fe655cbaec 100644 (file)
@@ -171,7 +171,7 @@ class SoCCore(Module):
 
         # Add the base SoC's interrupt map
         for mod_name, interrupt in self.soc_interrupt_map.items():
-            assert interrupt not in interrupt_rmap, (
+            assert interrupt not in interrupt_rmap or mod_name == interrupt_rmap[interrupt], (
                 "Interrupt vector conflict for IRQ %s, user defined %s conflicts with SoC inbuilt %s" % (
                     interrupt, mod_name, interrupt_rmap[interrupt]))