Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,6 @@ def yellow_text(text: str) -> str:
"Adafruit-Blinka-Raspberry-Pi5-Neopixel",
]
raspberry_pi = True
# BeagleBone Black, Green, PocketBeagle, BeagleBone AI, etc.
elif b"ti,am335x" in compat:
board_reqs = ["Adafruit_BBIO"]

setup(
name="Adafruit-Blinka",
Expand Down
65 changes: 55 additions & 10 deletions src/adafruit_blinka/board/beagleboard/beaglebone_black.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
#
# SPDX-License-Identifier: MIT
"""Pin definitions for the Beaglebone Black."""

from adafruit_blinka.microcontroller.am335x import pin

# initial pins, to mimic bonescript demo
Expand Down Expand Up @@ -123,8 +124,8 @@
# SCLK_1 = pin.D21
# SCK_1 = pin.D21

SDA = pin.I2C2_SDA # P9_19
SCL = pin.I2C2_SCL # P9_20
SDA = pin.P9_20 # I2C2_SDA
SCL = pin.P9_19 # I2C2_SCL

# Refer to header default pin modes
# http://beagleboard.org/static/images/cape-headers.png
Expand All @@ -141,13 +142,19 @@
# config-pin p9.21 spi
# config-pin p9.22 spi_sclk
#
CE0 = pin.SPI0_CS0 # P9_17
MOSI = pin.SPI0_D1 # P9_18
MISO = pin.SPI0_D0 # P9_21
SCLK = pin.SPI0_SCLK # P9_22
CE0 = pin.P9_17 # SPI0_CS0
MOSI = pin.P9_18 # SPI0_D1 (data out)
MISO = pin.P9_21 # SPI0_D0 (data in)
SCLK = pin.P9_22 # SPI0_SCLK
# CircuitPython naming convention for SPI Clock
SCK = SCLK

# SPI0 standard aliases for peripheral interface compatibility
SPI0_CS0 = CE0
SPI0_D1 = MOSI # D1 = Data Out = MOSI
SPI0_D0 = MISO # D0 = Data In = MISO
SPI0_SCLK = SCLK

# Pins for SPI1
# refer to:
# http://beagleboard.org/static/images/cape-headers-spi.png
Expand All @@ -171,9 +178,47 @@
# config-pin p9.29 spi1
# config-pin p9.30 spi1
# config-pin p9.31 spi_sclk
CE1 = pin.SPI1_CS0 # P9_28
MOSI_1 = pin.SPI1_D0 # P9_29
MISO_1 = pin.SPI1_D1 # P9_30
SCLK_1 = pin.SPI1_SCLK # P9_31
CE1 = pin.P9_28 # SPI1_CS0
MISO_1 = pin.P9_29 # SPI1_D0 (data in)
MOSI_1 = pin.P9_30 # SPI1_D1 (data out)
SCLK_1 = pin.P9_31 # SPI1_SCLK
# CircuitPython naming convention for SPI Clock
SCK_1 = SCLK_1

# SPI1 standard aliases for peripheral interface compatibility
SPI1_CS0 = CE1
SPI1_D0 = MISO_1 # D0 = Data In = MISO
SPI1_D1 = MOSI_1 # D1 = Data Out = MOSI
SPI1_SCLK = SCLK_1

# I2C standard aliases for peripheral interface compatibility
I2C2_SDA = SDA
I2C2_SCL = SCL

# UART aliases - BeagleBone Black common UART pins
# Note: UART0 conflicts with console on most images
UART1_TXD = pin.P9_24
UART1_RXD = pin.P9_26
UART2_TXD = pin.P9_21 # conflicts with SPI0_MISO
UART2_RXD = pin.P9_22 # conflicts with SPI0_SCLK
UART4_TXD = pin.P9_13
UART4_RXD = pin.P9_11

# Peripheral port configurations for BeagleBone Black
# ordered as spiId, sckId, mosiId, misoId
spiPorts = (
(0, SPI0_SCLK, SPI0_D1, SPI0_D0),
(1, SPI1_SCLK, SPI1_D1, SPI1_D0),
)

# ordered as i2cId, SCL, SDA
i2cPorts = (
(2, I2C2_SCL, I2C2_SDA),
)

# ordered as uartId, txId, rxId
uartPorts = (
(1, UART1_TXD, UART1_RXD),
(2, UART2_TXD, UART2_RXD),
(4, UART4_TXD, UART4_RXD),
)
6 changes: 4 additions & 2 deletions src/adafruit_blinka/board/beagleboard/beaglebone_blue.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@
LED_USR2 = pin.USR2
LED_USR3 = pin.USR3

SDA = pin.I2C1_SDA
SCL = pin.I2C1_SCL

# Ref: https://git.beagleboard.org/beagleboard/beaglebone-blue/-/blob/master/BeagleBone_Blue_Pin_Table.csv
SDA = pin.P8_17 # I2C1_SDA
SCL = pin.P8_18 # I2C1_SCL
80 changes: 64 additions & 16 deletions src/adafruit_blinka/board/beagleboard/beaglebone_pocketbeagle.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
based on
https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual#figure-42-expansion-header-popular-functions---color-coded
"""

from adafruit_blinka.microcontroller.am335x import pin

# initial pins, to mimic bonescript demo
Expand Down Expand Up @@ -97,45 +98,92 @@
# https://raw.githubusercontent.com/wiki/beagleboard/pocketbeagle/images/PocketBeagle_pinout.png

# I2C1 pins
SDA_1 = pin.I2C1_SDA # P2_11 data signal
SCL_1 = pin.I2C1_SCL # P2_9 clock signal
SDA_1 = pin.P2_11 # data signal
SCL_1 = pin.P2_9 # clock signal
# for example compatibility we create a alias
SDA = SDA_1
SCL = SCL_1

# I2C1 standard aliases for peripheral interface compatibility
I2C1_SDA = SDA_1
I2C1_SCL = SCL_1

# I2C2 pins
SDA_2 = pin.I2C2_SDA # P1_26 data signal
SCL_2 = pin.I2C2_SCL # P1_28 clock signal
SDA_2 = pin.P1_26 # data signal
SCL_2 = pin.P1_28 # clock signal

# I2C2 standard aliases for peripheral interface compatibility
I2C2_SDA = SDA_2
I2C2_SCL = SCL_2

# SPI0 pins
CE0 = pin.SPI0_CS0 # P1_6 - enables peripheral device
SCLK = pin.SPI0_SCLK # P1_12 - outputs data to peripheral device
MOSI = pin.SPI0_D1 # P1_10 - receives data from peripheral device
MISO = pin.SPI0_D0 # P1_8 - outputs clock signal
CE0 = pin.P1_6 # chip select (enables peripheral device)
SCLK = pin.P1_8 # serial clock signal
MOSI = pin.P1_12 # master out, slave in (data to peripheral)
MISO = pin.P1_10 # master in, slave out (data from peripheral)
# CircuitPython naming convention for SPI Clock
SCK = SCLK

# SPI0 standard aliases for peripheral interface compatibility
SPI0_CS0 = CE0
SPI0_SCLK = SCLK
SPI0_D1 = MOSI # D1 = Data Out = MOSI
SPI0_D0 = MISO # D0 = Data In = MISO

# SPI1 pins
CE0_1 = pin.SPI1_CS1 # P2_31 - enables peripheral device
SCLK_1 = pin.SPI1_SCLK # P2_25 - outputs data to peripheral device
MOSI_1 = pin.SPI1_D1 # P2_27 - receives data from peripheral device
MISO_1 = pin.SPI1_D0 # P2_29 - outputs clock signal
CE0_1 = pin.P2_31 # chip select (enables peripheral device)
SCLK_1 = pin.P2_29 # serial clock signal
MOSI_1 = pin.P2_25 # master out, slave in (data to peripheral)
MISO_1 = pin.P2_27 # master in, slave out (data from peripheral)
# CircuitPython naming convention for SPI Clock
SCK_1 = SCLK_1

# SPI1 standard aliases for peripheral interface compatibility
SPI1_CS0 = CE0_1
SPI1_SCLK = SCLK_1
SPI1_D1 = MOSI_1 # D1 = Data Out = MOSI
SPI1_D0 = MISO_1 # D0 = Data In = MISO


# UART0
TX_0 = pin.UART0_TXD # P1_30
RX_0 = pin.UART0_RXD # P1_32
TX_0 = pin.P1_30
RX_0 = pin.P1_32
# create alias for most of the examples
TX = TX_0
RX = RX_0

# UART0 standard aliases for peripheral interface compatibility
UART0_TXD = TX_0
UART0_RXD = RX_0

# UART2
# pins already in use by SPI0
# TX_2 = pin.UART2_TXD # P1_8
# RX_2 = pin.UART2_RXD # P1_10

# UART4
TX_4 = pin.UART4_TXD # P2_7
RX_4 = pin.UART4_RXD # P2_5
TX_4 = pin.P2_7
RX_4 = pin.P2_5

# UART4 standard aliases for peripheral interface compatibility
UART4_TXD = TX_4
UART4_RXD = RX_4

# Peripheral port configurations for PocketBeagle
# ordered as spiId, sckId, mosiId, misoId
spiPorts = (
(0, SPI0_SCLK, SPI0_D1, SPI0_D0),
(1, SPI1_SCLK, SPI1_D1, SPI1_D0),
)

# ordered as i2cId, SCL, SDA
i2cPorts = (
(1, I2C1_SCL, I2C1_SDA),
(2, I2C2_SCL, I2C2_SDA),
)

# ordered as uartId, txId, rxId
uartPorts = (
(0, UART0_TXD, UART0_RXD),
(4, UART4_TXD, UART4_RXD),
)
Loading
Loading