[flash_ctrl] Split tl intefaces for flash_ctrl and prim_flash_cfg

- This creates a more natural boundary where each interface get its
  own base address

- Each gets its own ral_pkg

Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/util/topgen-fusesoc.py b/util/topgen-fusesoc.py
index ae93ec0..ed7fe2f 100644
--- a/util/topgen-fusesoc.py
+++ b/util/topgen-fusesoc.py
@@ -89,13 +89,23 @@
     # Combining this with the generated topgen core file below leads to cyclic dependencies. For
     # example, flash_ctrl depends on topgen but also on pwrmgr_pkg which depends on
     # pwrmgr_reg_pkg generated by topgen.
+    reg_top_suffix = {
+        'alert_handler': '',
+        'clkmgr': '',
+        'flash_ctrl': '_core',
+        'pinmux': '',
+        'pwrmgr': '',
+        'rstmgr': '',
+        'rv_plic': ''
+    }
+
     if reg_only:
         for ip in ['alert_handler', 'clkmgr', 'flash_ctrl', 'pinmux', 'pwrmgr',
                    'rstmgr', 'rv_plic']:
             core_filepath = os.path.abspath('generated-%s.core' % ip)
             name = 'lowrisc:ip:%s_reggen' % ip,
             files = ['ip/%s/rtl/autogen/%s_reg_pkg.sv' % (ip, ip),
-                     'ip/%s/rtl/autogen/%s_reg_top.sv' % (ip, ip)]
+                     'ip/%s/rtl/autogen/%s_reg_top.sv' % (ip, ip + reg_top_suffix[ip])]
             generated_core = {
                 'name': '%s' % name,
                 'filesets': {