]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge pull request #837 from brentru/fix-spi-generic-board 8.40.1
authorMelissa LeBlanc-Williams <melissa@adafruit.com>
Mon, 3 Jun 2024 20:12:56 +0000 (13:12 -0700)
committerGitHub <noreply@github.com>
Mon, 3 Jun 2024 20:12:56 +0000 (13:12 -0700)
Fix SPI on generic board

src/adafruit_blinka/board/radxa/radxazero3.py [new file with mode: 0644]
src/adafruit_blinka/board/walnutpi/__init__.py [new file with mode: 0644]
src/adafruit_blinka/board/walnutpi/walnutpi1b.py [new file with mode: 0644]
src/adafruit_blinka/microcontroller/allwinner/h616/pin.py
src/adafruit_blinka/microcontroller/rockchip/rk3566/pin.py
src/board.py

diff --git a/src/adafruit_blinka/board/radxa/radxazero3.py b/src/adafruit_blinka/board/radxa/radxazero3.py
new file mode 100644 (file)
index 0000000..46a44d6
--- /dev/null
@@ -0,0 +1,65 @@
+# SPDX-FileCopyrightText: 2024 Burberius
+#
+# SPDX-License-Identifier: MIT
+"""Pin definitions for the Radxa ZERO 3 (3E and 3W)"""
+
+from adafruit_blinka.microcontroller.rockchip.rk3566 import pin
+
+# ZERO 3 IO pins
+
+D1_A0 = pin.GPIO1_A0
+D1_A1 = pin.GPIO1_A1
+D3_C4 = pin.GPIO3_C4
+D3_A1 = pin.GPIO3_A1
+D3_A2 = pin.GPIO3_A2
+D3_B0 = pin.GPIO3_B0
+D4_C3 = pin.GPIO4_C3
+D4_C5 = pin.GPIO4_C5
+D4_C2 = pin.GPIO4_C2
+D4_B2 = pin.GPIO4_B2
+D3_B3 = pin.GPIO3_B3
+D3_B4 = pin.GPIO3_B4
+D3_C3 = pin.GPIO3_C3
+D3_A4 = pin.GPIO3_A4
+D1_A4 = pin.GPIO1_A4
+D0_D1 = pin.GPIO0_D1
+D0_D0 = pin.GPIO0_D0
+D3_A3 = pin.GPIO3_A3
+D3_B1 = pin.GPIO3_B1
+D3_B2 = pin.GPIO3_B2
+D3_C1 = pin.GPIO3_C1
+D4_C6 = pin.GPIO4_C6
+D4_B3 = pin.GPIO4_B3
+D3_C2 = pin.GPIO3_C2
+D3_A7 = pin.GPIO3_A7
+D3_A6 = pin.GPIO3_A6
+D3_A5 = pin.GPIO3_A5
+
+
+# I2C
+SDA = D1_A0
+SCL = D1_A1
+
+# SPI
+CE0 = D4_C6
+SCLK = D4_C2
+MOSI = D4_C3
+MISO = D4_C5
+
+# UART aliases
+UART_TX = D0_D1
+UART_RX = D0_D0
+UART2_TX = UART_TX
+UART2_RX = UART_RX
+UART3_TX = D1_A1
+UART3_RX = D1_A0
+UART4_TX = D3_B2
+UART4_RX = D3_B1
+UART5_TX = D3_C2
+UART5_RX = D3_C3
+UART9_TX = D4_C5
+UART9_RX = D4_C6
+TXD = D0_D1
+RXD = D0_D0
+TX = D0_D1
+RX = D0_D0
diff --git a/src/adafruit_blinka/board/walnutpi/__init__.py b/src/adafruit_blinka/board/walnutpi/__init__.py
new file mode 100644 (file)
index 0000000..a9c3af8
--- /dev/null
@@ -0,0 +1,4 @@
+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
+"""Board definitions from WalnutPi"""
diff --git a/src/adafruit_blinka/board/walnutpi/walnutpi1b.py b/src/adafruit_blinka/board/walnutpi/walnutpi1b.py
new file mode 100644 (file)
index 0000000..0297b27
--- /dev/null
@@ -0,0 +1,52 @@
+# SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
+"""Pin definitions for the Walnut Pi 1b ."""
+
+from adafruit_blinka.microcontroller.allwinner.h616 import pin
+
+PI8 = pin.PI8
+SDA1 = pin.PI8
+PI7 = pin.PI7
+SCL1 = pin.PI7
+PC8 = pin.PC8
+PC9 = pin.PC9
+PC11 = pin.PC11
+PI11 = pin.PI11
+PH6 = pin.PH6
+SCLK = pin.PH6
+PH7 = pin.PH7
+MOSI = pin.PH7
+PH8 = pin.PH8
+MISO = pin.PH8
+PI10 = pin.PI10
+SDA2 = pin.PI10
+PI0 = pin.PI0
+PI1 = pin.PI1
+PI2 = pin.PI2
+PI3 = pin.PI3
+PI4 = pin.PI4
+
+PI5 = pin.PI5
+TX2 = pin.PI5
+PI6 = pin.PI6
+RX2 = pin.PI6
+PC10 = pin.PC10
+PI12 = pin.PI12
+PC14 = pin.PC14
+PC15 = pin.PC15
+PH5 = pin.PH5
+CS0 = pin.PH5
+PH9 = pin.PH9
+CS1 = pin.PH9
+PI9 = pin.PI9
+SCL2 = pin.PI9
+PI16 = pin.PI16
+PI15 = pin.PI15
+PI13 = pin.PI13
+TX4 = pin.PI13
+PI14 = pin.PI14
+RX4 = pin.PI14
+
+KEY = pin.PC12
+LED = pin.PC13
index 3ee5a9c9e9bc42de05eb39c5121aaca0c1ffd2fa..b8d910363f74a4d23fb93e4da88213dab3989ba5 100644 (file)
 """Allwinner H616 Pin Names"""
 from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin
 
-PC0 = Pin((1, 64))
+__chip_num = 1
+with open("/sys/class/gpio/gpiochip0/label", "r") as f:
+    label = f.read().strip()
+    if label == "300b000.pinctrl":
+        __chip_num = 0
+
+
+PC0 = Pin((__chip_num, 64))
 SPI0_SCLK = PC0
-PC1 = Pin((1, 65))
-PC2 = Pin((1, 66))
+PC1 = Pin((__chip_num, 65))
+PC2 = Pin((__chip_num, 66))
 SPI0_MOSI = PC2
-PC3 = Pin((1, 67))
+PC3 = Pin((__chip_num, 67))
 SPI0_CS0 = PC3
-PC4 = Pin((1, 68))
+PC4 = Pin((__chip_num, 68))
 SPI0_MISO = PC4
-PC5 = Pin((1, 69))
-PC6 = Pin((1, 70))
-PC7 = Pin((1, 71))
-PC8 = Pin((1, 72))
-PC9 = Pin((1, 73))
-PC10 = Pin((1, 74))
-PC11 = Pin((1, 75))
-PC12 = Pin((1, 76))
-PC13 = Pin((1, 77))
-PC14 = Pin((1, 78))
-PC15 = Pin((1, 79))
+PC5 = Pin((__chip_num, 69))
+PC6 = Pin((__chip_num, 70))
+PC7 = Pin((__chip_num, 71))
+PC8 = Pin((__chip_num, 72))
+PC9 = Pin((__chip_num, 73))
+PC10 = Pin((__chip_num, 74))
+PC11 = Pin((__chip_num, 75))
+PC12 = Pin((__chip_num, 76))
+PC13 = Pin((__chip_num, 77))
+PC14 = Pin((__chip_num, 78))
+PC15 = Pin((__chip_num, 79))
 
-PF0 = Pin((1, 160))
-PF1 = Pin((1, 161))
-PF2 = Pin((1, 162))
-PF3 = Pin((1, 163))
-PF4 = Pin((1, 164))
-PF5 = Pin((1, 165))
-PF6 = Pin((1, 166))
+PF0 = Pin((__chip_num, 160))
+PF1 = Pin((__chip_num, 161))
+PF2 = Pin((__chip_num, 162))
+PF3 = Pin((__chip_num, 163))
+PF4 = Pin((__chip_num, 164))
+PF5 = Pin((__chip_num, 165))
+PF6 = Pin((__chip_num, 166))
 
-PG0 = Pin((1, 192))
-PG1 = Pin((1, 193))
-PG2 = Pin((1, 194))
-PG3 = Pin((1, 195))
-PG4 = Pin((1, 196))
-PG5 = Pin((1, 197))
-PG6 = Pin((1, 198))
-PG7 = Pin((1, 199))
-PG8 = Pin((1, 200))
-PG9 = Pin((1, 201))
-PG10 = Pin((1, 202))
-PG11 = Pin((1, 203))
-PG12 = Pin((1, 204))
-PG13 = Pin((1, 205))
-PG14 = Pin((1, 206))
-PG15 = Pin((1, 207))
-PG16 = Pin((1, 208))
-PG17 = Pin((1, 209))
-PG18 = Pin((1, 210))
-PG19 = Pin((1, 211))
+PG0 = Pin((__chip_num, 192))
+PG1 = Pin((__chip_num, 193))
+PG2 = Pin((__chip_num, 194))
+PG3 = Pin((__chip_num, 195))
+PG4 = Pin((__chip_num, 196))
+PG5 = Pin((__chip_num, 197))
+PG6 = Pin((__chip_num, 198))
+PG7 = Pin((__chip_num, 199))
+PG8 = Pin((__chip_num, 200))
+PG9 = Pin((__chip_num, 201))
+PG10 = Pin((__chip_num, 202))
+PG11 = Pin((__chip_num, 203))
+PG12 = Pin((__chip_num, 204))
+PG13 = Pin((__chip_num, 205))
+PG14 = Pin((__chip_num, 206))
+PG15 = Pin((__chip_num, 207))
+PG16 = Pin((__chip_num, 208))
+PG17 = Pin((__chip_num, 209))
+PG18 = Pin((__chip_num, 210))
+PG19 = Pin((__chip_num, 211))
 
-PH0 = Pin((1, 224))
-PH1 = Pin((1, 225))
-PH2 = Pin((1, 226))
+PH0 = Pin((__chip_num, 224))
+PH1 = Pin((__chip_num, 225))
+PH2 = Pin((__chip_num, 226))
 UART5_TX = PH2
-PH3 = Pin((1, 227))
+PH3 = Pin((__chip_num, 227))
 UART5_RX = PH3
-PH4 = Pin((1, 228))
+PH4 = Pin((__chip_num, 228))
 TWI3_SCL = PH4
-PH5 = Pin((1, 229))
+PH5 = Pin((__chip_num, 229))
 UART2_TX = PH5
 TWI3_SDA = PH5
 SPI1_CS0 = PH5
-PH6 = Pin((1, 230))
+PH6 = Pin((__chip_num, 230))
 UART2_RX = PH6
 SPI1_SCLK = PH6
-PH7 = Pin((1, 231))
+PH7 = Pin((__chip_num, 231))
 SPI1_MOSI = PH7
-PH8 = Pin((1, 232))
+PH8 = Pin((__chip_num, 232))
 SPI1_MISO = PH8
-PH9 = Pin((1, 233))
+PH9 = Pin((__chip_num, 233))
 SPI1_CS1 = PH9
-PH10 = Pin((1, 234))
+PH10 = Pin((__chip_num, 234))
 
-PI0 = Pin((1, 256))
-PI1 = Pin((1, 257))
-PI2 = Pin((1, 258))
-PI3 = Pin((1, 259))
-PI4 = Pin((1, 260))
-PI5 = Pin((1, 261))
-PI6 = Pin((1, 262))
-PI7 = Pin((1, 263))
-PI8 = Pin((1, 264))
-PI9 = Pin((1, 265))
-PI10 = Pin((1, 266))
-PI11 = Pin((1, 267))
-PI12 = Pin((1, 268))
-PI13 = Pin((1, 269))
-PI14 = Pin((1, 270))
-PI15 = Pin((1, 271))
-PI16 = Pin((1, 272))
+PI0 = Pin((__chip_num, 256))
+PI1 = Pin((__chip_num, 257))
+PI2 = Pin((__chip_num, 258))
+PI3 = Pin((__chip_num, 259))
+PI4 = Pin((__chip_num, 260))
+PI5 = Pin((__chip_num, 261))
+PI6 = Pin((__chip_num, 262))
+PI7 = Pin((__chip_num, 263))
+PI8 = Pin((__chip_num, 264))
+PI9 = Pin((__chip_num, 265))
+PI10 = Pin((__chip_num, 266))
+PI11 = Pin((__chip_num, 267))
+PI12 = Pin((__chip_num, 268))
+PI13 = Pin((__chip_num, 269))
+PI14 = Pin((__chip_num, 270))
+PI15 = Pin((__chip_num, 271))
+PI16 = Pin((__chip_num, 272))
 
 i2cPorts = ((3, TWI3_SCL, TWI3_SDA),)
 # ordered as spiId, sckId, mosiId, misoId
index 534443fb7bae9df3016cde68addae24da8482365..1a8952b8b2938da1d58a21a5785c6b1769e82a9d 100644 (file)
@@ -171,6 +171,7 @@ i2cPorts = [
     (1, I2C1_SCL, I2C1_SDA),
     (2, I2C2_SCL_M0, I2C2_SDA_M0),
     (3, I2C3_SCL_M0, I2C3_SDA_M0),
+    (4, I2C4_SCL_M0, I2C4_SDA_M0),
     (5, I2C5_SCL_M0, I2C5_SDA_M0),
 ]
 
index 4d7d2c32d86361a538d40e9287afeb28831b201c..62af7637fb58eb6e136a7e04ef3e0e69cf7d0935 100644 (file)
@@ -267,6 +267,9 @@ elif board_id == ap_board.ROCK_PI_3C:
 elif board_id == ap_board.RADXA_ZERO:
     from adafruit_blinka.board.radxa.radxazero import *
 
+elif board_id == ap_board.RADXA_ZERO3:
+    from adafruit_blinka.board.radxa.radxazero3 import *
+
 elif board_id == ap_board.ROCK_PI_S:
     from adafruit_blinka.board.radxa.rockpis import *
 
@@ -387,6 +390,9 @@ elif board_id == ap_board.LICHEEPI_4A:
 elif board_id == ap_board.MILKV_DUO:
     from adafruit_blinka.board.milkv_duo import *
 
+elif board_id == ap_board.WALNUT_PI_1B:
+    from adafruit_blinka.board.walnutpi.walnutpi1b import *
+
 elif board_id == ap_board.OS_AGNOSTIC_BOARD:
     from adafruit_blinka.board.generic_agnostic_board import *