ln = ln.split("\t")
                 name = ln[0]  # will have uart
                 count = int(ln[1])  # will have count of uart
+
                 # spec looks like this:
                 """
                 [{'name': 'sda', 'outen': True},
                 else:
                     iface = ikls(name, spec, ganged, count == 1)
                     self.ifaceadd(name, count, iface)
+                cfgs = self.getconfigs(name, count)
+                iface.configs = cfgs
+                print name, count, cfgs
+        exit(0)
 
+    def getconfigs(self, fname, count):
+        cfgs = []
+        for i in range(count):
+            if count == 1:
+                name = fname
+            else:
+                name = "%s%d" % (fname, i)
+            cfgs.append(self.configs.get(name, {}))
+        return cfgs
+            
     def getifacetype(self, fname):
         # finds the interface type, e.g sd_d0 returns "inout"
         for iface in self.values():
 
                       }
 
     ps = PinSpec(pinbanks, fixedpins, function_names,
-                 {'lcd': {'bus': 'fastbus'},
+                 {'lcd': {'bus': 'fastbus',
+                          'mmap': [['Cfg', 0x20000, 10]
+                                  ]},
                   'jtag': {'bus': 'fastbus'},
                   'fb': {'bus': 'fastbus'},
-                  'sdr': {'bus': 'fastbus'}
+                  'sdr': {'bus': 'fastbus',
+                          'mmap': [['Mem', 0x50000000, 0x400000],
+                                   ['Cfg', 0x21000, 12]
+                                  ]},
                  })
 
     # Bank A, 0-27