From: Ryan L Date: Wed, 22 Jun 2022 19:19:19 +0000 (+0100) Subject: Merge remote-tracking branch 'adafruit/main' X-Git-Tag: 8.23.0~1^2~29 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/d50f67848c801bc48f5e98e7236a6869264b22ab?hp=ac9c311d6e3b7419c891f8c116c63503724385c5 Merge remote-tracking branch 'adafruit/main' --- diff --git a/src/adafruit_blinka/board/linksprite/__init__.py b/src/adafruit_blinka/board/linksprite/__init__.py new file mode 100644 index 0000000..9a9ed73 --- /dev/null +++ b/src/adafruit_blinka/board/linksprite/__init__.py @@ -0,0 +1 @@ +"""Boards definition from Linksprite Pcduino""" diff --git a/src/adafruit_blinka/board/linksprite/pcduino2.py b/src/adafruit_blinka/board/linksprite/pcduino2.py new file mode 100644 index 0000000..77b1512 --- /dev/null +++ b/src/adafruit_blinka/board/linksprite/pcduino2.py @@ -0,0 +1,63 @@ +"""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 +MSIO = D12 +CS = D10 + + +#P6 Header +SCLK2 = pin.PC20 +SCK2 = SCLK2 +MOSI2 = pin.PC21 +MSIO2 = pin.PC22 +CS2 = pin.PC19 + +#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 \ No newline at end of file diff --git a/src/adafruit_blinka/microcontroller/allwinner/a10/__init__.py b/src/adafruit_blinka/microcontroller/allwinner/a10/__init__.py new file mode 100644 index 0000000..636cc0c --- /dev/null +++ b/src/adafruit_blinka/microcontroller/allwinner/a10/__init__.py @@ -0,0 +1 @@ +"""Definition for the AllWinner A10 chip""" \ No newline at end of file diff --git a/src/adafruit_blinka/microcontroller/allwinner/a10/pin.py b/src/adafruit_blinka/microcontroller/allwinner/a10/pin.py new file mode 100644 index 0000000..12b07b9 --- /dev/null +++ b/src/adafruit_blinka/microcontroller/allwinner/a10/pin.py @@ -0,0 +1,84 @@ +"""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 as able to operate as four seperate adc chanels +XN_TP = 2 #offering 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), +) \ No newline at end of file diff --git a/src/analogio.py b/src/analogio.py index 23dfb0d..54c5cec 100644 --- a/src/analogio.py +++ b/src/analogio.py @@ -30,6 +30,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: diff --git a/src/board.py b/src/board.py index 173c854..3a51e5c 100644 --- a/src/board.py +++ b/src/board.py @@ -196,6 +196,9 @@ 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.SOPINE: from adafruit_blinka.board.soPine import * diff --git a/src/digitalio.py b/src/digitalio.py index 24e65e9..6b89bf0 100644 --- a/src/digitalio.py +++ b/src/digitalio.py @@ -22,6 +22,8 @@ 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.SUN8I: from adafruit_blinka.microcontroller.allwinner.h3.pin import Pin elif detector.chip.SAMA5: @@ -52,6 +54,8 @@ 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.A64: from adafruit_blinka.microcontroller.allwinner.a64.pin import Pin elif detector.chip.A33: diff --git a/src/microcontroller/__init__.py b/src/microcontroller/__init__.py index c72fc83..6865c4e 100644 --- a/src/microcontroller/__init__.py +++ b/src/microcontroller/__init__.py @@ -46,6 +46,8 @@ elif chip_id == ap_chip.AM33XX: from adafruit_blinka.microcontroller.am335x 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.SUN8I: from adafruit_blinka.microcontroller.allwinner.h3 import * elif chip_id == ap_chip.H5: @@ -76,6 +78,8 @@ 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.A64: from adafruit_blinka.microcontroller.allwinner.a64 import * elif chip_id == ap_chip.A33: diff --git a/src/microcontroller/pin.py b/src/microcontroller/pin.py index f283b74..79627c0 100644 --- a/src/microcontroller/pin.py +++ b/src/microcontroller/pin.py @@ -31,6 +31,8 @@ elif chip_id == ap_chip.AM33XX: from adafruit_blinka.microcontroller.am335x.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.SUN8I: from adafruit_blinka.microcontroller.allwinner.h3.pin import * elif chip_id == ap_chip.H3: @@ -79,6 +81,8 @@ 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.A64: from adafruit_blinka.microcontroller.allwinner.a64.pin import * elif chip_id == ap_chip.A33: diff --git a/src/pwmio.py b/src/pwmio.py index f4d6a8c..ca64028 100644 --- a/src/pwmio.py +++ b/src/pwmio.py @@ -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_rock_pi_board: