add descriptions and scenario
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 25 Sep 2020 12:48:11 +0000 (13:48 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 25 Sep 2020 12:48:11 +0000 (13:48 +0100)
src/spec/base.py
src/spec/ifaceprint.py
src/spec/ls180.py
src/spec/pinfunctions.py

index a03ad93f6bbcb773b7ed081d7445b784cb069c32..701a4caf5bd3c11e8ce1aad05e273184410f0509 100644 (file)
@@ -72,6 +72,7 @@ auto-generated by [[pinouts.py]]
         of.write("""# Reference Datasheets
 
 datasheets and pinout links
+
 * <http://datasheets.chipdb.org/AMD/8018x/80186/amd-80186.pdf>
 * <http://hands.com/~lkcl/eoma/shenzen/frida/FRD144A2701.pdf>
 * <http://pinouts.ru/Memory/sdcard_pinout.shtml>
index 4e72d512b2b4465e4dcd64f9147fcdb5fc48269e..abd809166daf68a87b9342137de816fe70eb456d 100644 (file)
@@ -66,7 +66,7 @@ def display_fns(of, bankspec, pins, function_names):
     fn_names = function_names.keys()
     fns = {}
     for (pin, pdata) in pins.items():
-        for mux in range(1, 4):  # skip GPIO for now
+        for mux in range(0, 4):  # skip GPIO for now
             if mux not in pdata:
                 continue
             name, bank = pdata[mux]
@@ -80,6 +80,7 @@ def display_fns(of, bankspec, pins, function_names):
     current_fn = None
     for fname in fnidx:
         fnbase = find_fn(fname, fn_names)
+        #fblower = fnbase.lower()
         assert fnbase in function_names, "fn %s not in descriptions %s" % \
             (fname, str(function_names.keys()))
         #print "name", fname, fnbase
@@ -110,6 +111,7 @@ def check_functions(of, title, bankspec, fns, pins, required, eint, pwm,
     of.write("# Pinmap for %s\n\n" % title)
 
     print "fn_idx", fnidx
+    print "fns", fns
     print "fnspec", pins.fnspec.keys()
     print "required", required
     for name in required:
index 5d751d61309022d515f070cbc05f2bf25bda6c76..d8fcd3b5851ec277f1e6b44667c7f7a7465d2f2e 100644 (file)
@@ -37,11 +37,19 @@ def pinspec():
     fixedpins = {}
     function_names = {
                       'PWM': 'PWM (pulse-width modulation)',
-                      'MSPI2': 'SPI (Serial Peripheral Interface) Master 1',
-                      'UART1': 'UART (TX/RX) 1',
-                      'UART3': 'UART (TX/RX) 2',
-                      'MMC1': 'SD/MMC 1',
-                      'MMC2': 'SD/MMC 2',
+                      'MSPI0': 'SPI (Serial Peripheral Interface) Master 1',
+                      'MSPI1': 'SPI (Serial Peripheral Interface) Master 2',
+                      'UART0': 'UART (TX/RX) 1',
+                      'CLK': 'System Clock',
+                      'RST': 'Reset',
+                      'GPIO': 'GPIO',
+                      'EINT': 'External Interrupt',
+                      'PWM': 'PWM',
+                      'JTAG': 'JTAG',
+                      'SD0': 'SD/MMC 1',
+                      'SDR': 'SDRAM',
+                      'VDD': 'Power',
+                      'VSS': 'GND',
                       #'LPC1': 'Low Pincount Interface 1',
                       #'LPC2': 'Low Pincount Interface 2',
                       }
@@ -51,30 +59,33 @@ def pinspec():
     ps.vss("", ('N', 0), 0, 0, 1)
     ps.vdd("", ('N', 1), 0, 0, 1)
     ps.sdram1("", ('N', 2), 0, 0, 30)
-    ps.vss("", ('N', 30), 0, 0, 1)
-    ps.vdd("", ('N', 31), 0, 0, 1)
+    ps.vss("", ('N', 30), 0, 1, 1)
+    ps.vdd("", ('N', 31), 0, 1, 1)
 
-    ps.vss("", ('E', 0), 0, 1, 1)
+    ps.vss("", ('E', 0), 0, 2, 1)
     ps.sdram2("", ('E', 1), 0, 0, 12)
-    ps.vdd("", ('E', 13), 0, 1, 1)
+    ps.vdd("", ('E', 13), 0, 2, 1)
     ps.gpio("", ('E', 14), 0, 8, 8)
-    ps.vss("", ('E', 23), 0, 1, 1)
+    ps.vss("", ('E', 23), 0, 3, 1)
     ps.jtag("", ('E', 24), 0, 0, 4)
-    ps.vdd("", ('E', 31), 0, 1, 1)
+    ps.vdd("", ('E', 31), 0, 3, 1)
 
-    ps.vss("", ('S', 0), 0, 1, 1)
+    ps.vss("", ('S', 0), 0, 4, 1)
     ps.clk("", ('S', 1), 0, 0, 1)
     ps.rst("", ('S', 2), 0, 0, 1)
-    ps.mspi("0", ('S', 3), 0)
-    ps.uart("0", ('S', 7), 0)
-    ps.vdd("", ('S', 31), 0, 1, 1)
+    ps.mspi("0", ('S', 4), 0)
+    ps.uart("0", ('S', 8), 0)
+    ps.gpio("", ('S', 14), 0, 0, 8)
+    ps.vdd("", ('S', 31), 0, 4, 1)
 
-    ps.vss("", ('W', 0), 0, 1, 1)
+    ps.vss("", ('W', 0), 0, 5, 1)
     ps.pwm("", ('W', 1), 0, 0, 2)
     ps.eint("", ('W', 3), 0, 0, 3)
     ps.mspi("1", ('W', 6), 0)
-    ps.sdmmc("0", ('W', 10), 0)
-    ps.vdd("", ('W', 31), 0, 1, 1)
+    ps.vdd("", ('W', 10), 0, 5, 1)
+    ps.sdmmc("0", ('W', 11), 0)
+    ps.vss("", ('W', 17), 0, 6, 1)
+    ps.vdd("", ('W', 31), 0, 6, 1)
     #ps.mspi("0", ('W', 8), 0)
     #ps.mspi("1", ('W', 8), 0)
 
@@ -87,12 +98,12 @@ def pinspec():
     # using "BM:Name".  Pins are removed in-order as listed from
     # lists (interfaces, EINTs, PWMs) from available pins.
 
-    ls180 = ['ULPI0/8', 'ULPI1', 'MMC0', 'MMC2', 'SD0', 'UART0',
-                'TWI0', 'MSPI0', 'B3:SD1', ]
+    ls180 = ['SD0', 'UART0', 'GPIOS', 'GPIOE', 'JTAG', 'PWM', 'EINT',
+             'VDD', 'VSS', 'CLK', 'RST',
+                'TWI0', 'MSPI0', 'MSPI1', 'SDR']
     ls180_eint = []
     ls180_pwm = []#['B0:PWM_0']
     descriptions = {
-        'MMC': 'internal (on Card)',
         'SD0': 'user-facing: internal (on Card), multiplexed with JTAG\n'
         'and UART2, for debug purposes',
         'TWI2': 'I2C.\n',
@@ -100,8 +111,10 @@ def pinspec():
         'MSPI1': '',
         'UART0': '',
         'LPC1': '',
+        'CLK': '',
+        'RST': '',
         'LPC2': '',
-        'MMC0': '',
+        'SDR': '',
         'B1:LCD/22': '18-bit RGB/TTL LCD',
         'ULPI0/8': 'user-facing: internal (on Card), USB-OTG ULPI PHY',
         'ULPI1': 'dual USB2 Host ULPI PHY'
index b7318dde304423e52504d0dc0488d458ac2ae2f3..c046dbde379da882c5a17c381891a5df71e79f26 100644 (file)
@@ -284,7 +284,7 @@ def rst(suffix, bank):
 pinspec = (('IIS', i2s),
            ('LPC', lpc),
            ('EMMC', emmc),
-           ('MMC', sdmmc),
+           ('SD', sdmmc),
            ('MSPI', mspi),
            ('MQSPI', mquadspi),
            ('SPI', spi),