new axi addr map class
[pinmux.git] / src / ifacebase.py
index e4a80ec7ee8f79de7a6ce25da123ffb88e56ebaf..fb5cd7a651735cedea96bf937e1c6a02c2c55344 100644 (file)
@@ -6,6 +6,7 @@ try:
 except ImportError:
     from collections import UserDict
 
+
 def _decode_list(data):
     rv = []
     for item in data:
@@ -18,6 +19,7 @@ def _decode_list(data):
         rv.append(item)
     return rv
 
+
 def _decode_dict(data):
     rv = {}
     for key, value in data.iteritems():
@@ -32,6 +34,7 @@ def _decode_dict(data):
         rv[key] = value
     return rv
 
+
 class InterfacesBase(UserDict):
     """ contains a list of interface definitions
     """
@@ -69,6 +72,7 @@ class InterfacesBase(UserDict):
                 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},
@@ -91,6 +95,19 @@ class InterfacesBase(UserDict):
                 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
+
+    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"