]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge remote-tracking branch 'adafruit/main'
authorRyan L <ryestar101@gmail.com>
Sun, 12 Feb 2023 19:54:51 +0000 (19:54 +0000)
committerRyan L <ryestar101@gmail.com>
Sun, 12 Feb 2023 19:54:51 +0000 (19:54 +0000)
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/a10/__init__.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/allwinner/a10/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..9bf5878
--- /dev/null
@@ -0,0 +1,67 @@
+"""Pin definitions for the Pcduino2."""
+from adafruit_blinka.microcontroller.allwinner.a10 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..6e11d72
--- /dev/null
@@ -0,0 +1,70 @@
+"""Pin definitions for the Pcduino3."""
+from adafruit_blinka.microcontroller.allwinner.a10 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/a10/__init__.py b/src/adafruit_blinka/microcontroller/allwinner/a10/__init__.py
new file mode 100644 (file)
index 0000000..24786e4
--- /dev/null
@@ -0,0 +1 @@
+"""Definition for the AllWinner A10 chip"""
diff --git a/src/adafruit_blinka/microcontroller/allwinner/a10/pin.py b/src/adafruit_blinka/microcontroller/allwinner/a10/pin.py
new file mode 100644 (file)
index 0000000..cc7e3ae
--- /dev/null
@@ -0,0 +1,87 @@
+"""Allwinner A10 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..5721ef7e27b9b2eecdb78946b6c224e29b691f36 100644 (file)
@@ -39,6 +39,8 @@ 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 "sphinx" in sys.modules:
     pass
 elif detector.board.pico_u2if:
index 25283e99ede27c4a2ad2906f4763eedfca95c414..c389fded8d15ea25175542434523ca6028105e79 100644 (file)
@@ -217,6 +217,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 ed31d0a60327e99face7eddc05293d1a96bef195..46af5eac3854c95f578ac8d15de224c71b9fb882 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.a10.pin import Pin
+elif detector.chip.SUN7I:
+    from adafruit_blinka.microcontroller.allwinner.a10.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.a10.pin import Pin
+elif detector.chip.A30:
+    from adafruit_blinka.microcontroller.allwinner.a10.pin import Pin
 elif detector.chip.A64:
     from adafruit_blinka.microcontroller.allwinner.a64.pin import Pin
 elif detector.chip.A33:
index 0951c0ed23e7ba96cbe5ffb33af56043fd7325b4..a73c4dd6d6c02331143042710f7346973d3312b9 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.a10 import *
+elif chip_id == ap_chip.SUN7I:
+    from adafruit_blinka.microcontroller.allwinner.a10 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.a10 import *
+elif chip_id == ap_chip.A20:
+    from adafruit_blinka.microcontroller.allwinner.a10 import *
 elif chip_id == ap_chip.A64:
     from adafruit_blinka.microcontroller.allwinner.a64 import *
 elif chip_id == ap_chip.A33:
index a5b7ede3045d4e7cb83eca8de85ffaaae03074fa..bd6702bf18c90710ee7714078729b661d60b3892 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.a10.pin import *
+elif chip_id == ap_chip.SUN7I:
+    from adafruit_blinka.microcontroller.allwinner.a10.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.a10.pin import *
+elif chip_id == ap_chip.A20:
+    from adafruit_blinka.microcontroller.allwinner.a10.pin import *
 elif chip_id == ap_chip.A64:
     from adafruit_blinka.microcontroller.allwinner.a64.pin import *
 elif chip_id == ap_chip.A33:
index ccf44209647be4c9e2987951a4fefc8d897cdc56..e2832975c7eca0136e994c527d56d315971177f1 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 PMWOut
 elif detector.board.any_beaglebone:
     from adafruit_blinka.microcontroller.am335x.sysfs_pwmout import PWMOut
 elif detector.board.any_siemens_simatic_iot2000: