add fastslave axi defines
[pinmux.git] / src / bsv / peripheral_gen / rgbttl.py
1 from bsv.peripheral_gen.base import PBase
2
3
4 class rgbttl(PBase):
5
6 def slowimport(self):
7 return " import rgbttl_dummy :: *;"
8
9 def must_be_axi_master(self):
10 return True
11
12 def axi_slave_name(self, name, ifacenum):
13 return ''
14
15 def axi_slave_idx(self, idx, name, ifacenum, typ):
16 return ('', 0)
17
18 def num_axi_regs32(self):
19 return 10
20
21 def mkfast_peripheral(self):
22 sz = len(self.peripheral.pinspecs) - 4 # subtract CK, DE, HS, VS
23 return " Ifc_rgbttl_dummy lcd{0} <- mkrgbttl_dummy();"
24
25 def _mk_connection(self, name=None, count=0):
26 return "lcd{0}.slave"
27
28 def pinname_out(self, pname):
29 if not pname.startswith('out'):
30 return pname
31 return ''
32
33 def mk_pincon(self, name, count):
34 ret = [PBase.mk_pincon(self, name, count)]
35 # special-case for gpio in, store in a temporary vector
36 sname = self.peripheral.iname().format(count)
37 plen = len(self.peripheral.pinspecs)
38 template = " mkConnection({0}.{1},\n\t\t\t{2}.{1});"
39 name = self.get_iname(count)
40 ps = "pinmux.peripheral_side.%s" % sname
41 n = "{0}".format(name)
42 for ptype in ['data_out']:
43 ret.append(template.format(ps, ptype, n))
44 return '\n'.join(ret)