From: Melissa LeBlanc-Williams Date: Mon, 3 Jun 2024 20:12:56 +0000 (-0700) Subject: Merge pull request #837 from brentru/fix-spi-generic-board X-Git-Tag: 8.40.1 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/e8e7bb138aa7b4f643a9b61857edd63e4cb2ecbf?hp=8be61e1bc970b640711b0389ef660b4291cc919c Merge pull request #837 from brentru/fix-spi-generic-board Fix SPI on generic board --- diff --git a/src/adafruit_blinka/board/radxa/radxazero3.py b/src/adafruit_blinka/board/radxa/radxazero3.py new file mode 100644 index 0000000..46a44d6 --- /dev/null +++ b/src/adafruit_blinka/board/radxa/radxazero3.py @@ -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 index 0000000..a9c3af8 --- /dev/null +++ b/src/adafruit_blinka/board/walnutpi/__init__.py @@ -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 index 0000000..0297b27 --- /dev/null +++ b/src/adafruit_blinka/board/walnutpi/walnutpi1b.py @@ -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 diff --git a/src/adafruit_blinka/microcontroller/allwinner/h616/pin.py b/src/adafruit_blinka/microcontroller/allwinner/h616/pin.py index 3ee5a9c..b8d9103 100644 --- a/src/adafruit_blinka/microcontroller/allwinner/h616/pin.py +++ b/src/adafruit_blinka/microcontroller/allwinner/h616/pin.py @@ -4,96 +4,103 @@ """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 diff --git a/src/adafruit_blinka/microcontroller/rockchip/rk3566/pin.py b/src/adafruit_blinka/microcontroller/rockchip/rk3566/pin.py index 534443f..1a8952b 100644 --- a/src/adafruit_blinka/microcontroller/rockchip/rk3566/pin.py +++ b/src/adafruit_blinka/microcontroller/rockchip/rk3566/pin.py @@ -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), ] diff --git a/src/board.py b/src/board.py index 4d7d2c3..62af763 100644 --- a/src/board.py +++ b/src/board.py @@ -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 *