From: Melissa LeBlanc-Williams Date: Mon, 5 May 2025 18:33:30 +0000 (-0700) Subject: Merge pull request #960 from vicharak-in/main X-Git-Tag: 8.57.0~8 X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/commitdiff_plain/4b39004d94055f9d7970f4aac5065c04fc2738ca?hp=706e5f8abca75dc3939a4e3464e3f655de04af58 Merge pull request #960 from vicharak-in/main board: support for vicharak vaaman and axon boards --- diff --git a/src/adafruit_blinka/board/vicharak/axon.py b/src/adafruit_blinka/board/vicharak/axon.py new file mode 100644 index 0000000..93f331b --- /dev/null +++ b/src/adafruit_blinka/board/vicharak/axon.py @@ -0,0 +1,88 @@ +# SPDX-FileCopyrightText: 2025 djkabutar +# See https://docs.vicharak.in/vicharak_sbcs/vaaman/vaaman-gpio-description for pinout +# +# SPDX-License-Identifier: MIT +"""Pin definitions for the Vicharak Vaaman.""" + +from adafruit_blinka.microcontroller.rockchip.rk3588 import pin + +D2 = pin.GPIO0_B6 +D4 = pin.GPIO0_B5 +D9 = pin.GPIO2_C1 +D10 = pin.GPIO2_B6 +D11 = pin.GPIO2_C0 +D12 = pin.GPIO2_B7 +D13 = pin.GPIO0_C0 +D17 = pin.GPIO1_D0 +D18 = pin.GPIO1_D1 +D19 = pin.GPIO1_D3 +D20 = pin.GPIO1_D2 +D23 = pin.GPIO1_B3 +D29 = pin.ADC_IN1 +D30 = pin.ADC_IN2 +D28 = pin.ADC_IN3 +D27 = pin.ADC_IN4 + +# UART +# UART2_M0 +UART2_RX = D2 +UART2_TX = D4 +# UART1_M0 +UART1_RX = D10 +UART1_TX = D12 +UART1_CSTN = D9 +UART1_RSTN = D11 +# UART6_M2 +UART6_RX = D17 +UART6_TX = D18 +# UART4_M0 +UART4_RX = D19 +UART4_TX = D20 + +# Default UART -> UART2_M0 +UART_RX = UART2_RX +UART_TX = UART2_TX + +# I2C +# I2C2_M1 +I2C2_SCL = D9 +I2C2_SDA = D11 +# I2C5_M4 +I2C5_SCL = D10 +I2C5_SDA = D12 +# I2C7_M0 +I2C7_SCL = D17 +I2C7_SDA = D18 +# I2C1_M4 +I2C1_SCL = D20 +I2C1_SDA = D19 + +# Default I2C -> I2C2_M1 +SCL = I2C2_SCL +SDA = I2C2_SDA + +# SPI +# SPI1_M2 +SPI_MOSI = D18 +SPI_MISO = D17 +SPI_CLK = D20 +SPI_SCLK = SPI_CLK +SPI_CS0 = D19 +SPI_CS = SPI_CS0 + +MOSI = D18 +MISO = D17 +SCLK = SPI_CLK +CS = D19 + +# PWM +# PWM0_M1 +PWM0 = D20 +PWM1_M0 = D13 +PWM1_M1 = D19 + +# ADC +ADC_IN1 = D29 +ADC_IN2 = D30 +ADC_IN3 = D28 +ADC_IN4 = D27 diff --git a/src/adafruit_blinka/board/vicharak/vaaman.py b/src/adafruit_blinka/board/vicharak/vaaman.py new file mode 100644 index 0000000..6147f71 --- /dev/null +++ b/src/adafruit_blinka/board/vicharak/vaaman.py @@ -0,0 +1,52 @@ +# SPDX-FileCopyrightText: 2025 djkabutar +# See https://docs.vicharak.in/vicharak_sbcs/vaaman/vaaman-gpio-description for pinout +# +# SPDX-License-Identifier: MIT +"""Pin definitions for the Vicharak Vaaman.""" + +from adafruit_blinka.microcontroller.rockchip.rk3399 import pin + +D7 = pin.GPIO2_B3 +D8 = pin.GPIO4_C4 +D10 = pin.GPIO4_C3 +D11 = pin.GPIO4_C2 +D12 = pin.GPIO4_A3 +D13 = pin.GPIO4_C6 +D15 = pin.GPIO4_C5 +D16 = pin.GPIO4_D2 +D18 = pin.GPIO4_D4 +D22 = pin.GPIO4_D5 +D27 = pin.GPIO2_A0 +D28 = pin.GPIO2_A1 +D29 = pin.GPIO2_B2 +D31 = pin.GPIO2_B1 +D32 = pin.GPIO3_C0 +D33 = pin.GPIO2_B4 +D35 = pin.GPIO4_A5 +D36 = pin.GPIO4_A4 +D37 = pin.GPIO4_D6 +D38 = pin.GPIO4_A6 +D40 = pin.GPIO4_A7 + +SDA2 = D27 +SCL2 = D28 + +SDA6 = D31 +SCL6 = D29 + +SDA7 = pin.I2C7_SDA +SCL7 = pin.I2C7_SCL + +SDA = SDA2 +SCL = SCL2 + +UART2_TX = D8 +UART2_RX = D10 + +UART_TX = UART2_TX +UART_RX = UART2_RX + +PWM0 = pin.PWM0 +PWM1 = pin.PWM1 + +ADC_IN0 = pin.ADC_IN0 diff --git a/src/adafruit_blinka/microcontroller/rockchip/rk3588/pin.py b/src/adafruit_blinka/microcontroller/rockchip/rk3588/pin.py index 3abb3b8..7f22cb5 100644 --- a/src/adafruit_blinka/microcontroller/rockchip/rk3588/pin.py +++ b/src/adafruit_blinka/microcontroller/rockchip/rk3588/pin.py @@ -175,79 +175,246 @@ GPIO4_D7 = Pin((4, 31)) # UART +UART0_TX_M0 = GPIO0_C5 +UART0_RX_M0 = GPIO0_C4 +UART0_TX_M1 = GPIO0_B1 +UART0_RX_M1 = GPIO0_B0 UART0_TX_M2 = GPIO4_A3 UART0_RX_M2 = GPIO4_A4 +UART1_TX_M0 = GPIO2_B7 +UART1_RX_M0 = GPIO2_B6 UART1_TX_M1 = GPIO1_B6 UART1_RX_M1 = GPIO1_B7 +UART1_TX_M2 = GPIO0_D1 +UART1_RX_M2 = GPIO0_D2 UART2_TX_M0 = GPIO0_B5 UART2_RX_M0 = GPIO0_B6 +UART2_TX_M1 = GPIO0_D0 +UART2_RX_M1 = GPIO0_D1 UART2_TX_M2 = GPIO3_B1 UART2_RX_M2 = GPIO3_B2 UART3_TX_M0 = GPIO1_C1 UART3_RX_M0 = GPIO1_C0 UART3_TX_M1 = GPIO3_B5 UART3_RX_M1 = GPIO3_B6 +UART3_TX_M2 = GPIO4_A5 +UART3_RX_M2 = GPIO4_A6 +UART4_TX_M0 = GPIO1_D2 +UART4_RX_M0 = GPIO1_D3 +UART4_TX_M1 = GPIO3_D1 +UART4_RX_M1 = GPIO3_D0 UART4_TX_M2 = GPIO1_B3 UART4_RX_M2 = GPIO1_B2 +UART5_TX_M0 = GPIO4_D5 +UART5_RX_M0 = GPIO4_D4 +UART5_TX_M1 = GPIO3_C4 +UART5_RX_M1 = GPIO3_C5 +UART5_TX_M2 = GPIO2_D5 +UART5_RX_M2 = GPIO2_D4 +UART6_TX_M0 = GPIO2_A7 +UART6_RX_M0 = GPIO2_A6 +UART6_TX_M1 = GPIO1_A1 +UART6_RX_M1 = GPIO1_A0 +UART6_TX_M2 = GPIO1_D0 +UART6_RX_M2 = GPIO1_D1 +UART7_TX_M0 = GPIO2_B5 +UART7_RX_M0 = GPIO2_B4 UART7_TX_M1 = GPIO3_C0 UART7_RX_M1 = GPIO3_C1 UART7_TX_M2 = GPIO1_B5 UART7_RX_M2 = GPIO1_B4 +UART8_TX_M0 = GPIO4_B0 +UART8_RX_M0 = GPIO4_B1 +UART8_TX_M1 = GPIO3_A2 +UART8_RX_M1 = GPIO3_A3 +UART9_TX_M0 = GPIO2_C2 +UART9_RX_M0 = GPIO2_C4 +UART9_TX_M1 = GPIO4_B4 +UART9_RX_M1 = GPIO4_B5 +UART9_TX_M2 = GPIO3_D5 +UART9_RX_M2 = GPIO3_D4 # ordered as uartId, txId, rxId uartPorts = ( + (0, UART0_TX_M0, UART0_RX_M0), + (0, UART0_TX_M1, UART0_RX_M1), (0, UART0_TX_M2, UART0_RX_M2), + (1, UART1_TX_M0, UART1_RX_M0), (1, UART1_TX_M1, UART1_RX_M1), + (1, UART1_TX_M2, UART1_RX_M2), (2, UART2_TX_M0, UART2_RX_M0), + (2, UART2_TX_M1, UART2_RX_M1), (2, UART2_TX_M2, UART2_RX_M2), (3, UART3_TX_M0, UART3_RX_M0), (3, UART3_TX_M1, UART3_RX_M1), + (3, UART3_TX_M2, UART3_RX_M2), + (4, UART4_TX_M0, UART4_RX_M0), + (4, UART4_TX_M1, UART4_RX_M1), (4, UART4_TX_M2, UART4_RX_M2), + (5, UART5_TX_M0, UART5_RX_M0), + (5, UART5_TX_M1, UART5_RX_M1), + (5, UART5_TX_M2, UART5_RX_M2), + (6, UART6_TX_M0, UART6_RX_M0), + (6, UART6_TX_M1, UART6_RX_M1), + (6, UART6_TX_M2, UART6_RX_M2), + (7, UART7_TX_M0, UART7_RX_M0), (7, UART7_TX_M1, UART7_RX_M1), (7, UART7_TX_M2, UART7_RX_M2), + (8, UART8_TX_M0, UART8_RX_M0), + (8, UART8_TX_M1, UART8_RX_M1), + (9, UART9_TX_M0, UART9_RX_M0), + (9, UART9_TX_M1, UART9_RX_M1), + (9, UART9_TX_M2, UART9_RX_M2), ) # I2C +I2C0_SCL_M0 = GPIO0_B3 +I2C0_SDA_M0 = GPIO0_A6 I2C0_SCL_M1 = GPIO4_C5 I2C0_SDA_M1 = GPIO4_C6 +I2C0_SCL_M2 = GPIO0_D1 +I2C0_SDA_M2 = GPIO0_D2 I2C1_SCL_M0 = GPIO0_B5 I2C1_SDA_M0 = GPIO0_B6 +I2C1_SCL_M1 = GPIO0_B0 +I2C1_SDA_M1 = GPIO0_B1 +I2C1_SCL_M2 = GPIO0_D4 +I2C1_SDA_M2 = GPIO0_D5 +I2C1_SCL_M3 = GPIO2_D4 +I2C1_SDA_M3 = GPIO2_D5 I2C1_SCL_M4 = GPIO1_B1 I2C1_SDA_M4 = GPIO1_B2 +I2C2_SCL_M0 = GPIO0_B7 +I2C2_SDA_M0 = GPIO0_C0 +I2C2_SCL_M1 = GPIO2_C1 +I2C2_SDA_M1 = GPIO2_C0 +I2C2_SCL_M2 = GPIO2_A3 +I2C2_SDA_M2 = GPIO2_A2 +I2C2_SCL_M3 = GPIO1_C5 +I2C2_SDA_M3 = GPIO1_C4 +I2C2_SCL_M4 = GPIO1_A1 +I2C2_SDA_M4 = GPIO1_A0 I2C3_SCL_M0 = GPIO1_C1 I2C3_SDA_M0 = GPIO1_C0 I2C3_SCL_M1 = GPIO3_B7 I2C3_SDA_M1 = GPIO3_C0 +I2C3_SCL_M2 = GPIO4_A4 +I2C3_SDA_M2 = GPIO4_A5 +I2C3_SCL_M3 = GPIO2_B2 +I2C3_SDA_M3 = GPIO2_B3 +I2C3_SCL_M4 = GPIO4_D0 +I2C3_SDA_M4 = GPIO4_D1 +I2C4_SCL_M0 = GPIO3_A6 +I2C4_SDA_M0 = GPIO3_A5 +I2C4_SCL_M1 = GPIO2_B5 +I2C4_SDA_M1 = GPIO2_B4 +I2C4_SCL_M2 = GPIO0_C5 +I2C4_SDA_M2 = GPIO0_C4 I2C4_SCL_M3 = GPIO1_A3 I2C4_SDA_M3 = GPIO1_A2 +I2C4_SCL_M4 = GPIO1_C7 +I2C4_SDA_M4 = GPIO1_C6 +I2C5_SCL_M0 = GPIO3_C7 +I2C5_SDA_M0 = GPIO3_D0 +I2C5_SCL_M1 = GPIO4_B6 +I2C5_SDA_M1 = GPIO4_B7 +I2C5_SCL_M2 = GPIO4_A6 +I2C5_SDA_M2 = GPIO4_A7 +I2C5_SCL_M3 = GPIO1_B6 +I2C5_SDA_M3 = GPIO1_B7 +I2C5_SCL_M4 = GPIO2_B6 +I2C5_SDA_M4 = GPIO2_B7 +I2C6_SCL_M0 = GPIO0_D0 +I2C6_SDA_M0 = GPIO0_C7 +I2C6_SCL_M1 = GPIO1_C3 +I2C6_SDA_M1 = GPIO1_C2 +I2C6_SCL_M2 = GPIO2_C3 +I2C6_SDA_M2 = GPIO2_C2 I2C6_SCL_M3 = GPIO4_B1 I2C6_SDA_M3 = GPIO4_B0 +I2C6_SCL_M4 = GPIO3_A1 +I2C6_SDA_M4 = GPIO3_A0 +I2C7_SCL_M0 = GPIO1_D0 +I2C7_SDA_M0 = GPIO1_D1 +I2C7_SCL_M1 = GPIO4_C3 +I2C7_SDA_M1 = GPIO4_C4 +I2C7_SCL_M2 = GPIO3_D2 +I2C7_SDA_M2 = GPIO3_D3 I2C7_SCL_M3 = GPIO4_B2 I2C7_SDA_M3 = GPIO4_B3 +I2C8_SCL_M0 = GPIO4_D2 +I2C8_SDA_M0 = GPIO4_D3 +I2C8_SCL_M1 = GPIO2_B0 +I2C8_SDA_M1 = GPIO2_B1 I2C8_SCL_M2 = GPIO1_D6 I2C8_SDA_M2 = GPIO1_D7 +I2C8_SCL_M3 = GPIO4_C0 +I2C8_SDA_M3 = GPIO4_C1 I2C8_SCL_M4 = GPIO3_C2 I2C8_SDA_M4 = GPIO3_C3 -I2C5_SDA_M3 = GPIO1_B7 -I2C5_SCL_M3 = GPIO1_B6 # ordered as i2cId, sclId, sdaId i2cPorts = ( + (0, I2C0_SCL_M0, I2C0_SDA_M0), (0, I2C0_SCL_M1, I2C0_SDA_M1), + (0, I2C0_SCL_M2, I2C0_SDA_M2), (1, I2C1_SCL_M0, I2C1_SDA_M0), + (1, I2C1_SCL_M1, I2C1_SDA_M1), + (1, I2C1_SCL_M2, I2C1_SDA_M2), + (1, I2C1_SCL_M3, I2C1_SDA_M3), (1, I2C1_SCL_M4, I2C1_SDA_M4), + (2, I2C2_SCL_M0, I2C2_SDA_M0), + (2, I2C2_SCL_M1, I2C2_SDA_M1), + (2, I2C2_SCL_M2, I2C2_SDA_M2), + (2, I2C2_SCL_M3, I2C2_SDA_M3), + (2, I2C2_SCL_M4, I2C2_SDA_M4), (3, I2C3_SCL_M0, I2C3_SDA_M0), (3, I2C3_SCL_M1, I2C3_SDA_M1), + (3, I2C3_SCL_M2, I2C3_SDA_M2), + (3, I2C3_SCL_M3, I2C3_SDA_M3), + (3, I2C3_SCL_M4, I2C3_SDA_M4), + (4, I2C4_SCL_M0, I2C4_SDA_M0), + (4, I2C4_SCL_M1, I2C4_SDA_M1), + (4, I2C4_SCL_M2, I2C4_SDA_M2), (4, I2C4_SCL_M3, I2C4_SDA_M3), + (4, I2C4_SCL_M4, I2C4_SDA_M4), + (5, I2C5_SCL_M0, I2C5_SDA_M0), + (5, I2C5_SCL_M1, I2C5_SDA_M1), + (5, I2C5_SCL_M2, I2C5_SDA_M2), (5, I2C5_SCL_M3, I2C5_SDA_M3), + (5, I2C5_SCL_M4, I2C5_SDA_M4), + (6, I2C6_SCL_M0, I2C6_SDA_M0), + (6, I2C6_SCL_M1, I2C6_SDA_M1), + (6, I2C6_SCL_M2, I2C6_SDA_M2), (6, I2C6_SCL_M3, I2C6_SDA_M3), + (6, I2C6_SCL_M4, I2C6_SDA_M4), + (7, I2C7_SCL_M0, I2C7_SDA_M0), + (7, I2C7_SCL_M1, I2C7_SDA_M1), + (7, I2C7_SCL_M2, I2C7_SDA_M2), (7, I2C7_SCL_M3, I2C7_SDA_M3), + (8, I2C8_SCL_M0, I2C8_SDA_M0), + (8, I2C8_SCL_M1, I2C8_SDA_M1), (8, I2C8_SCL_M2, I2C8_SDA_M2), + (8, I2C8_SCL_M3, I2C8_SDA_M3), (8, I2C8_SCL_M4, I2C8_SDA_M4), ) # SPI +SPI0_MOSI_M0 = GPIO0_C0 +SPI0_MISO_M0 = GPIO0_C7 +SPI0_CLK_M0 = GPIO0_C6 +SPI0_SCLK_M0 = SPI0_CLK_M0 +SPI0_CS0_M0 = GPIO0_D1 +SPI0_CS1_M0 = GPIO0_B7 + +SPI0_MOSI_M1 = GPIO4_A1 +SPI0_MISO_M1 = GPIO4_A0 +SPI0_CLK_M1 = GPIO4_A2 +SPI0_SCLK_M1 = SPI0_CLK_M1 +SPI0_CS0_M1 = GPIO4_B2 +SPI0_CS1_M1 = GPIO4_B1 + SPI0_MOSI_M2 = GPIO1_B2 SPI0_MISO_M2 = GPIO1_B1 SPI0_CLK_M2 = GPIO1_B3 @@ -255,10 +422,19 @@ SPI0_SCLK_M2 = SPI0_CLK_M2 SPI0_CS0_M2 = GPIO1_B4 SPI0_CS1_M2 = GPIO1_B5 -SPI0_MOSI_M1 = GPIO4_A1 -SPI0_MISO_M1 = GPIO4_A0 -SPI0_SCLK_M1 = GPIO4_A2 -SPI0_CS0_M1 = GPIO4_B2 +SPI0_MOSI_M3 = GPIO3_D2 +SPI0_MISO_M3 = GPIO3_D1 +SPI0_CLK_M3 = GPIO3_D3 +SPI0_SCLK_M3 = SPI0_CLK_M3 +SPI0_CS0_M3 = GPIO3_D4 +SPI0_CS1_M3 = GPIO3_D5 + +SPI1_MOSI_M0 = GPIO2_C2 +SPI1_MISO_M0 = GPIO2_C1 +SPI1_CLK_M0 = GPIO2_C0 +SPI1_SCLK_M0 = SPI1_CLK_M0 +SPI1_CS0_M0 = GPIO2_C3 +SPI1_CS1_M0 = GPIO2_C4 SPI1_MOSI_M1 = GPIO3_B7 SPI1_MISO_M1 = GPIO3_C0 @@ -267,61 +443,214 @@ SPI1_SCLK_M1 = SPI1_CLK_M1 SPI1_CS0_M1 = GPIO3_C2 SPI1_CS1_M1 = GPIO3_C3 -SPI3_MISO_M0 = GPIO4_C4 -SPI3_MOSI_M0 = GPIO4_C5 +SPI1_MOSI_M2 = GPIO1_D1 +SPI1_MISO_M2 = GPIO1_D0 +SPI1_CLK_M2 = GPIO1_D2 +SPI1_SCLK_M2 = SPI1_CLK_M2 +SPI1_CS0_M2 = GPIO1_D3 +SPI1_CS1_M2 = GPIO1_D5 + +SPI2_MOSI_M0 = GPIO1_A5 +SPI2_MISO_M0 = GPIO1_A4 +SPI2_CLK_M0 = GPIO1_A6 +SPI2_SCLK_M0 = SPI2_CLK_M0 +SPI2_CS0_M0 = GPIO1_A7 +SPI2_CS1_M0 = GPIO1_B0 + +SPI2_MOSI_M1 = GPIO4_A5 +SPI2_MISO_M1 = GPIO4_A4 +SPI2_CLK_M1 = GPIO4_A6 +SPI2_SCLK_M1 = SPI2_CLK_M1 +SPI2_CS0_M1 = GPIO4_A7 +SPI2_CS1_M1 = GPIO4_B0 + +SPI2_MOSI_M2 = GPIO0_A6 +SPI2_MISO_M2 = GPIO0_B3 +SPI2_CLK_M2 = GPIO0_A5 +SPI2_SCLK_M2 = SPI2_CLK_M2 +SPI2_CS0_M2 = GPIO0_B1 +SPI2_CS1_M2 = GPIO0_B0 + +SPI3_MOSI_M0 = GPIO4_C4 +SPI3_MISO_M0 = GPIO4_C5 SPI3_SCK_M0 = GPIO4_C6 SPI3_SCLK_M0 = SPI3_SCK_M0 +SPI3_CS0_M0 = GPIO4_C2 +SPI3_CS1_M0 = GPIO4_C3 + +SPI3_MOSI_M1 = GPIO4_B6 +SPI3_MISO_M1 = GPIO4_B5 +SPI3_SCK_M1 = GPIO4_B7 +SPI3_SCLK_M1 = SPI3_SCK_M1 +SPI3_CS0_M1 = GPIO4_C0 +SPI3_CS1_M1 = GPIO4_C1 + +SPI3_MOSI_M2 = GPIO0_D2 +SPI3_MISO_M2 = GPIO0_D0 +SPI3_SCK_M2 = GPIO0_D3 +SPI3_SCLK_M2 = SPI3_SCK_M2 +SPI3_CS0_M2 = GPIO0_D4 +SPI3_CS1_M2 = GPIO0_D5 + +SPI3_MOSI_M3 = GPIO3_C7 +SPI3_MISO_M3 = GPIO3_C6 +SPI3_SCK_M3 = GPIO3_D0 +SPI3_SCLK_M3 = SPI3_SCK_M3 +SPI3_CS0_M3 = GPIO3_C4 +SPI3_CS1_M3 = GPIO3_C5 -SPI4_MISO_M0 = GPIO1_C0 SPI4_MOSI_M0 = GPIO1_C1 +SPI4_MISO_M0 = GPIO1_C0 SPI4_SCK_M0 = GPIO1_C2 SPI4_SCLK_M0 = SPI4_SCK_M0 +SPI4_CS0_M0 = GPIO1_C3 +SPI4_CS1_M0 = GPIO1_C4 + +SPI4_MOSI_M1 = GPIO3_A1 +SPI4_MISO_M1 = GPIO3_A0 +SPI4_SCK_M1 = GPIO3_A2 +SPI4_SCLK_M1 = SPI4_SCK_M1 +SPI4_CS0_M1 = GPIO3_A3 +SPI4_CS1_M1 = GPIO3_A4 + +SPI4_MOSI_M2 = GPIO1_A1 +SPI4_MISO_M2 = GPIO1_A0 +SPI4_SCK_M2 = GPIO1_A2 +SPI4_SCLK_M2 = SPI4_SCK_M2 +SPI4_CS0_M2 = GPIO1_A3 # ordered as spiId, sckId, mosiId, misoId spiPorts = ( - (0, SPI0_SCLK_M2, SPI0_MOSI_M2, SPI0_MISO_M2), + (0, SPI0_SCLK_M0, SPI0_MOSI_M0, SPI0_MISO_M0), (0, SPI0_SCLK_M1, SPI0_MOSI_M1, SPI0_MISO_M1), + (0, SPI0_SCLK_M2, SPI0_MOSI_M2, SPI0_MISO_M2), + (0, SPI0_SCLK_M3, SPI0_MOSI_M3, SPI0_MISO_M3), + (1, SPI1_SCLK_M0, SPI1_MOSI_M0, SPI1_MISO_M0), (1, SPI1_SCLK_M1, SPI1_MOSI_M1, SPI1_MISO_M1), + (1, SPI1_SCLK_M2, SPI1_MOSI_M2, SPI1_MISO_M2), + (2, SPI2_SCLK_M0, SPI2_MOSI_M0, SPI2_MISO_M0), + (2, SPI2_SCLK_M1, SPI2_MOSI_M1, SPI2_MISO_M1), + (2, SPI2_SCLK_M2, SPI2_MOSI_M2, SPI2_MISO_M2), (3, SPI3_SCLK_M0, SPI3_MOSI_M0, SPI3_MISO_M0), + (3, SPI3_SCLK_M1, SPI3_MOSI_M1, SPI3_MISO_M1), + (3, SPI3_SCLK_M2, SPI3_MOSI_M2, SPI3_MISO_M2), + (3, SPI3_SCLK_M3, SPI3_MOSI_M3, SPI3_MISO_M3), (4, SPI4_SCLK_M0, SPI4_MOSI_M0, SPI4_MISO_M0), + (4, SPI4_SCLK_M1, SPI4_MOSI_M1, SPI4_MISO_M1), + (4, SPI4_SCLK_M2, SPI4_MOSI_M2, SPI4_MISO_M2), ) # PWM +PWM0_M0 = GPIO0_D2 +PWM0_M1 = GPIO1_D2 PWM0_M2 = GPIO1_A2 +PWM1_M0 = GPIO0_C0 +PWM1_M1 = GPIO0_D3 PWM1_M2 = GPIO1_A3 +PWM2_M0 = GPIO0_C4 PWM2_M1 = GPIO3_B1 +PWM2_M2 = GPIO4_C2 +PWM3_IR_M0 = GPIO0_D4 PWM3_IR_M1 = GPIO3_B2 +PWM3_IR_M2 = GPIO1_C2 +PWM3_IR_M3 = GPIO1_A7 +PWM3_M0 = PWM3_IR_M0 +PWM3_M1 = PWM3_IR_M1 +PWM3_M2 = PWM3_IR_M2 +PWM3_M3 = PWM3_IR_M3 +PWM4_M0 = GPIO0_C5 +PWM4_M1 = GPIO4_C3 +PWM5_M0 = GPIO0_C6 +PWM5_M1 = GPIO0_C6 PWM5_M2 = GPIO4_C4 +PWM6_M0 = GPIO0_C7 +PWM6_M1 = GPIO4_C1 PWM6_M2 = GPIO4_C5 +PWM7_IR_M0 = GPIO0_D0 +PWM7_IR_M1 = GPIO4_D4 +PWM7_IR_M2 = GPIO1_C3 PWM7_IR_M3 = GPIO4_C6 +PWM7_M0 = PWM7_IR_M0 +PWM7_M1 = PWM7_IR_M1 +PWM7_M2 = PWM7_IR_M2 +PWM7_M3 = PWM7_IR_M3 PWM8_M0 = GPIO3_A7 +PWM8_M1 = GPIO4_D0 +PWM8_M2 = GPIO3_D0 +PWM9_M0 = GPIO3_B0 +PWM9_M1 = GPIO4_D1 +PWM9_M2 = GPIO3_D1 +PWM10_M0 = GPIO3_A0 +PWM10_M1 = GPIO4_D3 PWM10_M2 = GPIO3_D3 +PWM11_IR_M0 = GPIO3_A1 +PWM11_IR_M1 = GPIO4_B4 +PWM11_IR_M2 = GPIO1_C4 PWM11_IR_M3 = GPIO3_D5 +PWM11_M0 = PWM11_IR_M0 +PWM11_M1 = PWM11_IR_M1 +PWM11_M2 = PWM11_IR_M2 +PWM11_M3 = PWM11_IR_M3 PWM12_M0 = GPIO3_B5 -PWM13_M1 = GPIO4_B6 +PWM12_M1 = GPIO4_B5 PWM13_M0 = GPIO3_B6 +PWM13_M1 = GPIO4_B6 PWM13_M2 = GPIO1_B7 PWM14_M0 = GPIO3_C2 PWM14_M1 = GPIO4_B2 PWM14_M2 = GPIO1_D6 PWM15_IR_M0 = GPIO3_C3 PWM15_IR_M1 = GPIO4_B3 +PWM15_IR_M2 = GPIO1_C6 PWM15_IR_M3 = GPIO1_D7 +PWM15_M0 = PWM15_IR_M0 +PWM15_M1 = PWM15_IR_M1 +PWM15_M2 = PWM15_IR_M2 +PWM15_M3 = PWM15_IR_M3 # SysFS pwm outputs, pwm channel and pin in first tuple pwmOuts = ( + ((0, 0), PWM0_M0), + ((0, 0), PWM0_M1), ((0, 0), PWM0_M2), + ((0, 1), PWM1_M0), + ((0, 1), PWM1_M1), ((0, 1), PWM1_M2), + ((0, 2), PWM2_M0), ((0, 2), PWM2_M1), + ((0, 2), PWM2_M2), + ((0, 3), PWM3_IR_M0), ((0, 3), PWM3_IR_M1), + ((0, 3), PWM3_IR_M2), + ((0, 3), PWM3_IR_M3), + ((0, 4), PWM4_M0), + ((0, 4), PWM4_M1), + ((0, 5), PWM5_M0), + ((0, 5), PWM5_M1), ((0, 5), PWM5_M2), + ((0, 6), PWM6_M0), + ((0, 6), PWM6_M1), ((0, 6), PWM6_M2), + ((0, 7), PWM7_IR_M0), + ((0, 7), PWM7_IR_M1), + ((0, 7), PWM7_IR_M2), ((0, 7), PWM7_IR_M3), ((0, 8), PWM8_M0), + ((0, 8), PWM8_M1), + ((0, 8), PWM8_M2), + ((0, 9), PWM9_M0), + ((0, 9), PWM9_M1), + ((0, 9), PWM9_M2), + ((0, 10), PWM10_M0), + ((0, 10), PWM10_M1), ((0, 10), PWM10_M2), + ((0, 11), PWM11_IR_M0), + ((0, 11), PWM11_IR_M1), + ((0, 11), PWM11_IR_M2), ((0, 11), PWM11_IR_M3), ((0, 12), PWM12_M0), + ((0, 12), PWM12_M1), ((0, 13), PWM13_M0), ((0, 13), PWM13_M1), ((0, 13), PWM13_M2), @@ -335,4 +664,20 @@ pwmOuts = ( # SysFS analog inputs, Ordered as analog analogInId, device, and channel ADC_IN0 = 0 -analogIns = ((ADC_IN0, 0, 4),) +ADC_IN1 = 1 +ADC_IN2 = 2 +ADC_IN3 = 3 +ADC_IN4 = 4 +ADC_IN5 = 5 +ADC_IN6 = 6 +ADC_IN7 = 7 +analogIns = ( + (ADC_IN0, 0, 0), + (ADC_IN1, 0, 1), + (ADC_IN2, 0, 2), + (ADC_IN3, 0, 3), + (ADC_IN4, 0, 4), + (ADC_IN5, 0, 5), + (ADC_IN6, 0, 6), + (ADC_IN7, 0, 7), +) diff --git a/src/board.py b/src/board.py index 3aa60bd..f9b8760 100644 --- a/src/board.py +++ b/src/board.py @@ -308,6 +308,12 @@ elif board_id == ap_board.ROCK_PI_5C: elif board_id == ap_board.ROCK_PI_E: from adafruit_blinka.board.radxa.rockpie import * +elif board_id == ap_board.VAAMAN: + from adafruit_blinka.board.vicharak.vaaman import * + +elif board_id == ap_board.AXON: + from adafruit_blinka.board.vicharak.axon import * + elif board_id == ap_board.UDOO_X86: from adafruit_blinka.board.udoo_x86ultra import *