|
| 1 | +# SPDX-FileCopyrightText: 2026 Melissa LeBlanc-Williams for Adafruit Industries |
| 2 | +# |
| 3 | +# SPDX-License-Identifier: MIT |
| 4 | +"""TI AM625X pin names (BeaglePlay)""" |
| 5 | +from adafruit_blinka.microcontroller.generic_linux.libgpiod_pin import Pin |
| 6 | + |
| 7 | +# gpiochip1 (4201000.gpio) – MCU domain GPIO |
| 8 | +QWIIC_SCL = Pin((1, 17)) # MCU_I2C0_SCL |
| 9 | +QWIIC_SDA = Pin((1, 18)) # MCU_I2C0_SDA |
| 10 | + |
| 11 | +# gpiochip2 (600000.gpio) – main_gpio0 |
| 12 | +USR0 = Pin((2, 3)) # USR0 LED |
| 13 | +USR1 = Pin((2, 4)) # USR1 LED |
| 14 | +USR2 = Pin((2, 5)) # USR2 LED |
| 15 | +USR3 = Pin((2, 6)) # USR3 LED |
| 16 | +USR4 = Pin((2, 9)) # USR4 LED |
| 17 | +USR_BUTTON = Pin((2, 18)) |
| 18 | + |
| 19 | +# gpiochip3 (601000.gpio) – main_gpio1 |
| 20 | +# MIKROBUS I2C (i2c-3) |
| 21 | +MIKROBUS_SCL = Pin((3, 22)) # MIKROBUS_GPIO1_22 / main_i2c3_scl |
| 22 | +MIKROBUS_SDA = Pin((3, 23)) # MIKROBUS_GPIO1_23 / main_i2c3_sda |
| 23 | + |
| 24 | +# Grove I2C (i2c-1) |
| 25 | +GROVE_SCL = Pin((3, 28)) # main_i2c1_scl |
| 26 | +GROVE_SDA = Pin((3, 29)) # main_i2c1_sda |
| 27 | + |
| 28 | +# MIKROBUS general-purpose GPIO lines (gpiochip3) |
| 29 | +MIKROBUS_GPIO1_7 = Pin((3, 7)) |
| 30 | +MIKROBUS_GPIO1_8 = Pin((3, 8)) |
| 31 | +MIKROBUS_GPIO1_9 = Pin((3, 9)) |
| 32 | +MIKROBUS_GPIO1_10 = Pin((3, 10)) |
| 33 | +MIKROBUS_GPIO1_11 = Pin((3, 11)) |
| 34 | +MIKROBUS_GPIO1_12 = Pin((3, 12)) |
| 35 | +MIKROBUS_W1 = Pin((3, 13)) # 1-Wire GPIO |
| 36 | +MIKROBUS_GPIO1_14 = Pin((3, 14)) |
| 37 | +MIKROBUS_GPIO1_15 = Pin((3, 15)) |
| 38 | +MIKROBUS_GPIO1_16 = Pin((3, 16)) |
| 39 | +MIKROBUS_GPIO1_17 = Pin((3, 17)) |
| 40 | +MIKROBUS_GPIO1_18 = Pin((3, 18)) |
| 41 | +# line 19 is VDD_3V3_SD (regulator control – not a user GPIO) |
| 42 | +MIKROBUS_GPIO1_20 = Pin((3, 20)) |
| 43 | +MIKROBUS_GPIO1_21 = Pin((3, 21)) |
| 44 | +MIKROBUS_GPIO1_22 = MIKROBUS_SCL # dual-use: I2C SCL or GPIO |
| 45 | +MIKROBUS_GPIO1_23 = MIKROBUS_SDA # dual-use: I2C SDA or GPIO |
| 46 | +# lines 24/25 are dual-use: MIKROBUS UART TX/RX or GPIO |
| 47 | +MIKROBUS_GPIO1_24 = Pin((3, 24)) |
| 48 | +MIKROBUS_GPIO1_25 = Pin((3, 25)) |
| 49 | + |
| 50 | +# MIKROBUS UART TX/RX aliases (/dev/ttyS0) |
| 51 | +UART_TX = MIKROBUS_GPIO1_24 |
| 52 | +UART_RX = MIKROBUS_GPIO1_25 |
| 53 | + |
| 54 | +# ordered as (i2cId, SCL, SDA) |
| 55 | +i2cPorts = ( |
| 56 | + (3, MIKROBUS_SCL, MIKROBUS_SDA), # MIKROBUS I2C → /dev/play/mikrobus/i2c |
| 57 | + (1, GROVE_SCL, GROVE_SDA), # Grove I2C → /dev/play/grove/i2c |
| 58 | + (5, QWIIC_SCL, QWIIC_SDA), # QWIIC → /dev/play/qwiic/i2c |
| 59 | +) |
| 60 | + |
| 61 | +# ordered as (spiId, sckId, mosiId, misoId) |
| 62 | +# MIKROBUS SPI is managed by the Greybus/CC1352P7 coprocessor; |
| 63 | +# no spidev is exposed by default on stock images. |
| 64 | +spiPorts = () |
| 65 | + |
| 66 | +# ordered as (uartId, txId, rxId) |
| 67 | +# MIKROBUS UART → /dev/ttyS0 |
| 68 | +uartPorts = ((0, UART_TX, UART_RX),) |
0 commit comments