170 lines
2.8 KiB
Python
170 lines
2.8 KiB
Python
# SPDX-FileCopyrightText: 2023 Xenokrates
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
"""Allwinner A20 pin names"""
|
|
from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
|
|
|
|
# Pin descriptions at https://linux-sunxi.org/A20/PIO
|
|
|
|
PA0 = Pin(0)
|
|
PA1 = Pin(1)
|
|
PA2 = Pin(2)
|
|
UART2_TX = PA2
|
|
PA3 = Pin(3)
|
|
UART2_RX = PA3
|
|
PA6 = Pin(6)
|
|
PA7 = Pin(7)
|
|
PA8 = Pin(8)
|
|
PA9 = Pin(9)
|
|
PA10 = Pin(10)
|
|
UART1_TX = PA10
|
|
PA11 = Pin(11)
|
|
UART1_RX = PA11
|
|
PA12 = Pin(12)
|
|
PA13 = Pin(13)
|
|
PA14 = Pin(14)
|
|
PA15 = Pin(15)
|
|
PA16 = Pin(16)
|
|
PA17 = Pin(17)
|
|
|
|
PB0 = Pin(32)
|
|
TWI0_SCK = PB0
|
|
PB1 = Pin(33)
|
|
TWI0_SDA = PB1
|
|
PB2 = Pin(34)
|
|
PWM0 = PB2
|
|
PB3 = Pin(35)
|
|
IR0_TX = PB3
|
|
PB4 = Pin(36)
|
|
IR0_RX = PB4
|
|
PB5 = Pin(37)
|
|
PB6 = Pin(38)
|
|
PB7 = Pin(39)
|
|
PB8 = Pin(40)
|
|
PB12 = Pin(44)
|
|
PB13 = Pin(45)
|
|
PB18 = Pin(50)
|
|
TWI1_SCK = PB18
|
|
PB19 = Pin(51)
|
|
TWI1_SDA = PB19
|
|
PB20 = Pin(52)
|
|
TWI2_SCK = PB20
|
|
PB21 = Pin(53)
|
|
TWI2_SDA = PB21
|
|
PB22 = Pin(54)
|
|
UART0_TX = PB22
|
|
PB23 = Pin(55)
|
|
UART0_RX = PB23
|
|
|
|
PC19 = Pin(83)
|
|
SPI2_CS0 = PC19
|
|
PC20 = Pin(84)
|
|
SPI2_SCLK = PC20
|
|
PC21 = Pin(85)
|
|
SPI2_MOSI = PC21
|
|
PC22 = Pin(86)
|
|
SPI2_MISO = PC22
|
|
|
|
PG2 = Pin(194)
|
|
|
|
PH2 = Pin(226)
|
|
PH4 = Pin(228)
|
|
UART4_TX = PH4
|
|
PH5 = Pin(229)
|
|
UART4_RX = PH5
|
|
PH6 = Pin(230)
|
|
UART5_TX = PH6
|
|
PH7 = Pin(231)
|
|
UART5_RX = PH7
|
|
PH8 = Pin(232)
|
|
PH9 = Pin(233)
|
|
PH10 = Pin(234)
|
|
PH11 = Pin(235)
|
|
PH12 = Pin(236)
|
|
PH13 = Pin(237)
|
|
PH14 = Pin(238)
|
|
PH15 = Pin(239)
|
|
PH16 = Pin(240)
|
|
PH17 = Pin(241)
|
|
PH18 = Pin(242)
|
|
PH19 = Pin(243)
|
|
PH20 = Pin(244)
|
|
CAN_TX = PH20
|
|
PH21 = Pin(245)
|
|
CAN_RX = PH21
|
|
PH24 = Pin(248)
|
|
|
|
PI0 = Pin(256)
|
|
TWI3_SCK = PI0
|
|
PI1 = Pin(257)
|
|
TWI3_SDA = PI1
|
|
PI3 = Pin(259)
|
|
PWM1 = PI3
|
|
PI10 = Pin(266)
|
|
SPI0_CS0 = PI10
|
|
PI11 = Pin(267)
|
|
SPI0_SCLK = PI11
|
|
PI12 = Pin(268)
|
|
SPI0_MOSI = PI12
|
|
UART6_TX = PI12
|
|
PI13 = Pin(269)
|
|
SPI0_MISO = PI13
|
|
UART6_RX = PI13
|
|
PI14 = Pin(270)
|
|
SPI0_CS1 = PI14
|
|
PI16 = Pin(272)
|
|
UART2_RTS = PI16
|
|
PI17 = Pin(273)
|
|
UART2_CTS = PI17
|
|
PI18 = Pin(274)
|
|
UART2_TX = PI18
|
|
PI19 = Pin(275)
|
|
UART2_RX = PI19
|
|
PI20 = Pin(276)
|
|
UART7_TX = PI20
|
|
PI21 = Pin(277)
|
|
UART7_RX = PI21
|
|
|
|
# A10/A20 has a touch panel controller which can be configured to operate
|
|
# as four seperate adc chanels, providing 12-bit resolution.
|
|
XP_TP = 1
|
|
XN_TP = 2
|
|
YP_TP = 3
|
|
YN_TP = 4
|
|
|
|
# SysFS pwm outputs, pwm channel and pin in first tuple
|
|
pwmOuts = (
|
|
((0, 0), PWM0),
|
|
((0, 1), PWM1),
|
|
)
|
|
|
|
# ordered as i2cId, sclId, sdaId
|
|
i2cPorts = (
|
|
(0, TWI0_SCK, TWI0_SDA),
|
|
(1, TWI1_SCK, TWI1_SDA),
|
|
(2, TWI2_SCK, TWI2_SDA),
|
|
)
|
|
|
|
# ordered as spiId, sckId, mosiId, misoId
|
|
spiPorts = (
|
|
(0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),
|
|
(2, SPI2_SCLK, SPI2_MOSI, SPI2_MISO),
|
|
)
|
|
|
|
# ordered as uartId, txId, rxId
|
|
uartPorts = (
|
|
(0, UART0_TX, UART0_RX),
|
|
(2, UART2_TX, UART2_RX),
|
|
(4, UART4_TX, UART4_RX),
|
|
(5, UART5_TX, UART5_RX),
|
|
(6, UART6_TX, UART6_RX),
|
|
(7, UART7_TX, UART7_RX),
|
|
)
|
|
|
|
# sysFs analog inputs, Ordered as analogInId, device, and channel
|
|
analogIns = (
|
|
(XP_TP, 1, 0),
|
|
(XN_TP, 1, 1),
|
|
(YP_TP, 1, 2),
|
|
(YN_TP, 1, 3),
|
|
)
|