Fixed gpio W number
[pinmux.git] / src / spec / ls2.py
index caec431edcc5b74742d795f8af97f4646cf7bb4b..2fcbd709ae88f792cff5b92695a8e040511abefb 100644 (file)
@@ -11,10 +11,10 @@ from collections import OrderedDict
 
 def pinspec():
     pinbanks = OrderedDict((
-        ('N', (32, 2)),
-        ('E', (32, 2)),
-        ('S', (32, 2)),
-        ('W', (32, 2)),
+        ('N', (32, 4)),
+        ('E', (32, 4)),
+        ('S', (32, 4)),
+        ('W', (32, 4)),
     ))
     fixedpins = {
         'CTRL_SYS': [
@@ -38,6 +38,7 @@ def pinspec():
         ]}
     fixedpins = {}
     function_names = {
+                      'RG0': 'Gigabit Ethernet 0',
                       'PWM': 'PWM (pulse-width modulation)',
                       'MSPI0': 'SPI Master 1 (general)',
                       'MSPI1': 'SPI Master 2 (SDCard)',
@@ -58,60 +59,72 @@ def pinspec():
 
     ps = PinSpec(pinbanks, fixedpins, function_names)
 
-    ps.sdram1("", ('W', 0), 0, 15, 6, rev=True) # AD4-9, turned round
+    ps.gpio("", ('W', 0), 0, 0, 6) # GPIO 0-5
+    ps.sdram1("", ('W', 0), 1, 15, 6, rev=True) # AD4-9, turned round
     ps.vdd("E", ('W', 6), 0, 0, 1)
     ps.vss("E", ('W', 7), 0, 0, 1)
     ps.vdd("I", ('W', 8), 0, 0, 1)
     ps.vss("I", ('W', 9), 0, 0, 1)
-    ps.sdram1("", ('W', 10), 0, 0, 15, rev=True) # SDRAM DAM0, D0-7, AD0-3
-    ps.mi2c("", ('W', 26), 0, 0, 2)
-    ps.vss("I", ('W', 28), 0, 1, 1)
-    ps.vdd("I", ('W', 29), 0, 1, 1)
-    ps.vss("E", ('W', 30), 0, 1, 1)
-    ps.vdd("E", ('W', 31), 0, 1, 1)
+    ps.gpio("", ('W', 10), 0, 6, 15) # GPIO 6-20
+    ps.sdram1("", ('W', 10), 1, 0, 15, rev=True) # SDRAM DAM0, D0-7, AD0-3
+    ps.vss("I", ('W', 25), 0, 1, 1)
+    ps.vdd("I", ('W', 26), 0, 1, 1)
+    ps.vss("E", ('W', 27), 0, 1, 1)
+    ps.vdd("E", ('W', 28), 0, 1, 1)
+    ps.gpio("", ('W', 29), 0, 21, 3) # GPIO 21-23
+    ps.mi2c("", ('W', 30), 1, 0, 2)
 
-    ps.sdram2("", ('S', 0), 0, 0, 4) # 1st 4, AD10-12,DQM1
+    ps.gpio("", ('S', 0), 0, 0, 4) # GPIO 0-4
+    ps.sdram2("", ('S', 0), 1, 0, 4) # 1st 4, AD10-12,DQM1
     ps.vdd("E", ('S', 4), 0, 2, 1)
     ps.vss("E", ('S', 5), 0, 2, 1)
     ps.vdd("I", ('S', 6), 0, 2, 1)
     ps.vss("I", ('S', 7), 0, 2, 1)
-    ps.sdram2("", ('S', 8), 0, 4, 8) # D8-15
-    ps.sdram1("", ('S', 16), 0, 21, 9) # clk etc.
+    ps.gpio("", ('S', 8), 0, 4, 14) # GPIO 5-17
+    ps.sdram2("", ('S', 8), 1, 4, 8) # D8-15
+    ps.sdram1("", ('S', 16), 1, 21, 9) # clk etc.
     ps.vss("I", ('S', 22), 0, 3, 1)
     ps.vdd("I", ('S', 23), 0, 3, 1)
     ps.vss("E", ('S', 24), 0, 3, 1)
     ps.vdd("E", ('S', 25), 0, 3, 1)
-    ps.uart("0", ('S', 26), 0)
-    ps.mspi("0", ('S', 28), 0)
+    ps.gpio("", ('S', 26), 0, 18, 6) # GPIO 18-23
+    ps.uart("0", ('S', 26), 1)
+    ps.mspi("0", ('S', 28), 1)
 
-    ps.gpio("", ('E', 0), 0, 0, 6) # GPIO 0-5
-    ps.vss("E", ('E', 6), 0, 4, 1)
-    ps.vdd("E", ('E', 7), 0, 4, 1)
-    ps.vdd("I", ('E', 8), 0, 4, 1)
-    ps.vss("I", ('E', 9), 0, 4, 1)
-    ps.gpio("", ('E', 10), 0, 6, 3) # GPIO 6-8
-    ps.jtag("", ('E', 13), 0, 0, 4)
-    ps.gpio("", ('E', 17), 0, 9, 5) # GPIO 9-13
+    ps.gpio("", ('E', 0), 0, 0, 4) # GPIO 0-3
+    ps.rgmii("1", ('E', 0), 1, 0, 4) # RXD0-3
+    ps.vss("E", ('E', 4), 0, 4, 1)
+    ps.vdd("E", ('E', 5), 0, 4, 1)
+    ps.vdd("I", ('E', 6), 0, 4, 1)
+    ps.vss("I", ('E', 7), 0, 4, 1)
+    ps.gpio("", ('E', 8), 0, 6, 10) # GPIO 4-13
+    ps.rgmii("1", ('E', 8), 1, 4, 10) # more RGMII-2
+    ps.jtag("", ('E', 18), 0, 0, 4)
     ps.vss("I", ('E', 22), 0, 5, 1)
     ps.vdd("I", ('E', 23), 0, 5, 1)
     ps.vss("E", ('E', 24), 0, 5, 1)
     ps.vdd("E", ('E', 25), 0, 5, 1)
-    ps.gpio("", ('E', 26), 0, 14, 2) # GPIO 14-15
-    ps.eint("", ('E', 28), 0, 0, 3)
+    ps.gpio("", ('E', 26), 0, 16, 5) # GPIO 14-18
+    ps.rgmii("1", ('E', 26), 1, 14, 5) # more RGMII-2
+    ps.eint("", ('E', 28), 2, 0, 3)
     ps.sys("", ('E', 31), 0, 5, 1) # analog VCO out in right top
 
-    ps.vss("E", ('N', 6), 0, 6, 1)
-    ps.vdd("E", ('N', 7), 0, 6, 1)
-    ps.vdd("I", ('N', 8), 0, 6, 1)
-    ps.vss("I", ('N', 9), 0, 6, 1)
+    ps.gpio("", ('N', 0), 0, 0, 4) # GPIO 0-3
+    ps.rgmii("0", ('N', 0), 1, 0, 4) # RXD0-3
+    ps.vss("E", ('N', 4), 0, 6, 1)
+    ps.vdd("E", ('N', 5), 0, 6, 1)
+    ps.vdd("I", ('N', 6), 0, 6, 1)
+    ps.vss("I", ('N', 7), 0, 6, 1)
+    ps.gpio("", ('N', 8), 0, 4, 14) # GPIO 4-17
+    ps.rgmii("0", ('N', 8), 1, 4, 14) # more RGMII-1
     #ps.pwm("", ('N', 2), 0, 0, 2)  comment out (litex problem 25mar2021)
     #ps.mspi("1", ('N', 7), 0)       comment out (litex problem 25mar2021)
     #ps.sdmmc("0", ('N', 11), 0)     # comment out (litex problem 25mar2021)
     ps.sys("", ('N', 27), 0, 0, 5) # all but analog out in top right
-    ps.vss("I", ('N', 22), 0, 7, 1)
-    ps.vdd("I", ('N', 23), 0, 7, 1)
-    ps.vss("E", ('N', 24), 0, 7, 1)
-    ps.vdd("E", ('N', 25), 0, 7, 1)
+    ps.vss("I", ('N', 23), 0, 7, 1)
+    ps.vdd("I", ('N', 24), 0, 7, 1)
+    ps.vss("E", ('N', 25), 0, 7, 1)
+    ps.vdd("E", ('N', 26), 0, 7, 1)
 
     #ps.mquadspi("1", ('S', 0), 0)
 
@@ -126,9 +139,10 @@ def pinspec():
 
     ls180 = [
             # 'SD0', litex problem 25mar2021
-            'UART0', 'GPIOS', 'GPIOE', 'JTAG', 'PWM', 'EINT',
+            'UART0', 'JTAG', 'PWM', 'EINT',
              'VDD', 'VSS', 'SYS',
                 'MTWI', 'MSPI0',
+                'RG0', 'RG1',
                 # 'MSPI1', litex problem 25mar2021
                 'SDR']
     ls180_eint = []
@@ -141,6 +155,8 @@ def pinspec():
         'MSPI1': '',
         'UART0': '',
         'LPC1': '',
+        'RG0': '',
+        'RG1': '',
         'SYS': '',
         'LPC2': '',
         'SDR': '',