- pinmerge(pinouts, gpio(bankspec, "", ('G', 0), "G", 0, 32, 0))
- pinmerge(pinouts, rgmii(bankspec, "", ('G', 0), "G", 1))
- pinmerge(pinouts, ulpi(bankspec, "3", ('G', 20), "G", 1))
- pinmerge(pinouts, rgbttl(bankspec, "1", ('G', 0), "G", 2))
- pinmerge(pinouts, quadspi(bankspec, "3", ('G', 26), "G", 3))
- pinmerge(pinouts, flexbus2(bankspec, "", ('G', 0), "G", 3))
- mmc2 = sdmmc(bankspec, "2", ('G', 24), "G", 3, limit=2)
- pinmerge(pinouts, mmc2)
- mmc2 = sdmmc(bankspec, "2", ('G', 28), "G", 2, start=2)
- pinmerge(pinouts, mmc2)
-
- print "# Pinouts (PinMux)"
- print
- print "auto-generated by [[pinouts.py]]"
- print
- print "[[!toc ]]"
- print
- display(pinouts)
- print
-
- print "# Pinouts (Fixed function)"
- print
-
- fixedpins = {
- 'DDR3':
- ['SDQ0', 'SDQ1', 'SDQ2', 'SDQ3', 'SDQ4', 'SDQ5', 'SDQ6', 'SDQ7',
- 'SDQ8', 'SDQ9', 'SDQ10', 'SDQ11', 'SDQ12', 'SDQ13', 'SDQ14', 'SDQ15',
- 'SDQ16', 'SDQ17', 'SDQ18', 'SDQ19', 'SDQ20', 'SDQ21', 'SDQ22', 'SDQ23',
- 'SDQ24', 'SDQ25', 'SDQ26', 'SDQ27', 'SDQ28', 'SDQ29', 'SDQ30', 'SDQ31',
- 'SVREF0', 'SVREF1', 'SVREF2', 'SVREF3',
- 'SDQS0', 'SDQS0#', 'SDQS1', 'SDQS1#',
- 'SDQS2', 'SDQS2#', 'SDQS3', 'SDQS3#',
- 'SDQM0', 'SDQM1', 'SDQM2', 'SDQM3',
- 'SCK#', 'SCK', 'SCKE0', 'SCKE1',
- 'SA0', 'SA1', 'SA2', 'SA3', 'SA4', 'SA5', 'SA6', 'SA7',
- 'SA8', 'SA9', 'SA10', 'SA11', 'SA12', 'SA13', 'SA14',
- 'SBA0', 'SBA1', 'SBA2',
- 'SWE', 'SCAS', 'SRAS',
- 'SCS0', 'SCS1',
- 'SZQ', 'SRST',
- 'SDBG0', 'SDBG1', 'ADBG',
- 'ODT0', 'ODT1'
- ],
-
- 'CTRL_SYS':
- [
- 'TEST', 'JTAG_SEL', 'UBOOT_SEL',
- 'NMI#', 'RESET#',
- 'CLK24M_IN', 'CLK24M_OUT',
- 'PLLTEST', 'PLLREGIO', 'PLLVP25',
- 'PLLDV', 'PLLVREG', 'PLLGND',
- ],
-
- 'POWER_DRAM':
- ['VCC0_DRAM', 'VCC1_DRAM', 'VCC2_DRAM', 'VCC3_DRAM', 'VCC4_DRAM',
- 'VCC5_DRAM', 'VCC6_DRAM', 'VCC7_DRAM', 'VCC8_DRAM', 'VCC9_DRAM',
- 'GND0_DRAM', 'GND1_DRAM', 'GND2_DRAM', 'GND3_DRAM', 'GND4_DRAM',
- 'GND5_DRAM', 'GND6_DRAM', 'GND7_DRAM', 'GND8_DRAM', 'GND9_DRAM',
- ],
-
- 'POWER_CPU':
- ['VDD0_CPU', 'VDD1_CPU', 'VDD2_CPU', 'VDD3_CPU', 'VDD4_CPU', 'VDD5_CPU',
- 'GND0_CPU', 'GND1_CPU', 'GND2_CPU', 'GND3_CPU', 'GND4_CPU', 'GND5_CPU',
- ],
-
- 'POWER_DLL':
- ['VDD0_DLL', 'VDD1_DLL', 'VDD2_DLL',
- 'GND0_DLL', 'GND1_DLL', 'GND2_DLL',
- ],
-
- 'POWER_INT':
- ['VDD0_INT', 'VDD1_INT', 'VDD2_INT', 'VDD3_INT', 'VDD4_INT',
- 'VDD5_INT', 'VDD6_INT', 'VDD7_INT', 'VDD8_INT', 'VDD9_INT',
- 'GND0_INT', 'GND1_INT', 'GND2_INT', 'GND3_INT', 'GND4_INT',
- 'GND5_INT', 'GND6_INT', 'GND7_INT', 'GND8_INT', 'GND9_INT',
- ],
-
- 'POWER_GPIO':
- ['VDD_GPIOA', 'VDD_GPIOB', 'VDD_GPIOC',
- 'VDD_GPIOD', 'VDD_GPIOE', 'VDD_GPIOF',
- 'VDD_GPIOG',
- 'GND_GPIOA', 'GND_GPIOB', 'GND_GPIOC',
- 'GND_GPIOD', 'GND_GPIOE', 'GND_GPIOF',
- 'GND_GPIOG',
- ]
-
- }
-
- display_fixed(fixedpins, len(pinouts))
-
- print "# Functions (PinMux)"
- print
- print "auto-generated by [[pinouts.py]]"
- print
-
- function_names = {'EINT': 'External Interrupt',
- 'FB': 'MC68k FlexBus',
- 'IIS': 'I2S Audio',
- 'JTAG1': 'JTAG (same as JTAG2, JTAG_SEL=LOW)',
- 'JTAG2': 'JTAG (same as JTAG1, JTAG_SEL=HIGH)',
- 'LCD': '24-pin RGB/TTL LCD',
- 'RG': 'RGMII Ethernet',
- 'MMC': 'eMMC 1/2/4/8 pin',
- 'PWM': 'PWM (pulse-width modulation)',
- 'SD1': 'SD/MMC 1',
- 'SD2': 'SD/MMC 2',
- 'SD3': 'SD/MMC 3',
- 'SPI1': 'SPI (Serial Peripheral Interface) 1',
- 'SPI2': 'SPI (Serial Peripheral Interface) 2',
- 'SPI3': 'Quad SPI (Serial Peripheral Interface) 3',
- 'TWI1': 'I2C 1',
- 'TWI2': 'I2C 2',
- 'TWI3': 'I2C 3',
- 'UART0': 'UART (TX/RX/CTS/RTS) 0',
- 'UART1': 'UART (TX/RX/CTS/RTS) 1',
- 'UART2': 'UART (TX/RX) 2',
- 'UART3': 'UART (TX/RX) 3',
- 'UART4': 'UART (TX/RX) 4',
- 'ULPI1': 'ULPI (USB Low Pin-count) 1',
- 'ULPI2': 'ULPI (USB Low Pin-count) 2',
- 'ULPI3': 'ULPI (USB Low Pin-count) 3',
- }
-
- fns = display_fns(bankspec, pinouts, function_names)
- print
-
- # Scenarios below can be spec'd out as either "find first interface"
- # by name/number e.g. SPI1, or as "find in bank/mux" which must be
- # spec'd as "BM:Name" where B is bank (A-F), M is Mux (0-3)
- # EINT and PWM are grouped together, specially, but may still be spec'd
- # using "BM:Name". Pins are removed in-order as listed from
- # lists (interfaces, EINTs, PWMs) from available pins.