--- /dev/null
+"""Boards definition from Linksprite Pcduino based boards"""
--- /dev/null
+"""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
--- /dev/null
+"""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
--- /dev/null
+"""Definition for the AllWinner A10 chip"""
--- /dev/null
+"""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),
+)
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:
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 *
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:
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:
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:
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:
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:
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:
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: