rename sd to mmc
[pinmux.git] / src / bsv / peripheral_gen / sdmmc.py
index 00407ec391d26a0163f816471219d62fc6c9ca4b..dcdb57c41b653f8aaa931b6a0ccf59f937d19d8a 100644 (file)
@@ -1,27 +1,35 @@
 from bsv.peripheral_gen.base import PBase
 
+
 class sdmmc(PBase):
 
     def slowimport(self):
-        return "    import sdcard_dummy              :: *;"
+        return "import sdcard_dummy              :: *;"
 
     def num_axi_regs32(self):
         return 13
 
     def mkslow_peripheral(self):
-        return "        Ifc_sdcard_dummy sd{0} <-  mksdcard_dummy();"
+        return "Ifc_sdcard_dummy mmc{0} <-  mksdcard_dummy();"
 
     def _mk_connection(self, name=None, count=0):
-        return "sd{0}.slave"
-
-    def pinname_in(self, pname):
-        return "%s_in" % pname
+        return "mmc{0}.slave"
 
     def pinname_out(self, pname):
-        if pname.startswith('d'):
-            return "%s_out" % pname
-        return pname
-
-    def pinname_outen(self, pname):
-        if pname.startswith('d'):
-            return "%s_outen" % pname
+        if pname in ['cmd', 'clk']:
+            return pname
+        return ''
+
+    def _mk_pincon(self, name, count, typ):
+        assert typ == 'slow', "TODO: mkConnection for fast"
+        ret = [PBase._mk_pincon(self, name, count, typ)]
+        # special-case for gpio in, store in a temporary vector
+        plen = len(self.peripheral.pinspecs)
+        template = "mkConnection({0}.{1},\n\t\t\t{2}.{1});"
+        sname = self.peripheral.iname().format(count)
+        name = self.get_iname(count)
+        ps = "pinmux.peripheral_side.%s" % sname
+        n = "{0}".format(name)
+        for ptype in ['out', 'out_en', 'in']:
+            ret.append(template.format(ps, ptype, n))
+        return '\n'.join(ret)