X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fspec%2Fpinfunctions.py;h=c09eb1cff771fe26ad9f2dc113adf05f70b832c8;hb=990e85b3f76ecf56e7d9e6a458028ff242573b50;hp=bab960b0b7a5df4d9d34e14fa0f0108cde69cbaf;hpb=00312a131ebe050292397b9d6e4c4db58f30c72a;p=pinmux.git diff --git a/src/spec/pinfunctions.py b/src/spec/pinfunctions.py index bab960b..c09eb1c 100644 --- a/src/spec/pinfunctions.py +++ b/src/spec/pinfunctions.py @@ -61,27 +61,41 @@ def sdmmc(suffix, bank): return emmc(suffix, bank, pincount=4) -def spi(suffix, bank): - pins = ['CLK*', 'NSS*', 'MOSI*', 'MISO*'] - return (pins, []) - - -def quadspi(suffix, bank): - qpins = ['CK*', 'NSS*'] +def nspi(suffix, bank, iosize, masteronly=True): + if masteronly: + qpins = ['CK+', 'NSS+'] + else: + qpins = ['CK*', 'NSS*'] inout = [] - for i in range(4): + for i in range(iosize): pname = "IO%d*" % i qpins.append(pname) inout.append(pname) return (qpins, inout) +def mspi(suffix, bank): + return nspi(suffix, bank, 2, masteronly=True) + + +def mquadspi(suffix, bank): + return nspi(suffix, bank, 4, masteronly=True) + + +def spi(suffix, bank): + return nspi(suffix, bank, 2) + + +def quadspi(suffix, bank): + return nspi(suffix, bank, 4) + + def i2c(suffix, bank): return (['SDA*', 'SCL*'], []) def jtag(suffix, bank): - return (['MS+', 'DI-', 'DO+', 'CK+'], []) + return (['TMS-', 'TDI-', 'TDO+', 'TCK+'], []) def uart(suffix, bank): @@ -103,7 +117,7 @@ def uartfull(suffix, bank): def rgbttl(suffix, bank): ttlpins = ['CK+', 'DE+', 'HS+', 'VS+'] for i in range(24): - ttlpins.append("D%d+" % i) + ttlpins.append("OUT%d+" % i) return (ttlpins, []) @@ -129,11 +143,12 @@ def flexbus1(suffix, bank): inout.append(pname) for i in range(2): buspins.append("CS%d+" % i) - buspins += ['ALE', 'OE', 'RW', 'TA', 'CLK+', - 'A0', 'A1', 'TS', 'TBST', - 'TSIZ0', 'TSIZ1'] + buspins += ['ALE+', 'OE+', 'RW+', 'TA-', + # 'TS+', commented out for now, mirrors ALE, for mux'd mode + 'TBST+', + 'TSIZ0+', 'TSIZ1+'] for i in range(4): - buspins.append("BWE%d" % i) + buspins.append("BWE%d+" % i) for i in range(2, 6): buspins.append("CS%d+" % i) return (buspins, inout) @@ -149,33 +164,45 @@ def flexbus2(suffix, bank): def sdram1(suffix, bank): buspins = [] inout = [] - for i in range(16): + for i in range(8): pname = "SDRDQM%d*" % i buspins.append(pname) + for i in range(8): + pname = "SDRD%d*" % i + buspins.append(pname) inout.append(pname) for i in range(12): buspins.append("SDRAD%d+" % i) - for i in range(8): - buspins.append("SDRDQ%d+" % i) - for i in range(3): - buspins.append("SDRCS%d#+" % i) - for i in range(2): - buspins.append("SDRDQ%d+" % i) for i in range(2): buspins.append("SDRBA%d+" % i) - buspins += ['SDRCKE+', 'SDRRAS#+', 'SDRCAS#+', 'SDRWE#+', - 'SDRRST+'] + buspins += ['SDRCKE+', 'SDRRASn+', 'SDRCASn+', 'SDRWEn+', + 'SDRCSn0+'] return (buspins, inout) def sdram2(suffix, bank): buspins = [] inout = [] - for i in range(3, 6): - buspins.append("SDRCS%d#+" % i) - for i in range(16, 32): + for i in range(1, 6): + buspins.append("SDRCSn%d+" % i) + for i in range(8, 16): pname = "SDRDQM%d*" % i buspins.append(pname) + for i in range(8, 16): + pname = "SDRD%d*" % i + buspins.append(pname) + inout.append(pname) + return (buspins, inout) + + +def sdram3(suffix, bank): + buspins = [] + inout = [] + for i in range(12, 13): + buspins.append("SDRAD%d+" % i) + for i in range(8, 64): + pname = "SDRD%d*" % i + buspins.append(pname) inout.append(pname) return (buspins, inout) @@ -211,7 +238,7 @@ class RangePin(object): def eint(suffix, bank): - return (RangePin("*"), []) + return (RangePin("-"), []) def pwm(suffix, bank): @@ -227,6 +254,8 @@ def gpio(suffix, bank): pinspec = (('IIS', i2s), ('MMC', emmc), ('SD', sdmmc), + ('MSPI', mspi), + ('MQSPI', mquadspi), ('SPI', spi), ('QSPI', quadspi), ('TWI', i2c), @@ -240,6 +269,7 @@ pinspec = (('IIS', i2s), ('FB', flexbus2), ('SDR', sdram1), ('SDR', sdram2), + ('SDR', sdram3), ('EINT', eint), ('PWM', pwm), ('GPIO', gpio),