write out fast instance defines separately
[pinmux.git] / src / spec / interfaces.py
index 03d7a2a9b1ea35679d71ed90ebedeaa1b75fcd92..684173edb6a5a7548a1189dca9359a8c63e5ff5b 100644 (file)
@@ -30,7 +30,11 @@ class PinGen(object):
         mux   : which column in the multiplexer
         start : the start of a subset of pins to be inserted
         limit : the end of the subset (or the number if start also given)
-        spec  : *EXTRA* pins to be inserted.
+        spec  : *EXTRA* pins to be inserted (at different implicit positions)
+
+        the pins are inserted with the suffix, starting from the
+        offset position using offs as the row and mux as the column,
+        and working in a constant increment down the rows.
 
         spec is slightly complicated, basically there's extra
         functions that we want to be on the same pin (but a different mux)
@@ -93,7 +97,10 @@ class Pinouts(object):
             setattr(self, name, PinGen(self, fname, pinfn, self.bankspec))
 
     def setganged(self, fname, grp):
-        self.ganged[fname] = map(lambda x: x[:-1], grp)
+        grp = map(lambda x: x[:-1], grp)
+        if fname not in self.ganged:
+            self.ganged[fname] = []
+        self.ganged[fname] += grp
 
     def __contains__(self, k):
         return k in self.pins