whoops invert vss/vdd power/ground by mistake
[pinmux.git] / src / spec / ls180.py
index 4f1d171121833ea3ae27e3669f54e5762cd8c26c..7b98bff4ecd98b1954ab587993fc93c2ecf70b3e 100644 (file)
@@ -164,19 +164,30 @@ def pinparse(psp, pinspec):
         pad = None
         # VSS
         if name.startswith('vss'):
-            name = 'p_%sck_' % name[:-2] + name[-1]
+            name = 'p_%s_' % name[:-2] + name[-1]
+            if 'i' in name:
+                name = 'ground_' + name[-1]
+                name2 = 'vss'
+            else:
+                name = 'ioground_' + name[-1]
+                name2 = 'iovss'
+            pad = [name, name2]
         # VDD
         elif name.startswith('vdd'):
             if 'i' in name:
-               n_intpower += 1
+                n_intpower += 1
+                name = 'power_' + name[-1]
+                name2 = 'vdd'
             else:
-               n_extpower += 1
-            name = 'p_%sck_' % name[:-2] + name[-1]
+                n_extpower += 1
+                name = 'iopower_' + name[-1]
+                name2 = 'iovdd'
+            pad = [name, name2]
         # SYS
         elif name.startswith('sys'):
             domain = 'SYS'
             if name == 'sys_clk':
-                name = 'p_sys_clk_0'
+                pad = ["p_"+name, name, name]
             elif name == 'sys_rst':
                 #name = 'p_sys_rst_1'
                 pad = [name, name, name]
@@ -185,8 +196,11 @@ def pinparse(psp, pinspec):
                 name = None
             elif name == 'sys_pllclk':
                 name = None # ignore
+            elif name == 'sys_pllock':
+                name = 'sys_pll_lck_o'
+                pad = ['p_' + name, name, name]
             elif name == 'sys_pllout':
-                name = 'sys_pll_48_o'
+                name = 'sys_pll_18_o'
                 pad = ['p_' + name, name, name]
             elif name.startswith('sys_csel'):
                 i = name[-1]
@@ -293,12 +307,14 @@ def pinparse(psp, pinspec):
             print ("I2C pad", name, pad)
         # EINT
         elif name.startswith('eint'):
+            domain = 'EINT'
             i = name[-1]
             name = 'eint_%s' % i
             name2 = 'eint(%s)' % i
             pad = ['p_' + name, name2, name2]
         # PWM
         elif name.startswith('pwm'):
+            domain = 'PWM'
             name = name[:-4]
             i = name[3:]
             name2 = 'pwm(%s)' % i
@@ -312,7 +328,8 @@ def pinparse(psp, pinspec):
             domain = 'JTAG'
 
         if name and not name.startswith('p_'):
-            name = 'p_' + name
+            if 'power' not in name and 'ground' not in name:
+                name = 'p_' + name
         if name is not None:
             padbank[banknum] = name
             # create domains
@@ -335,8 +352,6 @@ def pinparse(psp, pinspec):
             fn, name = orig_name.split("_")
             if domain == 'PWM':
                 name = fn[3:]
-            print dir(psp)
-            print dir(p)
             print psp.byspec
             spec = None
             for k in psp.byspec.keys():
@@ -353,13 +368,19 @@ def pinparse(psp, pinspec):
             # whewwww.  add the direction onto the pad spec list
             pad.append(found[-1])
             iopads.append(pad)
+        elif pad is not None:
+            iopads.append(pad)
 
     # not connected
     nc_idx = 0
     for pl in [pe, pw, pn, ps]:
         for i in range(len(pl)):
             if pl[i] == '':
-                pl[i] = 'nc_%d' % nc_idx
+                name = 'nc_%d' % nc_idx
+                name2 = 'nc(%d)' % nc_idx
+                pl[i] = name
+                pinmap[name] = name
+                iopads.append([name, name2, name2, "-"])
                 nc_idx += 1
 
     print p.bankstart