1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
3 # SPDX-License-Identifier: MIT
4 """Pin definitions for the Beaglebone Black."""
5 from adafruit_blinka.microcontroller.dra74x import pin
7 # initial pins, to mimic bonescript demo
11 P8_3 = pin.P8_3 # GPIO1_6 - GPIO_38
12 P8_4 = pin.P8_4 # GPIO1_7 - GPIO_39
13 P8_5 = pin.P8_5 # GPIO1_2 - GPIO_34
14 P8_6 = pin.P8_6 # GPIO1_3 - GPIO_35
15 P8_7 = pin.P8_7 # TIMER4 - GPIO_66
16 P8_8 = pin.P8_8 # TIMER7 - GPIO_67
17 P8_9 = pin.P8_9 # TIMER5 - GPIO_69
18 P8_10 = pin.P8_10 # TIMER6 - GPIO_68
19 P8_11 = pin.P8_11 # GPIO1_13 - GPIO_45
20 P8_12 = pin.P8_12 # GPIO1_12 - GPIO_44
21 P8_13 = pin.P8_13 # EHRPWM2B - GPIO_23
22 P8_14 = pin.P8_14 # GPIO0_26 - GPIO_26
23 P8_15 = pin.P8_15 # GPIO1_15 - GPIO_47
24 P8_16 = pin.P8_16 # GPIO1_14 - GPIO_46
25 P8_17 = pin.P8_17 # GPIO0_27 - GPIO_27
26 P8_18 = pin.P8_18 # GPIO2_1 - GPIO_65
27 P8_19 = pin.P8_19 # EHRPWM2A - GPIO_22
28 P8_20 = pin.P8_20 # GPIO1_31 - GPIO_63
29 P8_21 = pin.P8_21 # GPIO1_30 - GPIO_62
30 P8_22 = pin.P8_22 # GPIO1_5 - GPIO_37
31 P8_23 = pin.P8_23 # GPIO1_4 - GPIO_36
32 P8_24 = pin.P8_24 # GPIO1_1 - GPIO_33
33 P8_25 = pin.P8_25 # GPIO1_0 - GPIO_32
34 P8_26 = pin.P8_26 # GPIO1_29 - GPIO_61
35 P8_27 = pin.P8_27 # GPIO2_22 - GPIO_86
36 P8_28 = pin.P8_28 # GPIO2_24 - GPIO_88
37 P8_29 = pin.P8_29 # GPIO2_23 - GPIO_87
38 P8_30 = pin.P8_30 # GPIO2_25 - GPIO_89
39 P8_31 = pin.P8_31 # UART5_CTSN - GPIO_10
40 P8_32 = pin.P8_32 # UART5_RTSN - GPIO_11
41 P8_33 = pin.P8_33 # UART4_RTSN - GPIO_9
42 P8_34 = pin.P8_34 # UART3_RTSN - GPIO_81
43 P8_35 = pin.P8_35 # UART4_CTSN - GPIO_8
44 P8_36 = pin.P8_36 # UART3_CTSN - GPIO_80
45 P8_37 = pin.P8_37 # UART5_TXD - GPIO_78
46 P8_38 = pin.P8_38 # UART5_RXD - GPIO_79
47 P8_39 = pin.P8_39 # GPIO2_12 - GPIO_76
48 P8_40 = pin.P8_40 # GPIO2_13 - GPIO_77
49 P8_41 = pin.P8_41 # GPIO2_10 - GPIO_74
50 P8_42 = pin.P8_42 # GPIO2_11 - GPIO_75
51 P8_43 = pin.P8_43 # GPIO2_8 - GPIO_72
52 P8_44 = pin.P8_44 # GPIO2_9 - GPIO_73
53 P8_45 = pin.P8_45 # GPIO2_6 - GPIO_70
54 P8_46 = pin.P8_46 # GPIO2_7 - GPIO_71
58 # P9_3 = VDD_3V3 # VDD_3V3
59 # P9_4 = VDD_3V3 # VDD_3V3
60 # P9_5 = VDD_5V # VDD_5V
61 # P9_6 = VDD_5V # VDD_5V
62 # P9_7 = SYS_5V # SYS_5V
63 # P9_8 = SYS_5V # SYS_5V
64 # P9_9 = PWR_BUT # PWR_BUT
65 # P9_10 = SYS_RESETN # SYS_RESETn
66 P9_11 = pin.P9_11 # UART4_RXD - GPIO_30
67 P9_12 = pin.P9_12 # GPIO1_28 - GPIO_60
68 P9_13 = pin.P9_13 # UART4_TXD - GPIO_31
69 P9_14 = pin.P9_14 # EHRPWM1A - GPIO_50
70 P9_15 = pin.P9_15 # GPIO1_16 - GPIO_48
71 P9_16 = pin.P9_16 # EHRPWM1B - GPIO_51
72 P9_17 = pin.P9_17 # I2C1_SCL - GPIO_5
73 P9_18 = pin.P9_18 # I2C1_SDA - GPIO_4
74 P9_19 = pin.P9_19 # I2C2_SCL - GPIO_13
75 P9_20 = pin.P9_20 # I2C2_SDA - GPIO_12
76 P9_21 = pin.P9_21 # UART2_TXD - GPIO_3
77 P9_22 = pin.P9_22 # UART2_RXD - GPIO_2
78 P9_23 = pin.P9_23 # GPIO1_17 - GPIO_49
79 P9_24 = pin.P9_24 # UART1_TXD - GPIO_15
80 P9_25 = pin.P9_25 # GPIO3_21 - GPIO_117
81 P9_26 = pin.P9_26 # UART1_RXD - GPIO_14
82 P9_27 = pin.P9_27 # GPIO3_19 - GPIO_115
83 P9_28 = pin.P9_28 # SPI1_CS0 - GPIO_113
84 P9_29 = pin.P9_29 # SPI1_D0 - GPIO_111
85 P9_30 = pin.P9_30 # SPI1_D1 - GPIO_112
86 P9_31 = pin.P9_31 # SPI1_SCLK - GPIO_110
87 # P9_32 = VDD_ADC # VDD_ADC
89 # P9_34 = GNDA_ADC # GNDA_ADC
96 P9_41 = pin.P9_41 # CLKOUT2 - GPIO_20
97 P9_42 = pin.P9_42 # GPIO0_7 - GPIO_7
100 # P9_45 = DGND # DGND
101 # P9_46 = DGND # DGND
103 # common to all beagles
110 # I2C and SPI pins from:
111 # src/adafruit_blinka/board/raspi_40pin.py
127 SDA = pin.I2C4_SDA # P9_19
128 SCL = pin.I2C4_SCL # P9_20
132 # To enable SPI and an additional I2C port, add the following line to /boot/uEnv.txt:
133 # dtb=am5729-beagleboneai-roboticscape.dtb
135 # You can verify the dtb file exists by checking the /boot/dtbs/{kernel_version}/ folder
137 CE0 = pin.SPI1_CS0 # P9_28
138 CE1 = pin.SPI1_CS1 # P9_42
139 MOSI = pin.SPI1_D1 # P9_29
140 MISO = pin.SPI1_D0 # P9_30
141 SCLK = pin.SPI1_SCLK # P9_31
142 # CircuitPython naming convention for SPI Clock