# Bank A, 0-15
pinouts.gpio("", ('A', 0), "A", 0, 16, 0)
- pinouts.spi("1", ('A', 0), "A", 3)
+ pinouts.spi("0", ('A', 0), "A", 3)
pinouts.uartfull("1", ('A', 0), "A", 2)
pinouts.i2c("1", ('A', 4), "A", 2)
pinouts.emmc("", ('A', 0), "A", 1)
#pinouts.uart("2", ('A', 14), "A", 1)
- pinouts.spi("2", ('A', 6), "A", 2)
+ pinouts.spi("1", ('A', 6), "A", 2)
pinouts.eint("", ('A', 10), "A", 0, 6)
pinouts.eint("", ('A', 4), "A", 0, 6, mux=3)
pinouts.sdmmc("0", ('A', 10), "A", 2)
# Bank B, 16-47
pinouts.gpio("", ('B', 0), "B", 0, 28, 0)
pinouts.rgbttl("0", ('B', 0), "B", 1)
- pinouts.spi("1", ('B', 12), "B", 2)
+ pinouts.spi("0", ('B', 12), "B", 2)
pinouts.quadspi("", ('B', 4), "B", 2, limit=4)
pinouts.uart("3", ('B', 16), "B", 2)
pinouts.i2c("3", ('B', 18), "B", 2)
pinouts.gpio("", ("C", 0), "C", 0, 24, 0)
pinouts.ulpi("1", ('C', 0), "C", 1)
pinouts.ulpi("2", ('C', 12), "C", 1)
- pinouts.spi("2", ('C', 8), "C", 2)
- #pinouts.spi("2", ('C', 28), "C", 2)
+ pinouts.spi("1", ('C', 8), "C", 2)
+ #pinouts.spi("1", ('C', 28), "C", 2)
pinouts.uartfull("0", ('C', 20), "C", 3)
pinouts.eint("", ('C', 0), "C", 10, 8, mux=3)
pinouts.jtag("2", ('C', 8), "C", 3)
'SD0': 'SD/MMC 0',
'SD1': 'SD/MMC 1',
'SD2': 'SD/MMC 2',
+ 'SPI0': 'SPI (Serial Peripheral Interface) 0',
'SPI1': 'SPI (Serial Peripheral Interface) 1',
- 'SPI2': 'SPI (Serial Peripheral Interface) 2',
'QSPI': 'Quad SPI (Serial Peripheral Interface) 1',
'TWI1': 'I2C 1',
'TWI2': 'I2C 2',
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
+ # by name/number e.g. SPI0, 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
# of spare GPIO.
eoma68 = ['B1:LCD/22', 'ULPI1/8', 'ULPI2', 'MMC', 'SD0', 'UART3',
- 'TWI3', 'SPI2', 'E2:SD1', ]
+ 'TWI3', 'SPI1', 'E2:SD1', ]
eoma68_eint = ['EINT_16', 'EINT_17', 'EINT_18', 'EINT_19']
eoma68_pwm = ['D1:PWM_2']
descriptions = {
'TWI3': 'EOMA68-compliance: must be entirely free of devices.\n'
'Address 0x51 used (externally) for EOMA68 EEPROM Id',
'E2:SD1': 'EOMA68-compliance',
- 'SPI2': 'EOMA68-compliance',
+ 'SPI1': 'EOMA68-compliance',
'UART3': 'EOMA68-compliance',
'B1:LCD/22': 'EOMA68-compliance, 18-bit RGB/TTL LCD',
'ULPI1/8': 'user-facing: internal (on Card), USB-OTG ULPI PHY',
industrial = ['D1:FB/17', 'E1:FB/8', 'B1:LCD/22', 'ULPI1/8', 'ULPI2/8',
'MMC', 'B2:SD0',
'JTAG1', 'A3:UART2', 'E2:UART1', 'C3:UART0',
- 'F2:TWI1', 'D2:TWI2', 'D2:TWI3', 'SPI2', 'QSPI', 'F2:SD2']
+ 'F2:TWI1', 'D2:TWI2', 'D2:TWI3', 'SPI1', 'QSPI', 'F2:SD2']
industrial_pwm = ['F2:PWM_0', 'F2:PWM_1', 'D1:PWM_2']
industrial_eint = ['EINT_24', 'EINT_25', 'EINT_26', 'EINT_27',
'EINT_20', 'EINT_21', 'EINT_22', 'EINT_23']
# leaving some GPIO spare from the RGB/TTL bank (SPI CS#)
# also possibility of freeing up FlexBus CS# with a little reorg.
- industrial = ['D1:FB/17', 'E1:FB/8', 'B2:SPI1', 'ULPI1/8', 'ULPI2/8',
+ industrial = ['D1:FB/17', 'E1:FB/8', 'B2:SPI0', 'ULPI1/8', 'ULPI2/8',
'MMC', 'B2:SD0',
'JTAG1',
'A3:UART2', 'E2:UART1', 'C3:UART0', 'B2:UART4', 'B2:UART3',
- 'F2:TWI1', 'D2:TWI2', 'D2:TWI3', 'SPI2', 'QSPI', 'F2:SD2']
+ 'F2:TWI1', 'D2:TWI2', 'D2:TWI3', 'SPI1', 'QSPI', 'F2:SD2']
industrial_pwm = ['F2:PWM_0', 'F2:PWM_1', 'D1:PWM_2']
industrial_eint = ['EINT_24', 'EINT_25', 'EINT_26', 'EINT_27',
'EINT_20', 'EINT_21', 'EINT_22', 'EINT_23']
ind_descriptions = {
- 'B2:SPI1': 'Used for 320x240 or 640x480 etc. SPI-based LCD.\n'
+ 'B2:SPI0': 'Used for 320x240 or 640x480 etc. SPI-based LCD.\n'
'Frees up large numbers of GPIO from RGB/TTL bank'
}
unused_pins = check_functions("Industrial with SPI-LCD",
'C3:UART0', # GPS
'D2:UART3',
'D2:UART4',
- 'D3:TWI1', 'D2:TWI3', 'SPI2', 'QSPI']
+ 'D3:TWI1', 'D2:TWI3', 'SPI1', 'QSPI']
tablet_pwm = ['F2:PWM_0', # LCD_BACKLIGHT
'F2:PWM_1', 'D1:PWM_2']
tablet_eint = ['EINT_24', # BT_HOST_WAKE
'QSPI': 'Boot Storage (connection to companion / debug / boot MCU)\n'
'Only actually needs MISO/MOSI, bootstrap loader v. small\n'
'Bootstrap loader checks eMMC, USB-OTG, SD/MMC, SPI, etc.',
- 'SPI2': 'Spare? SPI, connect to higher-speed sensor?',
+ 'SPI1': 'Spare? SPI, connect to higher-speed sensor?',
'D2:UART3': 'Spare? UART (or 2 extra GPIO / EINT)',
'D2:UART4': 'Spare? UART (or 2 extra GPIO)',
'D3:TWI1': 'Connect to PMIC',
'Some phones may have clam-shell or lid switch.\n'
'Some Modems have spare GPIO (over AT commandset).\n'
'AXP209 PMIC has 4x GPIO, accessible over I2C.\n'
- 'SPI2, UART3-4, PWM1-2 may also be spare (10 extra GPIO).\n'
+ 'SPI1, UART3-4, PWM1-2 may also be spare (10 extra GPIO).\n'
'If more needed, companion MCU may be used (48+ pin variant)\n'
'which also includes ADC, DAC, more PWM etc.',
'F2:PWM_0': 'LCD Backlight',
#'TWI2', # I2C Audio
'C3:UART0', # HSPA UART
'E2:UART1', # BT UART
- 'C2:SPI2', # HSPI SPI
+ 'C2:SPI1', # HSPI SPI
'E2:SD2', # WIFI
'D3:TWI1', # sensors CTP,
'D2:TWI3', 'QSPI']
'C3:UART0': 'Connect to HSPA UART',
'E2:UART1': 'Connect to BT UART',
'E2:SD2': 'Connect to WIFI',
- 'C2:SPI2': 'HSPA SPI',
+ 'C2:SPI1': 'HSPA SPI',
'QSPI': 'Boot Storage (connection to companion / debug / boot MCU)\n'
'Only actually needs MISO/MOSI, bootstrap loader v. small\n'
'Bootstrap loader checks eMMC, USB-OTG, SD/MMC, SPI, etc.\n'