]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge pull request #993 from avenstewart/add-orange-pi-5-pro 8.64.0
authorMelissa LeBlanc-Williams <melissa@adafruit.com>
Mon, 18 Aug 2025 16:49:52 +0000 (09:49 -0700)
committerGitHub <noreply@github.com>
Mon, 18 Aug 2025 16:49:52 +0000 (09:49 -0700)
Add support for Orange Pi 5 Pro board

src/adafruit_blinka/board/orangepi/orangepi5pro.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/rockchip/rk3588s/pin.py
src/analogio.py
src/board.py
src/digitalio.py
src/microcontroller/__init__.py
src/microcontroller/pin.py

diff --git a/src/adafruit_blinka/board/orangepi/orangepi5pro.py b/src/adafruit_blinka/board/orangepi/orangepi5pro.py
new file mode 100644 (file)
index 0000000..976a713
--- /dev/null
@@ -0,0 +1,96 @@
+# SPDX-FileCopyrightText: 2022 Corebb
+#
+# SPDX-License-Identifier: MIT
+"""Pin definitions for the Orange Pi 5 Pro"""
+
+from adafruit_blinka.microcontroller.rockchip.rk3588 import pin
+
+# D pin number is ordered by physical pin sequence
+
+# D1 = +3.3V
+# D2 = +5V
+D3 = pin.GPIO1_D3
+# D4 = +5V
+D5 = pin.GPIO1_D2
+# D6 = GND
+D7 = pin.GPIO1_B7
+D8 = pin.GPIO0_B5
+# D9 = GND
+D10 = pin.GPIO0_B6
+D11 = pin.GPIO4_B2
+D12 = pin.GPIO1_A7
+D13 = pin.GPIO4_B3
+# D14 = GND
+D15 = pin.GPIO1_B6
+D16 = pin.GPIO1_A1
+# D17 = +3.3V
+D18 = pin.GPIO1_A0
+D19 = pin.GPIO1_B2
+# D20 = GND
+D21 = pin.GPIO1_B1
+D22 = pin.GPIO1_B0
+D23 = pin.GPIO1_B3
+D24 = pin.GPIO1_B4
+# D25 = GND
+D26 = pin.GPIO1_B5
+D27 = pin.GPIO1_A2
+D28 = pin.GPIO1_A3
+D29 = pin.GPIO1_A4
+# D30 = GND
+D31 = pin.GPIO1_A6
+D32 = pin.GPIO1_D6
+D33 = pin.GPIO1_D7
+# D34 = GND
+D35 = pin.GPIO4_A7
+D36 = pin.GPIO4_A3
+D37 = pin.GPIO4_A6
+D38 = pin.GPIO4_A4
+# D39 = GND
+D40 = pin.GPIO4_A5
+
+# UART
+UART0_TX = pin.GPIO4_A3
+UART0_RX = pin.GPIO4_A4
+UART1_TX = pin.GPIO1_B6
+UART1_RX = pin.GPIO1_B7
+UART3_TX = pin.GPIO4_A5
+UART3_RX = pin.GPIO4_A6
+UART4_TX = pin.GPIO1_D2
+UART4_RX = pin.GPIO1_D3
+
+# Default UART
+TX = UART0_TX
+RX = UART0_RX
+TXD = UART0_TX
+RXD = UART0_RX
+
+# I2C
+I2C1_SCL = pin.GPIO1_D2
+I2C1_SDA = pin.GPIO1_D3
+I2C4_SCL = pin.GPIO1_A3
+I2C4_SDA = pin.GPIO1_A2
+I2C5_SCL = pin.GPIO1_B6
+I2C5_SDA = pin.GPIO1_B7
+I2C8_SCL = pin.GPIO1_D6
+I2C8_SDA = pin.GPIO1_D7
+
+# Default I2C
+SCL = I2C1_SCL
+SDA = I2C1_SDA
+
+# SPI
+SPI0_MISO = pin.GPIO1_B1
+SPI0_MOSI = pin.GPIO1_B2
+SPI0_CLK = pin.GPIO1_B3
+SPI0_CS0 = pin.GPIO1_B4
+SPI0_CS1 = pin.GPIO1_B5
+SPI4_MISO = pin.GPIO1_A0
+SPI4_MOSI = pin.GPIO1_A1
+SPI4_CLK = pin.GPIO1_A2
+SPI4_CS0 = pin.GPIO1_A3
+
+# Default SPI
+MOSI = SPI0_MOSI
+MISO = SPI0_MISO
+SCLK = SPI0_CLK
+CS = SPI0_CS1
index 91483d3222b3227fe8f3702b8e2744316f84786c..b2a690e7a4684eb68c7dc5c04c4a0db1053c7812 100644 (file)
@@ -209,8 +209,8 @@ uartPorts = (
 # I2C0_SDA_M1 = GPIO4_C6
 I2C1_SCL_M0 = GPIO0_B5
 I2C1_SDA_M0 = GPIO0_B6
-# I2C1_SCL_M4 = GPIO1_B1
-# I2C1_SDA_M4 = GPIO1_B2
+I2C1_SCL_M4 = GPIO1_D2
+I2C1_SDA_M4 = GPIO1_D3
 I2C2_SCL_M4 = GPIO1_A1
 I2C2_SDA_M4 = GPIO1_A0
 # I2C3_SCL_M1 = GPIO3_B7
@@ -228,7 +228,7 @@ I2C8_SDA_M2 = GPIO1_D7
 
 # ordered as i2cId, sclId, sdaId
 i2cPorts = (
-    (1, I2C1_SCL_M0, I2C1_SDA_M0),
+    (1, I2C1_SCL_M4, I2C1_SDA_M4),
     (2, I2C2_SCL_M4, I2C2_SDA_M4),
     (4, I2C4_SCL_M3, I2C4_SDA_M3),
     (6, I2C6_SCL_M3, I2C6_SDA_M3),
index 02a41b283e59e96dcc8f96498c4c613530466f10..89c82be6f159433c9d6cf9c2c41d2f1c7bfaac6b 100644 (file)
@@ -32,6 +32,8 @@ elif detector.chip.RK3399:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 elif detector.chip.RK3588:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
+elif detector.chip.RK3588S:
+    from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 elif detector.chip.RK3568:
     from adafruit_blinka.microcontroller.generic_linux.sysfs_analogin import AnalogIn
 elif detector.chip.RK3566:
index 5d51a692f2b9868f204ced1f882f2eff29bd97c8..34a54b5ac01f6bb74ca84ae3bc495a36310bd456 100644 (file)
@@ -146,6 +146,9 @@ elif board_id == ap_board.ORANGE_PI_4_LTS:
 elif board_id in (ap_board.ORANGE_PI_5, ap_board.ORANGE_PI_5_MAX):
     from adafruit_blinka.board.orangepi.orangepi5 import *
 
+elif board_id == ap_board.ORANGE_PI_5_PRO:
+    from adafruit_blinka.board.orangepi.orangepi5pro import *
+
 elif board_id == ap_board.ORANGE_PI_5_PLUS:
     from adafruit_blinka.board.orangepi.orangepi5plus import *
 
index d23fce0b6aa4ecee9fb374a081117bc0d86a3842..ed9e4e0bfbb24a54498e6feca63fd97b56e5b4b3 100644 (file)
@@ -87,6 +87,8 @@ elif detector.chip.RK3399_T:
     from adafruit_blinka.microcontroller.rockchip.rk3399.pin import Pin
 elif detector.chip.RK3588:
     from adafruit_blinka.microcontroller.rockchip.rk3588.pin import Pin
+elif detector.chip.RK3588S:
+    from adafruit_blinka.microcontroller.rockchip.rk3588s.pin import Pin
 elif detector.chip.RK3328:
     from adafruit_blinka.microcontroller.rockchip.rk3328.pin import Pin
 elif detector.chip.RK3566:
index ea66e10b9895af9778621d23a71aa916e48f676f..0b76f711352881d801e3e5efaf8358780245256b 100644 (file)
@@ -109,6 +109,8 @@ elif chip_id == ap_chip.RK3399_T:
     from adafruit_blinka.microcontroller.rockchip.rk3399 import *
 elif chip_id == ap_chip.RK3588:
     from adafruit_blinka.microcontroller.rockchip.rk3588 import *
+elif chip_id == ap_chip.RK3588S:
+    from adafruit_blinka.microcontroller.rockchip.rk3588s import *
 elif chip_id == ap_chip.RK3328:
     from adafruit_blinka.microcontroller.rockchip.rk3328 import *
 elif chip_id == ap_chip.RK3566:
index b40a5119ba219136fcd7346e6e4fe166e5818df4..9dfa15f4631d7edff555799cf88afbaf065302a0 100644 (file)
@@ -118,6 +118,8 @@ elif chip_id == ap_chip.RK3399_T:
     from adafruit_blinka.microcontroller.rockchip.rk3399.pin import *
 elif chip_id == ap_chip.RK3588:
     from adafruit_blinka.microcontroller.rockchip.rk3588.pin import *
+elif chip_id == ap_chip.RK3588S:
+    from adafruit_blinka.microcontroller.rockchip.rk3588s.pin import *
 elif chip_id == ap_chip.RK3328:
     from adafruit_blinka.microcontroller.rockchip.rk3328.pin import *
 elif chip_id == ap_chip.RK3566: