d41a3544552cf82e79d13d037202154d13581a59
4 return ['MCK+', 'BCK+', 'LRCK+', 'DI-', 'DO+']
6 def emmc(suffix
, bank
):
7 emmcpins
= ['CMD+', 'CLK+']
9 emmcpins
.append("D%d*" % i
)
12 def sdmmc(suffix
, bank
):
13 sdmmcpins
= ['CMD+', 'CLK+']
15 sdmmcpins
.append("D%d*" % i
)
18 def spi(suffix
, bank
):
19 return ['CLK*', 'NSS*', 'MOSI*', 'MISO*']
21 def quadspi(suffix
, bank
):
22 return ['CK*', 'NSS*', 'IO0*', 'IO1*', 'IO2*', 'IO3*']
24 def i2c(suffix
, bank
):
25 return ['SDA*', 'SCL*']
27 def jtag(suffix
, bank
):
28 return ['MS+', 'DI-', 'DO+', 'CK+']
30 def uart(suffix
, bank
):
33 def ulpi(suffix
, bank
):
34 ulpipins
= ['CK+', 'DIR+', 'STP+', 'NXT+']
36 ulpipins
.append('D%d*' % i
)
39 def uartfull(suffix
, bank
):
40 return ['TX+', 'RX-', 'CTS-', 'RTS+']
42 def rgbttl(suffix
, bank
):
43 ttlpins
= ['CK+', 'DE+', 'HS+', 'VS+']
45 ttlpins
.append("D%d+" % i
)
48 def rgmii(suffix
, bank
):
51 buspins
.append("ERXD%d-" % i
)
53 buspins
.append("ETXD%d+" % i
)
54 buspins
+= ['ERXCK-', 'ERXERR-', 'ERXDV-',
56 'ETXEN+', 'ETXCK+', 'ECRS-',
60 def flexbus1(suffix
, bank
):
63 buspins
.append("AD%d*" % i
)
65 buspins
.append("CS%d+" % i
)
66 buspins
+= ['ALE', 'OE', 'RW', 'TA', 'CLK+',
67 'A0', 'A1', 'TS', 'TBST',
70 buspins
.append("BWE%d" % i
)
72 buspins
.append("CS%d+" % i
)
75 def flexbus2(suffix
, bank
):
77 for i
in range(8, 32):
78 buspins
.append("AD%d*" % i
)
81 def sdram1(suffix
, bank
):
84 buspins
.append("SDRDQM%d*" % i
)
86 buspins
.append("SDRAD%d+" % i
)
88 buspins
.append("SDRDQ%d+" % i
)
90 buspins
.append("SDRCS%d#+" % i
)
92 buspins
.append("SDRDQ%d+" % i
)
94 buspins
.append("SDRBA%d+" % i
)
95 buspins
+= ['SDRCKE+', 'SDRRAS#+', 'SDRCAS#+', 'SDRWE#+',
99 def sdram2(suffix
, bank
):
101 for i
in range(3, 6):
102 buspins
.append("SDRCS%d#+" % i
)
103 for i
in range(8, 32):
104 buspins
.append("SDRDQ%d*" % i
)
107 def mcu8080(suffix
, bank
):
110 buspins
.append("MCUD%d*" % i
)
112 buspins
.append("MCUAD%d+" % (i
+ 8))
114 buspins
.append("MCUCS%d+" % i
)
116 buspins
.append("MCUNRB%d+" % i
)
117 buspins
+= ['MCUCD+', 'MCURD+', 'MCUWR+', 'MCUCLE+', 'MCUALE+',
121 class RangePin(object):
122 def __init__(self
, suffix
, prefix
=None):
124 self
.prefix
= prefix
or ''
126 def __getitem__(self
, s
):
128 for idx
in range(s
.start
or 0, s
.stop
or -1, s
.step
or 1):
129 res
.append("%s%d%s" % (self
.prefix
, idx
, self
.suffix
))
132 def eint(suffix
, bank
):
135 def pwm(suffix
, bank
):
138 def gpio(suffix
, bank
):
139 return ("GPIO%s" % bank
, RangePin(prefix
=bank
, suffix
="*"))
142 # list functions by name here
144 pinspec
= (('IIS', i2s
),