]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/allwinner/a20/pin.py
Untangle code and remove pylint disables
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / allwinner / a20 / pin.py
index a9041dd51859c24fe4b91393f624e34c1e6a21d4..5cc94cca4dbba0cd652e63934cac1d60f2b1f7d6 100644 (file)
@@ -1,26 +1,80 @@
+# SPDX-FileCopyrightText: 2023 Xenokrates
+#
+# SPDX-License-Identifier: MIT
 """Allwinner A20 pin names"""
 from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
 
 """Allwinner A20 pin names"""
 from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
 
-PB2 = Pin(34)  # PB2/PWM0
+# 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
 PWM0 = PB2
-PB20 = Pin(52)  # PB20/TWI2_SDL
-TWI2_SCL = PB20
-PB21 = Pin(53)  # PB20/TWI2_SDA
+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
 TWI2_SDA = PB21
+PB22 = Pin(54)
+UART0_TX = PB22
+PB23 = Pin(55)
+UART0_RX = PB23
 
 
-PC19 = Pin(83)  # PC19/SPI2_CS
-SPI2_CS = PC19
-PC20 = Pin(84)  # PC20/SPI2_SCLK
+PC19 = Pin(83)
+SPI2_CS0 = PC19
+PC20 = Pin(84)
 SPI2_SCLK = PC20
 SPI2_SCLK = PC20
-PC21 = Pin(85)  # PC21/SPI2_MOSI
+PC21 = Pin(85)
 SPI2_MOSI = PC21
 SPI2_MOSI = PC21
-PC22 = Pin(86)  # PC22/SPI2_MISO
+PC22 = Pin(86)
 SPI2_MISO = PC22
 
 SPI2_MISO = PC22
 
+PG2 = Pin(194)
+
+PH2 = Pin(226)
+PH4 = Pin(228)
+UART4_TX = PH4
 PH5 = Pin(229)
 PH5 = Pin(229)
-PH6 = Pin(230)  # PH6/UART5_TX
+UART4_RX = PH5
+PH6 = Pin(230)
 UART5_TX = PH6
 UART5_TX = PH6
-PH7 = Pin(231)  # PH7/UART5_RX
+PH7 = Pin(231)
 UART5_RX = PH7
 PH8 = Pin(232)
 PH9 = Pin(233)
 UART5_RX = PH7
 PH8 = Pin(232)
 PH9 = Pin(233)
@@ -34,12 +88,21 @@ PH16 = Pin(240)
 PH17 = Pin(241)
 PH18 = Pin(242)
 PH19 = Pin(243)
 PH17 = Pin(241)
 PH18 = Pin(242)
 PH19 = Pin(243)
+PH20 = Pin(244)
+CAN_TX = PH20
+PH21 = Pin(245)
+CAN_RX = PH21
+PH24 = Pin(248)
 
 
-PI3 = Pin(259)  # PI3/PWM1
+PI0 = Pin(256)
+TWI3_SCK = PI0
+PI1 = Pin(257)
+TWI3_SDA = PI1
+PI3 = Pin(259)
 PWM1 = PI3
 PWM1 = PI3
-PI10 = Pin(266)  # PI10/SPI0_CS/UART5_TX
-SPI0_CS = PI10
-PI11 = Pin(267)  # PI11/SPI0_SCLK/UART5_RX
+PI10 = Pin(266)
+SPI0_CS0 = PI10
+PI11 = Pin(267)
 SPI0_SCLK = PI11
 PI12 = Pin(268)
 SPI0_MOSI = PI12
 SPI0_SCLK = PI11
 PI12 = Pin(268)
 SPI0_MOSI = PI12
@@ -47,20 +110,42 @@ UART6_TX = PI12
 PI13 = Pin(269)
 SPI0_MISO = PI13
 UART6_RX = PI13
 PI13 = Pin(269)
 SPI0_MISO = PI13
 UART6_RX = PI13
-PI18 = Pin(274)  # PI18/UART2_TX
+PI14 = Pin(270)
+SPI0_CS1 = PI14
+PI16 = Pin(272)
+UART2_RTS = PI16
+PI17 = Pin(273)
+UART2_CTS = PI17
+PI18 = Pin(274)
 UART2_TX = PI18
 UART2_TX = PI18
-PI19 = Pin(275)  # PI19/UART2_RX
+PI19 = Pin(275)
 UART2_RX = PI19
 UART2_RX = PI19
+PI20 = Pin(276)
+UART7_TX = PI20
+PI21 = Pin(277)
+UART7_RX = PI21
 
 
-XP_TP = 1  # Allwinner touch panel controller which can be configured to operate
-XN_TP = 2  # as four seperate adc chanels, providing 12-bit resolution.
+# 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
 
 YP_TP = 3
 YN_TP = 4
 
-# Ordered as i2cId, SCL, SDA
-i2cPorts = ((2, TWI2_SCL, TWI2_SDA),)
+# SysFS pwm outputs, pwm channel and pin in first tuple
+pwmOuts = (
+    ((0, 0), PWM0),
+    ((0, 1), PWM1),
+)
 
 
-# Ordered as spiId, clkId, mosiId, misoId
+# 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),
 spiPorts = (
     (0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),
     (2, SPI2_SCLK, SPI2_MOSI, SPI2_MISO),
@@ -68,20 +153,18 @@ spiPorts = (
 
 # ordered as uartId, txId, rxId
 uartPorts = (
 
 # ordered as uartId, txId, rxId
 uartPorts = (
+    (0, UART0_TX, UART0_RX),
     (2, UART2_TX, UART2_RX),
     (2, UART2_TX, UART2_RX),
+    (4, UART4_TX, UART4_RX),
     (5, UART5_TX, UART5_RX),
     (6, UART6_TX, UART6_RX),
     (5, UART5_TX, UART5_RX),
     (6, UART6_TX, UART6_RX),
-)
-# sysFs pwm outputs, pwm channel and pin first tuple
-pwmOuts = (
-    ((0, 0), PWM0),
-    ((0, 1), PWM1),
+    (7, UART7_TX, UART7_RX),
 )
 
 # sysFs analog inputs, Ordered as analogInId, device, and channel
 analogIns = (
 )
 
 # sysFs analog inputs, Ordered as analogInId, device, and channel
 analogIns = (
-    (XP_TP, 0, 0),
-    (XN_TP, 0, 1),
-    (YP_TP, 0, 2),
-    (YN_TP, 0, 3),
+    (XP_TP, 1, 0),
+    (XN_TP, 1, 1),
+    (YP_TP, 1, 2),
+    (YN_TP, 1, 3),
 )
 )