]> Repositories - Adafruit_Blinka-hackapet.git/commitdiff
Merge pull request #102 from s-light/PocketBeagle2
authorDrew Fustini <drew@pdp7.com>
Tue, 2 Apr 2019 11:14:41 +0000 (12:14 +0100)
committerGitHub <noreply@github.com>
Tue, 2 Apr 2019 11:14:41 +0000 (12:14 +0100)
Pocket beagle2

examples/bbb_digitalio.py [changed mode: 0644->0755]
examples/pb_digitalio.py [changed mode: 0644->0755]
src/adafruit_blinka/board/beaglebone_black.py
src/adafruit_blinka/board/beaglebone_pocketbeagle.py
src/adafruit_blinka/microcontroller/am335x/pin.py
src/busio.py

old mode 100644 (file)
new mode 100755 (executable)
index 25496d5..9d8af71
@@ -1,3 +1,6 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
 # Example of blinking LED on BeagleBone Black
 # https://www.adafruit.com/product/1876
 #
@@ -5,6 +8,16 @@
 # 1) connect anode (+) lead of LED to P9.12 pin
 # 2) connect cathode (-) lead to 1K Ohm resistor
 # 3) connect that 1K Ohm resistor to DGND (P9.1)
+#
+# NOTE: the pin mode can be verified with the command line
+# utility config-pin on the BeagleBoard.org Debian image
+#
+# To verify the pin is in GPIO mode:
+# debian@beaglebone:~$ config-pin -q p9.12
+# P9_12 Mode: gpio Direction: out Value: 0
+#
+# To set pin to GPIO mode:
+# $ config-pin p9.12 gpio
 
 import time
 import board
old mode 100644 (file)
new mode 100755 (executable)
index 884fc00..0eb3a2b
@@ -1,3 +1,6 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
 # Example of blinking LED on PocketBeagle
 # https://www.adafruit.com/product/4179
 #
index 36446f738bd43d9a95109e1fd7c4a4d76f91916c..09f953b518a3aaf1b5732a350a0dce953f765c45 100644 (file)
 from adafruit_blinka.microcontroller.am335x import pin
 
 # initial pins, to mimic bonescript demo
-P8_3 = pin.P8_3
-P8_4 = pin.P8_4
-P8_5 = pin.P8_5
-P8_6 = pin.P8_6
-P8_7 = pin.P8_7
-P8_8 = pin.P8_8
-P8_9 = pin.P8_9
-P8_10 = pin.P8_10
-P8_11 = pin.P8_11
-P8_12 = pin.P8_12
-P8_13 = pin.P8_13
-P8_14 = pin.P8_14
-P8_15 = pin.P8_15
-P8_16 = pin.P8_16
-P8_17 = pin.P8_17
-P8_18 = pin.P8_18
-P8_19 = pin.P8_19
-P8_20 = pin.P8_20
-P8_21 = pin.P8_21
-P8_22 = pin.P8_22
-P8_23 = pin.P8_23
-P8_24 = pin.P8_24
-P8_25 = pin.P8_25
-P8_26 = pin.P8_26
-P8_27 = pin.P8_27
-P8_28 = pin.P8_28
-P8_29 = pin.P8_29
-P8_30 = pin.P8_30
-P8_31 = pin.P8_31
-P8_32 = pin.P8_32
-P8_33 = pin.P8_33
-P8_34 = pin.P8_34
-P8_35 = pin.P8_35
-P8_36 = pin.P8_36
-P8_37 = pin.P8_37
-P8_38 = pin.P8_38
-P8_39 = pin.P8_39
-P8_40 = pin.P8_40
-P8_41 = pin.P8_41
-P8_42 = pin.P8_42
-P8_43 = pin.P8_43
-P8_44 = pin.P8_44
-P8_45 = pin.P8_45
-P8_46 = pin.P8_46
-P9_11 = pin.P9_11
-P9_12 = pin.P9_12
-P9_13 = pin.P9_13
-P9_14 = pin.P9_14
-P9_15 = pin.P9_15
-P9_16 = pin.P9_16
-P9_17 = pin.P9_17
-P9_18 = pin.P9_18
-P9_19 = pin.P9_19
-P9_20 = pin.P9_20
-P9_21 = pin.P9_21
-P9_22 = pin.P9_22
-P9_23 = pin.P9_23
-P9_24 = pin.P9_24
-P9_25 = pin.P9_25
-P9_26 = pin.P9_26
-P9_27 = pin.P9_27
-P9_28 = pin.P9_28
-P9_29 = pin.P9_29
-P9_30 = pin.P9_30
-P9_31 = pin.P9_31
-P9_41 = pin.P9_41
-P9_42 = pin.P9_42
+# BeagleBone Black
+# P8_1 = DGND        # DGND
+# P8_2 = DGND        # DGND
+P8_3 = pin.P8_3      # GPIO1_6 - GPIO_38
+P8_4 = pin.P8_4      # GPIO1_7 - GPIO_39
+P8_5 = pin.P8_5      # GPIO1_2 - GPIO_34
+P8_6 = pin.P8_6      # GPIO1_3 - GPIO_35
+P8_7 = pin.P8_7      # TIMER4 - GPIO_66
+P8_8 = pin.P8_8      # TIMER7 - GPIO_67
+P8_9 = pin.P8_9      # TIMER5 - GPIO_69
+P8_10 = pin.P8_10    # TIMER6 - GPIO_68
+P8_11 = pin.P8_11    # GPIO1_13 - GPIO_45
+P8_12 = pin.P8_12    # GPIO1_12 - GPIO_44
+P8_13 = pin.P8_13    # EHRPWM2B - GPIO_23
+P8_14 = pin.P8_14    # GPIO0_26 - GPIO_26
+P8_15 = pin.P8_15    # GPIO1_15 - GPIO_47
+P8_16 = pin.P8_16    # GPIO1_14 - GPIO_46
+P8_17 = pin.P8_17    # GPIO0_27 - GPIO_27
+P8_18 = pin.P8_18    # GPIO2_1 - GPIO_65
+P8_19 = pin.P8_19    # EHRPWM2A - GPIO_22
+P8_20 = pin.P8_20    # GPIO1_31 - GPIO_63
+P8_21 = pin.P8_21    # GPIO1_30 - GPIO_62
+P8_22 = pin.P8_22    # GPIO1_5 - GPIO_37
+P8_23 = pin.P8_23    # GPIO1_4 - GPIO_36
+P8_24 = pin.P8_24    # GPIO1_1 - GPIO_33
+P8_25 = pin.P8_25    # GPIO1_0 - GPIO_32
+P8_26 = pin.P8_26    # GPIO1_29 - GPIO_61
+P8_27 = pin.P8_27    # GPIO2_22 - GPIO_86
+P8_28 = pin.P8_28    # GPIO2_24 - GPIO_88
+P8_29 = pin.P8_29    # GPIO2_23 - GPIO_87
+P8_30 = pin.P8_30    # GPIO2_25 - GPIO_89
+P8_31 = pin.P8_31    # UART5_CTSN - GPIO_10
+P8_32 = pin.P8_32    # UART5_RTSN - GPIO_11
+P8_33 = pin.P8_33    # UART4_RTSN - GPIO_9
+P8_34 = pin.P8_34    # UART3_RTSN - GPIO_81
+P8_35 = pin.P8_35    # UART4_CTSN - GPIO_8
+P8_36 = pin.P8_36    # UART3_CTSN - GPIO_80
+P8_37 = pin.P8_37    # UART5_TXD - GPIO_78
+P8_38 = pin.P8_38    # UART5_RXD - GPIO_79
+P8_39 = pin.P8_39    # GPIO2_12 - GPIO_76
+P8_40 = pin.P8_40    # GPIO2_13 - GPIO_77
+P8_41 = pin.P8_41    # GPIO2_10 - GPIO_74
+P8_42 = pin.P8_42    # GPIO2_11 - GPIO_75
+P8_43 = pin.P8_43    # GPIO2_8 - GPIO_72
+P8_44 = pin.P8_44    # GPIO2_9 - GPIO_73
+P8_45 = pin.P8_45    # GPIO2_6 - GPIO_70
+P8_46 = pin.P8_46    # GPIO2_7 - GPIO_71
 
+# P9_1 = DGND        # DGND
+# P9_2 = DGND        # DGND
+# P9_3 = VDD_3V3     # VDD_3V3
+# P9_4 = VDD_3V3     # VDD_3V3
+# P9_5 = VDD_5V      # VDD_5V
+# P9_6 = VDD_5V      # VDD_5V
+# P9_7 = SYS_5V      # SYS_5V
+# P9_8 = SYS_5V      # SYS_5V
+# P9_9 = PWR_BUT     # PWR_BUT
+# P9_10 = SYS_RESETN # SYS_RESETn
+P9_11 = pin.P9_11    # UART4_RXD - GPIO_30
+P9_12 = pin.P9_12    # GPIO1_28 - GPIO_60
+P9_13 = pin.P9_13    # UART4_TXD - GPIO_31
+P9_14 = pin.P9_14    # EHRPWM1A - GPIO_50
+P9_15 = pin.P9_15    # GPIO1_16 - GPIO_48
+P9_16 = pin.P9_16    # EHRPWM1B - GPIO_51
+P9_17 = pin.P9_17    # I2C1_SCL - GPIO_5
+P9_18 = pin.P9_18    # I2C1_SDA - GPIO_4
+P9_19 = pin.P9_19    # I2C2_SCL - GPIO_13
+P9_20 = pin.P9_20    # I2C2_SDA - GPIO_12
+P9_21 = pin.P9_21    # UART2_TXD - GPIO_3
+P9_22 = pin.P9_22    # UART2_RXD - GPIO_2
+P9_23 = pin.P9_23    # GPIO1_17 - GPIO_49
+P9_24 = pin.P9_24    # UART1_TXD - GPIO_15
+P9_25 = pin.P9_25    # GPIO3_21 - GPIO_117
+P9_26 = pin.P9_26    # UART1_RXD - GPIO_14
+P9_27 = pin.P9_27    # GPIO3_19 - GPIO_115
+P9_28 = pin.P9_28    # SPI1_CS0 - GPIO_113
+P9_29 = pin.P9_29    # SPI1_D0 - GPIO_111
+P9_30 = pin.P9_30    # SPI1_D1 - GPIO_112
+P9_31 = pin.P9_31    # SPI1_SCLK - GPIO_110
+# P9_32 = VDD_ADC    # VDD_ADC
+# P9_33 = AIN4       # AIN4
+# P9_34 = GNDA_ADC   # GNDA_ADC
+# P9_35 = AIN6       # AIN6
+# P9_36 = AIN5       # AIN5
+# P9_37 = AIN2       # AIN2
+# P9_38 = AIN3       # AIN3
+# P9_39 = AIN0       # AIN0
+# P9_40 = AIN1       # AIN1
+P9_41 = pin.P9_41    # CLKOUT2 - GPIO_20
+P9_42 = pin.P9_42    # GPIO0_7 - GPIO_7
+# P9_43 = DGND       # DGND
+# P9_44 = DGND       # DGND
+# P9_45 = DGND       # DGND
+# P9_46 = DGND       # DGND
+
+# common to all beagles
 LED_USR0 = pin.USR0
 LED_USR1 = pin.USR1
 LED_USR2 = pin.USR2
@@ -92,8 +120,8 @@ LED_USR3 = pin.USR3
 # SCLK_1 = pin.D21
 # SCK_1 = pin.D21
 
-SDA = pin.P9_19
-SCL = pin.P9_20
+SDA = pin.I2C2_SDA  # P9_19
+SCL = pin.I2C2_SCL  # P9_20
 
 # Refer to header default pin modes
 # http://beagleboard.org/static/images/cape-headers.png
@@ -110,10 +138,10 @@ SCL = pin.P9_20
 # config-pin p9.21 spi
 # config-pin p9.22 spi_sclk
 #
-CE0 = pin.P9_17
-MOSI = pin.P9_18
-MISO = pin.P9_21
-SCLK = pin.P9_22
+CE0 = pin.SPI0_CS0      # P9_17
+MOSI = pin.SPI0_D1      # P9_18
+MISO = pin.SPI0_D0      # P9_21
+SCLK = pin.SPI0_SCLK    # P9_22
 # CircuitPython naming convention for SPI Clock
 SCK = SCLK
 
@@ -140,25 +168,9 @@ SCK = SCLK
 # config-pin p9.29 spi1
 # config-pin p9.30 spi1
 # config-pin p9.31 spi_sclk
-CE1 = pin.P9_28
-MOSI_1 = pin.P9_29
-MISO_1 = pin.P9_30
-SCLK_1 = pin.P9_31
+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
 # CircuitPython naming convention for SPI Clock
 SCK_1 = SCLK_1
-
-
-# ordered as spiId, sckId, mosiId, misoId
-spiPorts = (
-    (0, SCLK, MOSI, MISO),
-    (1, SCLK_1, MOSI_1, MISO_1)
-)
-
-# ordered as uartId, txId, rxId
-uartPorts = (
-    (),
-)
-
-i2cPorts = (
-    (2, SCL, SDA),
-)
index 8f59efd6f5464d6143f4ce0d4ce755c52a4bead8..a56e5f7c467de6fd59ff527c70b15f3973c06f96 100644 (file)
@@ -7,71 +7,83 @@ https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual#figure-
 from adafruit_blinka.microcontroller.am335x import pin
 
 # initial pins, to mimic bonescript demo
-P1_2 = pin.P1_2
-P1_3 = pin.P1_3
-P1_4 = pin.P1_4
-
-P1_6 = pin.P1_6
-
-P1_8 = pin.P1_8
-
-P1_10 = pin.P1_10
-
-P1_12 = pin.P1_12
-
-P1_19 = pin.P1_19
-P1_20 = pin.P1_20
-P1_21 = pin.P1_21
-
-P1_23 = pin.P1_23
-
-P1_25 = pin.P1_25
-P1_26 = pin.P1_26
-P1_27 = pin.P1_27
-P1_28 = pin.P1_28
-P1_29 = pin.P1_29
-P1_30 = pin.P1_30
-P1_31 = pin.P1_31
-P1_32 = pin.P1_32
-P1_33 = pin.P1_33
-P1_34 = pin.P1_34
-P1_35 = pin.P1_35
-P1_36 = pin.P1_36
-
-
-P2_1 = pin.P2_1
-P2_2 = pin.P2_2
-P2_3 = pin.P2_3
-P2_4 = pin.P2_4
-P2_5 = pin.P2_5
-P2_6 = pin.P2_6
-P2_7 = pin.P2_7
-P2_8 = pin.P2_8
-P2_9 = pin.P2_9
-P2_10 = pin.P2_10
-P2_11 = pin.P2_11
-
-P2_17 = pin.P2_17
-P2_18 = pin.P2_18
-P2_19 = pin.P2_19
-P2_20 = pin.P2_20
-
-P2_22 = pin.P2_22
-
-P2_24 = pin.P2_24
-
-P2_26 = pin.P2_26
-P2_27 = pin.P2_27
-P2_28 = pin.P2_28
-P2_29 = pin.P2_29
-P2_30 = pin.P2_30
-P2_31 = pin.P2_31
-P2_32 = pin.P2_32
-P2_33 = pin.P2_33
-P2_34 = pin.P2_34
-P2_35 = pin.P2_35
-P2_36 = pin.P2_36
-
+# PocketBeagle
+# P1_1 = SYS VIN        # VIN_AC
+P1_2 = pin.P1_2      # GPIO2_23 - GPIO_87
+P1_3 = pin.P1_3      # USB1_VBUS_OUT - (silkscreen: USB1 V_EN)
+P1_4 = pin.P1_4      # GPIO2_25 - GPIO_89
+# P1_5 = USB VBUS       # USB1_VBUS_IN
+P1_6 = pin.P1_6      # SPI0_CS0 - GPIO_5
+# P1_7 = USB VIN        # VIN-USB
+P1_8 = pin.P1_8      # SPI0_SCLK - GPIO_2
+# P1_9 = USB1 DN        # USB1-DN
+P1_10 = pin.P1_10    # SPI0_D0 - GPIO_3
+# P1_11 = USB1 DP       # USB1-DP
+P1_12 = pin.P1_12    # SPI0_D1 - GPIO_4
+# P1_13 = USB1 ID       # USB1-ID
+# P1_14 = SYS 3.3V      # VOUT-3.3V
+# P1_15 = SYS GND       # GND
+# P1_16 = SYS GND       # GND
+# P1_17 = AIN 1.8V REF- # VREFN
+# P1_18 = AIN 1.8V REF+ # VREFP
+P1_19 = pin.P1_19    # AIN0
+P1_20 = pin.P1_20    # GPIO0_20 - GPIO_20
+P1_21 = pin.P1_21    # AIN1
+# P1_22 = SYS GND       # GND
+P1_23 = pin.P1_23    # AIN2
+# P1_22 = SYS VOUT      # VOUT-5V
+P1_25 = pin.P1_25    # AIN3
+P1_26 = pin.P1_26    # I2C2_SDA - GPIO_12
+P1_27 = pin.P1_27    # AIN4
+P1_28 = pin.P1_28    # I2C2_SCL - GPIO_13
+P1_29 = pin.P1_29    # GPIO3_21 - GPIO_117
+P1_30 = pin.P1_30    # UART0_TXD - GPIO_43
+P1_31 = pin.P1_31    # GPIO3_18 - GPIO_114
+P1_32 = pin.P1_32    # UART0_RXD - GPIO_42
+P1_33 = pin.P1_33    # GPIO3_15 - GPIO_111
+P1_34 = pin.P1_34    # GPIO0_26 - GPIO_26
+P1_35 = pin.P1_35    # GPIO2_24 - GPIO_88
+P1_36 = pin.P1_36    # EHRPWM0A - GPIO_110
+
+
+P2_1 = pin.P2_1      # EHRPWM1A - GPIO_50
+P2_2 = pin.P2_2      # GPIO1_27 - GPIO_59
+P2_3 = pin.P2_3      # GPIO0_23 - GPIO_23
+P2_4 = pin.P2_4      # GPIO1_26 - GPIO_58
+P2_5 = pin.P2_5      # UART4_RXD - GPIO_30
+P2_6 = pin.P2_6      # GPIO1_25 - GPIO_57
+P2_7 = pin.P2_7      # UART4_TXD - GPIO_31
+P2_8 = pin.P2_8      # GPIO1_28 - GPIO_60
+P2_9 = pin.P2_9      # I2C1_SCL - GPIO_15
+P2_10 = pin.P2_10    # GPIO1_20 - GPIO_52
+P2_11 = pin.P2_11    # I2C1_SDA - GPIO_14
+# P2_12 = SYS  PWR BTN  # POWER_BUTTON
+# P2_13 = SYS VOUT      # VOUT-5V
+# P2_14 = BAT VIN       # BAT-VIN
+# P2_15 = SYS GND       # GND
+# P2_16 = BAT TEMP      # BAT-TEMP
+P2_17 = pin.P2_17    # GPIO2_1 - GPIO_65
+P2_18 = pin.P2_18    # GPIO1_15 - GPIO_47
+P2_19 = pin.P2_19    # GPIO0_27 - GPIO_27
+P2_20 = pin.P2_20    # GPIO2_0 - GPIO_64
+# P2_21 = SYS GND       # GND
+P2_22 = pin.P2_22    # GPIO1_14 - GPIO_46
+# P2_23 = SYS 3.3V      # VOUT-3.3V
+P2_24 = pin.P2_24    # GPIO1_12 - GPIO_44
+P2_25 = pin.P2_25    # SPI1_CS0 - GPIO_41
+# P2_26 = SYS NRST      # RESET#
+P2_27 = pin.P2_27    # SPI1_D0 - GPIO_40
+P2_28 = pin.P2_28    # GPIO3_20 - GPIO_116
+P2_29 = pin.P2_29    # SPI1_SCLK - GPIO_7
+P2_30 = pin.P2_30    # GPIO3_17 - GPIO_113
+P2_31 = pin.P2_31    # SPI1_CS1 - GPIO_19
+P2_32 = pin.P2_32    # GPIO3_16 - GPIO_112
+P2_33 = pin.P2_33    # GPIO1_13 - GPIO_45
+P2_34 = pin.P2_34    # GPIO3_19 - GPIO_115
+P2_35 = pin.P2_35    # GPIO2_22 - GPIO_86
+P2_36 = pin.P2_36    # AIN7
+
+# common to all beagles
 LED_USR0 = pin.USR0
 LED_USR1 = pin.USR1
 LED_USR2 = pin.USR2
@@ -82,73 +94,45 @@ LED_USR3 = pin.USR3
 # https://raw.githubusercontent.com/wiki/beagleboard/pocketbeagle/images/PocketBeagle_pinout.png
 
 # I2C1 pins
-# P2_11 (I2C1_SDA => SDA_1) data signal
-# P2_9 (I2C1_SCL => SCL_1) clock signal
-SDA_1 = pin.P2_11
-SCL_1 = pin.P2_9
+SDA_1 = pin.I2C1_SDA    # P2_11 data signal
+SCL_1 = pin.I2C1_SCL    # P2_9 clock signal
+# for example compatibility we create a alias
+SDA = SDA_1
+SCL = SCL_1
 
 # I2C2 pins
-# P1_26 (I2C2_SDA => SDA_2) data signal
-# P1_28 (I2C2_SCL => SCL_2) clock signal
-SDA_2 = pin.P1_26
-SCL_2 = pin.P1_28
+SDA_2 = pin.I2C2_SDA    # P1_26 data signal
+SCL_2 = pin.I2C2_SCL    # P1_28 clock signal
 
 # SPI0 pins
-# P1_6 (SPI0_CSO => CE0) enables peripheral device
-# P1_12 (SPI0_MOSI => MOSI) outputs data to peripheral device
-# P1_10 (SPIO_MISO => MISO) receives data from peripheral device
-# P1_8 (SPI0_CLK => SCLK) outputs clock signal
-CE0 = pin.P1_6
-MOSI = pin.P1_12
-MISO = pin.P1_10
-SCLK = pin.P1_8
+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
 # CircuitPython naming convention for SPI Clock
 SCK = SCLK
 
 # SPI1 pins
-# P2_31 (SPI1_CS1 => CE1) enables peripheral device
-# P2_25 (SPI1_MOSI => MOSI) outputs data to peripheral device
-# P2_27 (SPI1_MISO => MISO) receives data from peripheral device
-# P2_29 (SPI1_CLK => SCLK) outputs clock signal
-CE1 = pin.P2_31
-MOSI_1 = pin.P2_25
-MISO_1 = pin.P2_27
-SCLK_1 = pin.P2_29
+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
 # CircuitPython naming convention for SPI Clock
 SCK_1 = SCLK_1
 
 
 # UART0
-TX_0 = pin.P1_30
-RX_0 = pin.P1_32
-
+TX_0 = pin.UART0_TXD    # P1_30
+RX_0 = pin.UART0_RXD    # P1_32
+# create alias for most of the examples
 TX = TX_0
 RX = RX_0
 
-
 # UART2
 # pins already in use by SPI0
-# TX_2 = pin.P1_8
-# RX_2 = pin.P1_10
+# TX_2 = pin.UART2_TXD    # P1_8
+# RX_2 = pin.UART2_RXD    # P1_10
 
 # UART4
-TX_4 = pin.P2_7
-RX_4 = pin.P2_5
-
-
-# ordered as spiId, sckId, mosiId, misoId
-spiPorts = (
-    (0, SCLK, MOSI, MISO),
-    (1, SCLK_1, MOSI_1, MISO_1),
-)
-
-# ordered as uartId, txId, rxId
-uartPorts = (
-    (0, TX_0, RX_0),
-    (4, TX_4, RX_4),
-)
-
-i2cPorts = (
-    (1, SCL_1, SDA_1),
-    (2, SCL_2, SDA_2),
-)
+TX_4 = pin.UART4_TXD    # P2_7
+RX_4 = pin.UART4_RXD    # P2_5
index 71715e6afb53c2932b925ba05159bdc33a825b54..f8c1649b115c08fe1dc767e6acd3fdefd42c0d78 100644 (file)
@@ -57,162 +57,289 @@ class Pin:
             return GPIO.input(self.id)
 
 
+# names in comments copied from
+# https://github.com/adafruit/adafruit-beaglebone-io-python/blob/master/source/common.c#L73
+
 # PocketBeagle
-P1_2 = Pin('P1_2')
-P1_3 = Pin('P1_3')
-P1_4 = Pin('P1_4')
-
-P1_6 = Pin('P1_6')
-
-P1_8 = Pin('P1_8')
-
-P1_10 = Pin('P1_10')
-
-P1_12 = Pin('P1_12')
-
-P1_19 = Pin('P1_19')
-P1_20 = Pin('P1_20')
-P1_21 = Pin('P1_21')
-
-P1_23 = Pin('P1_23')
-
-P1_25 = Pin('P1_25')
-P1_26 = Pin('P1_26')
-P1_27 = Pin('P1_27')
-P1_28 = Pin('P1_28')
-P1_29 = Pin('P1_29')
-P1_30 = Pin('P1_30')
-P1_31 = Pin('P1_31')
-P1_32 = Pin('P1_32')
-P1_33 = Pin('P1_33')
-P1_34 = Pin('P1_34')
-P1_35 = Pin('P1_35')
-P1_36 = Pin('P1_36')
-
-
-P2_1 = Pin('P2_1')
-P2_2 = Pin('P2_2')
-P2_3 = Pin('P2_3')
-P2_4 = Pin('P2_4')
-P2_5 = Pin('P2_5')
-P2_6 = Pin('P2_6')
-P2_7 = Pin('P2_7')
-P2_8 = Pin('P2_8')
-P2_9 = Pin('P2_9')
-P2_10 = Pin('P2_10')
-P2_11 = Pin('P2_11')
-
-P2_17 = Pin('P2_17')
-P2_18 = Pin('P2_18')
-P2_19 = Pin('P2_19')
-P2_20 = Pin('P2_20')
-
-P2_22 = Pin('P2_22')
-
-P2_24 = Pin('P2_24')
-P2_25 = Pin('P2_25')
-P2_26 = Pin('P2_26')
-P2_27 = Pin('P2_27')
-P2_28 = Pin('P2_28')
-P2_29 = Pin('P2_29')
-P2_30 = Pin('P2_30')
-P2_31 = Pin('P2_31')
-P2_32 = Pin('P2_32')
-P2_33 = Pin('P2_33')
-P2_34 = Pin('P2_34')
-P2_35 = Pin('P2_35')
-P2_36 = Pin('P2_36')
+# P1_1 = SYS VIN        # VIN_AC
+P1_2 = Pin('P1_2')      # GPIO2_23 - GPIO_87
+P1_3 = Pin('P1_3')      # USB1_VBUS_OUT - (silkscreen: USB1 V_EN)
+P1_4 = Pin('P1_4')      # GPIO2_25 - GPIO_89
+# P1_5 = USB VBUS       # USB1_VBUS_IN
+P1_6 = Pin('P1_6')      # SPI0_CS0 - GPIO_5
+# P1_7 = USB VIN        # VIN-USB
+P1_8 = Pin('P1_8')      # SPI0_SCLK - GPIO_2
+# P1_9 = USB1 DN        # USB1-DN
+P1_10 = Pin('P1_10')    # SPI0_D0 - GPIO_3
+# P1_11 = USB1 DP       # USB1-DP
+P1_12 = Pin('P1_12')    # SPI0_D1 - GPIO_4
+# P1_13 = USB1 ID       # USB1-ID
+# P1_14 = SYS 3.3V      # VOUT-3.3V
+# P1_15 = SYS GND       # GND
+# P1_16 = SYS GND       # GND
+# P1_17 = AIN 1.8V REF- # VREFN
+# P1_18 = AIN 1.8V REF+ # VREFP
+P1_19 = Pin('P1_19')    # AIN0
+P1_20 = Pin('P1_20')    # GPIO0_20 - GPIO_20
+P1_21 = Pin('P1_21')    # AIN1
+# P1_22 = SYS GND       # GND
+P1_23 = Pin('P1_23')    # AIN2
+# P1_22 = SYS VOUT      # VOUT-5V
+P1_25 = Pin('P1_25')    # AIN3
+P1_26 = Pin('P1_26')    # I2C2_SDA - GPIO_12
+P1_27 = Pin('P1_27')    # AIN4
+P1_28 = Pin('P1_28')    # I2C2_SCL - GPIO_13
+P1_29 = Pin('P1_29')    # GPIO3_21 - GPIO_117
+P1_30 = Pin('P1_30')    # UART0_TXD - GPIO_43
+P1_31 = Pin('P1_31')    # GPIO3_18 - GPIO_114
+P1_32 = Pin('P1_32')    # UART0_RXD - GPIO_42
+P1_33 = Pin('P1_33')    # GPIO3_15 - GPIO_111
+P1_34 = Pin('P1_34')    # GPIO0_26 - GPIO_26
+P1_35 = Pin('P1_35')    # GPIO2_24 - GPIO_88
+P1_36 = Pin('P1_36')    # EHRPWM0A - GPIO_110
+
+
+P2_1 = Pin('P2_1')      # EHRPWM1A - GPIO_50
+P2_2 = Pin('P2_2')      # GPIO1_27 - GPIO_59
+P2_3 = Pin('P2_3')      # GPIO0_23 - GPIO_23
+P2_4 = Pin('P2_4')      # GPIO1_26 - GPIO_58
+P2_5 = Pin('P2_5')      # UART4_RXD - GPIO_30
+P2_6 = Pin('P2_6')      # GPIO1_25 - GPIO_57
+P2_7 = Pin('P2_7')      # UART4_TXD - GPIO_31
+P2_8 = Pin('P2_8')      # GPIO1_28 - GPIO_60
+P2_9 = Pin('P2_9')      # I2C1_SCL - GPIO_15
+P2_10 = Pin('P2_10')    # GPIO1_20 - GPIO_52
+P2_11 = Pin('P2_11')    # I2C1_SDA - GPIO_14
+# P2_12 = SYS  PWR BTN  # POWER_BUTTON
+# P2_13 = SYS VOUT      # VOUT-5V
+# P2_14 = BAT VIN       # BAT-VIN
+# P2_15 = SYS GND       # GND
+# P2_16 = BAT TEMP      # BAT-TEMP
+P2_17 = Pin('P2_17')    # GPIO2_1 - GPIO_65
+P2_18 = Pin('P2_18')    # GPIO1_15 - GPIO_47
+P2_19 = Pin('P2_19')    # GPIO0_27 - GPIO_27
+P2_20 = Pin('P2_20')    # GPIO2_0 - GPIO_64
+# P2_21 = SYS GND       # GND
+P2_22 = Pin('P2_22')    # GPIO1_14 - GPIO_46
+# P2_23 = SYS 3.3V      # VOUT-3.3V
+P2_24 = Pin('P2_24')    # GPIO1_12 - GPIO_44
+P2_25 = Pin('P2_25')    # SPI1_D1 - GPIO_41
+# P2_26 = SYS NRST      # RESET#
+P2_27 = Pin('P2_27')    # SPI1_D0 - GPIO_40
+P2_28 = Pin('P2_28')    # GPIO3_20 - GPIO_116
+P2_29 = Pin('P2_29')    # SPI1_SCLK - GPIO_7
+P2_30 = Pin('P2_30')    # GPIO3_17 - GPIO_113
+P2_31 = Pin('P2_31')    # SPI1_CS1 - GPIO_19
+P2_32 = Pin('P2_32')    # GPIO3_16 - GPIO_112
+P2_33 = Pin('P2_33')    # GPIO1_13 - GPIO_45
+P2_34 = Pin('P2_34')    # GPIO3_19 - GPIO_115
+P2_35 = Pin('P2_35')    # GPIO2_22 - GPIO_86
+P2_36 = Pin('P2_36')    # AIN7
 
 
 # BeagleBone Black
-P8_3 = Pin('P8_3')
-P8_4 = Pin('P8_4')
-P8_5 = Pin('P8_5')
-P8_6 = Pin('P8_6')
-P8_7 = Pin('P8_7')
-P8_8 = Pin('P8_8')
-P8_9 = Pin('P8_9')
-P8_10 = Pin('P8_10')
-P8_11 = Pin('P8_11')
-P8_12 = Pin('P8_12')
-P8_13 = Pin('P8_13')
-P8_14 = Pin('P8_14')
-P8_15 = Pin('P8_15')
-P8_16 = Pin('P8_16')
-P8_17 = Pin('P8_17')
-P8_18 = Pin('P8_18')
-P8_19 = Pin('P8_19')
-P8_20 = Pin('P8_20')
-P8_21 = Pin('P8_21')
-P8_22 = Pin('P8_22')
-P8_23 = Pin('P8_23')
-P8_24 = Pin('P8_24')
-P8_25 = Pin('P8_25')
-P8_26 = Pin('P8_26')
-P8_27 = Pin('P8_27')
-P8_28 = Pin('P8_28')
-P8_29 = Pin('P8_29')
-P8_30 = Pin('P8_30')
-P8_31 = Pin('P8_31')
-P8_32 = Pin('P8_32')
-P8_33 = Pin('P8_33')
-P8_34 = Pin('P8_34')
-P8_35 = Pin('P8_35')
-P8_36 = Pin('P8_36')
-P8_37 = Pin('P8_37')
-P8_38 = Pin('P8_38')
-P8_39 = Pin('P8_39')
-P8_40 = Pin('P8_40')
-P8_41 = Pin('P8_41')
-P8_42 = Pin('P8_42')
-P8_43 = Pin('P8_43')
-P8_44 = Pin('P8_44')
-P8_45 = Pin('P8_45')
-P8_46 = Pin('P8_46')
-P9_11 = Pin('P9_11')
-P9_12 = Pin('P9_12')
-P9_13 = Pin('P9_13')
-P9_14 = Pin('P9_14')
-P9_15 = Pin('P9_15')
-P9_16 = Pin('P9_16')
-P9_17 = Pin('P9_17')
-P9_18 = Pin('P9_18')
-P9_19 = Pin('P9_19')
-P9_20 = Pin('P9_20')
-P9_21 = Pin('P9_21')
-P9_22 = Pin('P9_22')
-P9_23 = Pin('P9_23')
-P9_24 = Pin('P9_24')
-P9_25 = Pin('P9_25')
-P9_26 = Pin('P9_26')
-P9_27 = Pin('P9_27')
-P9_28 = Pin('P9_28')
-P9_29 = Pin('P9_29')
-P9_30 = Pin('P9_30')
-P9_31 = Pin('P9_31')
-P9_41 = Pin('P9_41')
-P9_42 = Pin('P9_42')
+# P8_1 = DGND           # DGND - GPIO_0
+# P8_2 = DGND           # DGND - GPIO_0
+P8_3 = Pin('P8_3')      # GPIO1_6 - GPIO_38
+P8_4 = Pin('P8_4')      # GPIO1_7 - GPIO_39
+P8_5 = Pin('P8_5')      # GPIO1_2 - GPIO_34
+P8_6 = Pin('P8_6')      # GPIO1_3 - GPIO_35
+P8_7 = Pin('P8_7')      # TIMER4 - GPIO_66
+P8_8 = Pin('P8_8')      # TIMER7 - GPIO_67
+P8_9 = Pin('P8_9')      # TIMER5 - GPIO_69
+P8_10 = Pin('P8_10')    # TIMER6 - GPIO_68
+P8_11 = Pin('P8_11')    # GPIO1_13 - GPIO_45
+P8_12 = Pin('P8_12')    # GPIO1_12 - GPIO_44
+P8_13 = Pin('P8_13')    # EHRPWM2B - GPIO_23
+P8_14 = Pin('P8_14')    # GPIO0_26 - GPIO_26
+P8_15 = Pin('P8_15')    # GPIO1_15 - GPIO_47
+P8_16 = Pin('P8_16')    # GPIO1_14 - GPIO_46
+P8_17 = Pin('P8_17')    # GPIO0_27 - GPIO_27
+P8_18 = Pin('P8_18')    # GPIO2_1 - GPIO_65
+P8_19 = Pin('P8_19')    # EHRPWM2A - GPIO_22
+P8_20 = Pin('P8_20')    # GPIO1_31 - GPIO_63
+P8_21 = Pin('P8_21')    # GPIO1_30 - GPIO_62
+P8_22 = Pin('P8_22')    # GPIO1_5 - GPIO_37
+P8_23 = Pin('P8_23')    # GPIO1_4 - GPIO_36
+P8_24 = Pin('P8_24')    # GPIO1_1 - GPIO_33
+P8_25 = Pin('P8_25')    # GPIO1_0 - GPIO_32
+P8_26 = Pin('P8_26')    # GPIO1_29 - GPIO_61
+P8_27 = Pin('P8_27')    # GPIO2_22 - GPIO_86
+P8_28 = Pin('P8_28')    # GPIO2_24 - GPIO_88
+P8_29 = Pin('P8_29')    # GPIO2_23 - GPIO_87
+P8_30 = Pin('P8_30')    # GPIO2_25 - GPIO_89
+P8_31 = Pin('P8_31')    # UART5_CTSN - GPIO_10
+P8_32 = Pin('P8_32')    # UART5_RTSN - GPIO_11
+P8_33 = Pin('P8_33')    # UART4_RTSN - GPIO_9
+P8_34 = Pin('P8_34')    # UART3_RTSN - GPIO_81
+P8_35 = Pin('P8_35')    # UART4_CTSN - GPIO_8
+P8_36 = Pin('P8_36')    # UART3_CTSN - GPIO_80
+P8_37 = Pin('P8_37')    # UART5_TXD - GPIO_78
+P8_38 = Pin('P8_38')    # UART5_RXD - GPIO_79
+P8_39 = Pin('P8_39')    # GPIO2_12 - GPIO_76
+P8_40 = Pin('P8_40')    # GPIO2_13 - GPIO_77
+P8_41 = Pin('P8_41')    # GPIO2_10 - GPIO_74
+P8_42 = Pin('P8_42')    # GPIO2_11 - GPIO_75
+P8_43 = Pin('P8_43')    # GPIO2_8 - GPIO_72
+P8_44 = Pin('P8_44')    # GPIO2_9 - GPIO_73
+P8_45 = Pin('P8_45')    # GPIO2_6 - GPIO_70
+P8_46 = Pin('P8_46')    # GPIO2_7 - GPIO_71
 
+# P9_1 = DGND           # DGND - GPIO_0
+# P9_2 = DGND           # DGND - GPIO_0
+# P9_3 = VDD_3V3        # VDD_3V3 - GPIO_0
+# P9_4 = VDD_3V3        # VDD_3V3 - GPIO_0
+# P9_5 = VDD_5V         # VDD_5V - GPIO_0
+# P9_6 = VDD_5V         # VDD_5V - GPIO_0
+# P9_7 = SYS_5V         # SYS_5V - GPIO_0
+# P9_8 = SYS_5V         # SYS_5V - GPIO_0
+# P9_9 = PWR_BUT        # PWR_BUT - GPIO_0
+# P9_10 = SYS_RESETN    # SYS_RESETn - GPIO_0
+P9_11 = Pin('P9_11')    # UART4_RXD - GPIO_30
+P9_12 = Pin('P9_12')    # GPIO1_28 - GPIO_60
+P9_13 = Pin('P9_13')    # UART4_TXD - GPIO_31
+P9_14 = Pin('P9_14')    # EHRPWM1A - GPIO_50
+P9_15 = Pin('P9_15')    # GPIO1_16 - GPIO_48
+P9_16 = Pin('P9_16')    # EHRPWM1B - GPIO_51
+P9_17 = Pin('P9_17')    # I2C1_SCL - GPIO_5
+P9_18 = Pin('P9_18')    # I2C1_SDA - GPIO_4
+P9_19 = Pin('P9_19')    # I2C2_SCL - GPIO_13
+P9_20 = Pin('P9_20')    # I2C2_SDA - GPIO_12
+P9_21 = Pin('P9_21')    # UART2_TXD - GPIO_3
+P9_22 = Pin('P9_22')    # UART2_RXD - GPIO_2
+P9_23 = Pin('P9_23')    # GPIO1_17 - GPIO_49
+P9_24 = Pin('P9_24')    # UART1_TXD - GPIO_15
+P9_25 = Pin('P9_25')    # GPIO3_21 - GPIO_117
+P9_26 = Pin('P9_26')    # UART1_RXD - GPIO_14
+P9_27 = Pin('P9_27')    # GPIO3_19 - GPIO_115
+P9_28 = Pin('P9_28')    # SPI1_CS0 - GPIO_113
+P9_29 = Pin('P9_29')    # SPI1_D0 - GPIO_111
+P9_30 = Pin('P9_30')    # SPI1_D1 - GPIO_112
+P9_31 = Pin('P9_31')    # SPI1_SCLK - GPIO_110
+# P9_32 = VDD_ADC       # VDD_ADC - GPIO_0
+# P9_33 = AIN4          # AIN4 - GPIO_0
+# P9_34 = GNDA_ADC      # GNDA_ADC - GPIO_0
+# P9_35 = AIN6          # AIN6 - GPIO_0
+# P9_36 = AIN5          # AIN5 - GPIO_0
+# P9_37 = AIN2          # AIN2 - GPIO_0
+# P9_38 = AIN3          # AIN3 - GPIO_0
+# P9_39 = AIN0          # AIN0 - GPIO_0
+# P9_40 = AIN1          # AIN1 - GPIO_0
+P9_41 = Pin('P9_41')    # CLKOUT2 - GPIO_20
+P9_42 = Pin('P9_42')    # GPIO0_7 - GPIO_7
+# P9_43 = DGND          # DGND - GPIO_0
+# P9_44 = DGND          # DGND - GPIO_0
+# P9_45 = DGND          # DGND - GPIO_0
+# P9_46 = DGND          # DGND - GPIO_0
+
+
+##########################################
 # common to all beagles
-USR0 = Pin('USR0')
-USR1 = Pin('USR1')
-USR2 = Pin('USR2')
-USR3 = Pin('USR3')
-
-# all special functions (SPI / I2C) are moved to
-# src/adafruit_blinka/board/beaglebone_black.py
-
-# # ordered as spiId, sckId, mosiId, misoId
-# spiPorts = (
-#     (0, SCLK, MOSI, MISO),
-#     (1, SCLK_1, MOSI_1, MISO_1)
-# )
-#
-# # ordered as uartId, txId, rxId
-# uartPorts = (
-#     (),
-# )
-#
-# i2cPorts = (
-#     (2, SCL, SDA),
-# )
+USR0 = Pin('USR0')      # USR0 - GPIO_53
+USR1 = Pin('USR1')      # USR1 - GPIO_54
+USR2 = Pin('USR2')      # USR2 - GPIO_55
+USR3 = Pin('USR3')      # USR3 - GPIO_56
+
+
+##########################################
+# specials
+
+# analog input
+AIN0 = Pin('AIN0')
+AIN1 = Pin('AIN1')
+AIN2 = Pin('AIN2')
+AIN3 = Pin('AIN3')
+AIN4 = Pin('AIN4')
+AIN5 = Pin('AIN5')
+AIN6 = Pin('AIN6')
+AIN7 = Pin('AIN7')
+
+# PWM
+EHRPWM0A = Pin('EHRPWM0A')
+EHRPWM0B = Pin('EHRPWM0B')
+EHRPWM1A = Pin('EHRPWM1A')
+EHRPWM1B = Pin('EHRPWM1B')
+EHRPWM2A = Pin('EHRPWM2A')
+EHRPWM2B = Pin('EHRPWM2B')
+ECAPPWM0 = Pin('ECAPPWM0')
+ECAPPWM2 = Pin('ECAPPWM2')
+TIMER4 = Pin('TIMER4')
+TIMER5 = Pin('TIMER5')
+TIMER6 = Pin('TIMER6')
+TIMER7 = Pin('TIMER7')
+
+
+# I2C1
+I2C1_SDA = Pin('I2C1_SDA')
+I2C1_SCL = Pin('I2C1_SCL')
+
+# I2C2
+I2C2_SDA = Pin('I2C2_SDA')
+I2C2_SCL = Pin('I2C2_SCL')
+
+# SPI0
+SPI0_CS0 = Pin('SPI0_CS0')
+SPI0_SCLK = Pin('SPI0_SCLK')
+SPI0_D1 = Pin('SPI0_D1')
+SPI0_D0 = Pin('SPI0_D0')
+
+# SPI1
+SPI1_CS0 = Pin('SPI1_CS0')
+SPI1_CS1 = Pin('SPI1_CS1')
+SPI1_SCLK = Pin('SPI1_SCLK')
+SPI1_D1 = Pin('SPI1_D1')
+SPI1_D0 = Pin('SPI1_D0')
+
+# UART0
+UART0_TXD = Pin('UART0_TXD')
+UART0_RXD = Pin('UART0_RXD')
+
+# UART1
+UART1_TXD = Pin('UART1_TXD')
+UART1_RXD = Pin('UART1_RXD')
+UART1_RTSn = Pin('UART1_RTSn')
+UART1_CTSn = Pin('UART1_CTSn')
+
+# UART2
+UART2_TXD = Pin('UART2_TXD')
+UART2_RXD = Pin('UART2_RXD')
+
+# UART3
+UART3_TXD = Pin('UART3_TXD')
+UART3_RXD = Pin('UART3_RXD')
+UART3_RTSn = Pin('UART3_RTSn')
+UART3_CTSn = Pin('UART3_CTSn')
+
+# UART4
+UART4_TXD = Pin('UART4_TXD')
+UART4_RXD = Pin('UART4_RXD')
+UART4_RTSn = Pin('UART4_RTSn')
+UART4_CTSn = Pin('UART4_CTSn')
+
+# UART5
+UART5_TXD = Pin('UART5_TXD')
+UART5_RXD = Pin('UART5_RXD')
+UART5_RTSn = Pin('UART5_RTSn')
+UART5_CTSn = Pin('UART5_CTSn')
+
+
+# ordered as spiId, sckId, mosiId, misoId
+spiPorts = (
+    (0, SPI0_SCLK, SPI0_D1, SPI0_D0),
+    (1, SPI1_SCLK, SPI1_D1, SPI1_D0),
+)
+
+# ordered as uartId, txId, rxId
+uartPorts = (
+    # (0, UART0_TXD, UART0_RXD),
+    # (1, UART1_TXD, UART1_RXD),
+    # (2, UART2_TXD, UART2_RXD),
+    # (4, UART4_TXD, UART4_RXD),
+    # (5, UART5_TXD, UART5_RXD),
+)
+
+# ordered as i2cId, SCL, SDA
+i2cPorts = (
+    (1, I2C1_SCL, I2C1_SDA),
+    (2, I2C2_SCL, I2C2_SDA),
+)
index 8810fc4c8e6b9e45d4fd3cd365bebe193d1315fc..b67c4a4b3babe59f735aadc0b887c8464cc9eccd 100755 (executable)
@@ -93,7 +93,7 @@ class SPI(Lockable):
         if detector.board.any_raspberry_pi:
             from adafruit_blinka.microcontroller.bcm283x.pin import Pin
             from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
-        elif board_id == ap_board.BEAGLEBONE_BLACK:
+        elif detector.board.any_beaglebone:
             from adafruit_blinka.microcontroller.am335x.pin import Pin
             from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
         elif board_id == ap_board.ORANGE_PI_PC: