]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge remote-tracking branch 'adafruit/main'
authorRyan L <ryestar101@gmail.com>
Tue, 6 Jun 2023 22:17:35 +0000 (23:17 +0100)
committerRyan L <ryestar101@gmail.com>
Tue, 6 Jun 2023 22:17:35 +0000 (23:17 +0100)
src/adafruit_blinka/board/linksprite/__init__.py [new file with mode: 0644]
src/adafruit_blinka/board/linksprite/pcduino2.py [new file with mode: 0644]
src/adafruit_blinka/board/linksprite/pcduino3.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/allwinner/a20/__init__.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/allwinner/a20/pin.py [new file with mode: 0644]
src/analogio.py
src/board.py
src/digitalio.py
src/microcontroller/__init__.py
src/microcontroller/pin.py
src/pwmio.py

diff --git a/src/adafruit_blinka/board/linksprite/__init__.py b/src/adafruit_blinka/board/linksprite/__init__.py
new file mode 100644 (file)
index 0000000..333c1b1
--- /dev/null
@@ -0,0 +1 @@
+"""Boards definition from Linksprite Pcduino based boards"""
diff --git a/src/adafruit_blinka/board/linksprite/pcduino2.py b/src/adafruit_blinka/board/linksprite/pcduino2.py
new file mode 100644 (file)
index 0000000..43bb3bb
--- /dev/null
@@ -0,0 +1,67 @@
+"""Pin definitions for the Pcduino2."""
+from adafruit_blinka.microcontroller.allwinner.a20 import pin
+
+# J11 Header
+D0 = pin.PI19
+D1 = pin.PI18
+D2 = pin.PH7
+D3 = pin.PH6
+D4 = pin.PH8
+D5 = pin.PB2
+D6 = pin.PI3
+D7 = pin.PH9
+
+# J8 Header
+D8 = pin.PH10
+D9 = pin.PH5
+D10 = pin.PI10
+D11 = pin.PI12
+D12 = pin.PI13
+D13 = pin.PI11
+SDA = pin.PB21
+SCL = pin.PB20
+
+# J9 Header
+# A0 & A1 are LRADC pins with only 6-bit resolution and unlike other pins are only limited to 2v
+A2 = pin.XP_TP
+A3 = pin.XN_TP
+A4 = pin.YP_TP
+A5 = pin.YN_TP
+
+# P7 Header
+SCLK = D13
+SCK = SCLK
+MOSI = D11
+MISO = D12
+CS = D10
+
+
+# P6 Header
+D22 = pin.PC20
+SCLK2 = D22
+SCK2 = SCLK2
+D23 = pin.PC21
+MOSI2 = D23
+D20 = pin.PC22
+MISO2 = D20
+D21 = pin.PC19
+CS2 = D21
+
+# P10 Header
+D14 = pin.PH11
+D15 = pin.PH12
+D16 = pin.PH13
+D17 = pin.PH14
+
+UART2_TX = D1
+UART2_RX = D0
+UART5_TX = D3
+UART5_RX = D2
+
+PWM0 = D5
+PWM1 = D6
+
+# Misc
+BACK_SW = pin.PH17  # Three buttons featured on the board
+HOME_SW = pin.PH18
+MENU_SW = pin.PH19
diff --git a/src/adafruit_blinka/board/linksprite/pcduino3.py b/src/adafruit_blinka/board/linksprite/pcduino3.py
new file mode 100644 (file)
index 0000000..e7a7684
--- /dev/null
@@ -0,0 +1,70 @@
+"""Pin definitions for the Pcduino3."""
+from adafruit_blinka.microcontroller.allwinner.a20 import pin
+
+# Pin wise this is the same as the Pcduino2 but features a daul core A20
+# # rather than a single core A10
+
+# J11 Header
+D0 = pin.PI19
+D1 = pin.PI18
+D2 = pin.PH7
+D3 = pin.PH6
+D4 = pin.PH8
+D5 = pin.PB2
+D6 = pin.PI3
+D7 = pin.PH9
+
+# J8 Header
+D8 = pin.PH10
+D9 = pin.PH5
+D10 = pin.PI10
+D11 = pin.PI12
+D12 = pin.PI13
+D13 = pin.PI11
+SDA = pin.PB21
+SCL = pin.PB20
+
+# J9 Header
+# A0 & A1 are LRADC pins with only 6-bit resolution and unlike other pins are only limited to 2v
+A2 = pin.XP_TP
+A3 = pin.XN_TP
+A4 = pin.YP_TP
+A5 = pin.YN_TP
+
+# P7 Header
+SCLK = D13
+SCK = SCLK
+MOSI = D11
+MISO = D12
+CS = D10
+
+
+# P6 Header
+D22 = pin.PC20
+SCLK2 = D22
+SCK2 = SCLK2
+D23 = pin.PC21
+MOSI2 = D23
+D20 = pin.PC22
+MISO2 = D20
+D21 = pin.PC19
+CS2 = D21
+
+# P10 Header
+D14 = pin.PH11
+D15 = pin.PH12
+D16 = pin.PH13
+D17 = pin.PH14
+
+UART2_TX = D1
+UART2_RX = D0
+UART5_TX = D3
+UART5_RX = D2
+
+PWM0 = D5
+PWM1 = D6
+
+# Misc
+BACK_SW = pin.PH17  # Three buttons featured on the board
+HOME_SW = pin.PH18
+MENU_SW = pin.PH19
diff --git a/src/adafruit_blinka/microcontroller/allwinner/a20/__init__.py b/src/adafruit_blinka/microcontroller/allwinner/a20/__init__.py
new file mode 100644 (file)
index 0000000..1d34a42
--- /dev/null
@@ -0,0 +1 @@
+"""Definition for the AllWinner A20 chip"""
diff --git a/src/adafruit_blinka/microcontroller/allwinner/a20/pin.py b/src/adafruit_blinka/microcontroller/allwinner/a20/pin.py
new file mode 100644 (file)
index 0000000..a9041dd
--- /dev/null
@@ -0,0 +1,87 @@
+"""Allwinner A20 pin names"""
+from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
+
+PB2 = Pin(34)  # PB2/PWM0
+PWM0 = PB2
+PB20 = Pin(52)  # PB20/TWI2_SDL
+TWI2_SCL = PB20
+PB21 = Pin(53)  # PB20/TWI2_SDA
+TWI2_SDA = PB21
+
+PC19 = Pin(83)  # PC19/SPI2_CS
+SPI2_CS = PC19
+PC20 = Pin(84)  # PC20/SPI2_SCLK
+SPI2_SCLK = PC20
+PC21 = Pin(85)  # PC21/SPI2_MOSI
+SPI2_MOSI = PC21
+PC22 = Pin(86)  # PC22/SPI2_MISO
+SPI2_MISO = PC22
+
+PH5 = Pin(229)
+PH6 = Pin(230)  # PH6/UART5_TX
+UART5_TX = PH6
+PH7 = Pin(231)  # PH7/UART5_RX
+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)
+
+PI3 = Pin(259)  # PI3/PWM1
+PWM1 = PI3
+PI10 = Pin(266)  # PI10/SPI0_CS/UART5_TX
+SPI0_CS = PI10
+PI11 = Pin(267)  # PI11/SPI0_SCLK/UART5_RX
+SPI0_SCLK = PI11
+PI12 = Pin(268)
+SPI0_MOSI = PI12
+UART6_TX = PI12
+PI13 = Pin(269)
+SPI0_MISO = PI13
+UART6_RX = PI13
+PI18 = Pin(274)  # PI18/UART2_TX
+UART2_TX = PI18
+PI19 = Pin(275)  # PI19/UART2_RX
+UART2_RX = PI19
+
+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.
+YP_TP = 3
+YN_TP = 4
+
+# Ordered as i2cId, SCL, SDA
+i2cPorts = ((2, TWI2_SCL, TWI2_SDA),)
+
+# Ordered as spiId, clkId, mosiId, misoId
+spiPorts = (
+    (0, SPI0_SCLK, SPI0_MOSI, SPI0_MISO),
+    (2, SPI2_SCLK, SPI2_MOSI, SPI2_MISO),
+)
+
+# ordered as uartId, txId, rxId
+uartPorts = (
+    (2, UART2_TX, UART2_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),
+)
+
+# 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),
+)
index 58381b008357c1a8f17ec8341e01fa58ae57ec0a..e3ebb39d82bd8d63d591dfa79110354f664646d3 100644 (file)
@@ -39,6 +39,10 @@ elif detector.chip.IMX6ULL:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 elif detector.chip.STM32MP157:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
+elif detector.chip.A10:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
+elif detector.chip.A20:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 elif "sphinx" in sys.modules:
     pass
 elif detector.board.pico_u2if:
index 89a2a73609c1410643ab49babec6cdd02e440164..bdb94ac0867d940804079a5e7f526fed18902b99 100644 (file)
@@ -223,6 +223,12 @@ elif board_id == ap_board.PINE64:
 elif board_id == ap_board.PINEH64:
     from adafruit_blinka.board.pineH64 import *
 
+elif board_id == ap_board.PCDUINO2:
+    from adafruit_blinka.board.linksprite.pcduino2 import *
+
+elif board_id == ap_board.PCDUINO3:
+    from adafruit_blinka.board.linksprite.pcduino3 import *
+
 elif board_id == ap_board.SOPINE:
     from adafruit_blinka.board.soPine import *
 
index 7ce324002821ca87bfb0dfce8eec6d2f82e3f311..e7fe0475f51fd7ae8154a7a6b2ff1b2865df5ab5 100644 (file)
@@ -25,6 +25,10 @@ elif detector.chip.JH71x0:
     from adafruit_blinka.microcontroller.starfive.JH71x0.pin import Pin
 elif detector.chip.DRA74X:
     from adafruit_blinka.microcontroller.dra74x.pin import Pin
+elif detector.chip.SUN4I:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import Pin
+elif detector.chip.SUN7I:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import Pin
 elif detector.chip.SUN8I:
     from adafruit_blinka.microcontroller.allwinner.h3.pin import Pin
 elif detector.chip.SAMA5:
@@ -59,6 +63,10 @@ elif detector.chip.IMX6ULL:
     from adafruit_blinka.microcontroller.nxp_imx6ull.pin import Pin
 elif detector.chip.HFU540:
     from adafruit_blinka.microcontroller.hfu540.pin import Pin
+elif detector.chip.A10:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import Pin
+elif detector.chip.A30:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import Pin
 elif detector.chip.A64:
     from adafruit_blinka.microcontroller.allwinner.a64.pin import Pin
 elif detector.chip.A33:
index 715c080a021369363775041f74288ae3d6634b94..d04d2ee15c28d4de535b2da61acd7537cd6a1113 100644 (file)
@@ -48,6 +48,10 @@ elif chip_id == ap_chip.AM65XX:
     from adafruit_blinka.microcontroller.am65xx import *
 elif chip_id == ap_chip.JH71x0:
     from adafruit_blinka.microcontroller.starfive.JH71x0 import *
+elif chip_id == ap_chip.SUN4I:
+    from adafruit_blinka.microcontroller.allwinner.a20 import *
+elif chip_id == ap_chip.SUN7I:
+    from adafruit_blinka.microcontroller.allwinner.a20 import *
 elif chip_id == ap_chip.SUN8I:
     from adafruit_blinka.microcontroller.allwinner.h3 import *
 elif chip_id == ap_chip.H5:
@@ -82,6 +86,10 @@ elif chip_id == ap_chip.EXYNOS5422:
     from adafruit_blinka.microcontroller.samsung.exynos5422 import *
 elif chip_id == ap_chip.APQ8016:
     from adafruit_blinka.microcontroller.snapdragon.apq8016 import *
+elif chip_id == ap_chip.A10:
+    from adafruit_blinka.microcontroller.allwinner.a20 import *
+elif chip_id == ap_chip.A20:
+    from adafruit_blinka.microcontroller.allwinner.a20 import *
 elif chip_id == ap_chip.A64:
     from adafruit_blinka.microcontroller.allwinner.a64 import *
 elif chip_id == ap_chip.A33:
index ebdac6bbbb48317528a505e1a52b789c41ff8633..fdd77ddef20d159f3baa6862a2c00affbf6d0282 100644 (file)
@@ -33,6 +33,10 @@ elif chip_id == ap_chip.AM65XX:
     from adafruit_blinka.microcontroller.am65xx.pin import *
 elif chip_id == ap_chip.JH71x0:
     from adafruit_blinka.microcontroller.starfive.JH71x0.pin import *
+elif chip_id == ap_chip.SUN4I:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import *
+elif chip_id == ap_chip.SUN7I:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import *
 elif chip_id == ap_chip.SUN8I:
     from adafruit_blinka.microcontroller.allwinner.h3.pin import *
 elif chip_id == ap_chip.H3:
@@ -85,6 +89,10 @@ elif chip_id == ap_chip.LPC4330:
     from adafruit_blinka.microcontroller.nxp_lpc4330.pin import *
 elif chip_id == ap_chip.MCP2221:
     from adafruit_blinka.microcontroller.mcp2221.pin import *
+elif chip_id == ap_chip.A10:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import *
+elif chip_id == ap_chip.A20:
+    from adafruit_blinka.microcontroller.allwinner.a20.pin import *
 elif chip_id == ap_chip.A64:
     from adafruit_blinka.microcontroller.allwinner.a64.pin import *
 elif chip_id == ap_chip.A33:
index 57854df42b736a6fa61ae6a9a9c954ad3791dbee..d19a855533bdc46bb4a8040f324c68fd1ff991ab 100644 (file)
@@ -22,6 +22,8 @@ elif detector.board.any_coral_board:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
 elif detector.board.any_giant_board:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
+elif detector.board.any_pcduino_board:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_pwmout import PWMOut
 elif detector.board.any_beaglebone:
     from adafruit_blinka.microcontroller.am335x.sysfs_pwmout import PWMOut
 elif detector.board.any_siemens_simatic_iot2000: