]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/board/beaglebone_pocketbeagle.py
d22ced54acd5b7b92b3bb1d981f643a1c17cf9d4
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / board / beaglebone_pocketbeagle.py
1 """
2 Pin definitions for the Beaglebone PocketBeagle.
3
4 based on
5 https://github.com/beagleboard/pocketbeagle/wiki/System-Reference-Manual#figure-42-expansion-header-popular-functions---color-coded
6 """
7 from adafruit_blinka.microcontroller.am335x import pin
8
9 # initial pins, to mimic bonescript demo
10 # PocketBeagle
11 # P1_1 = SYS VIN
12 P1_2 = pin.P1_2  # GPIO_87
13 P1_3 = pin.P1_3  # GPIO_109
14 P1_4 = pin.P1_4  # GPIO_89
15 # P1_5 = USB VBUS
16 P1_6 = pin.P1_6  # GPIO_5
17 # P1_7 = USB VIN
18 P1_8 = pin.P1_8  # GPIO_2
19 # P1_9 = USB DN
20 P1_10 = pin.P1_10  # GPIO_3
21 # P1_11 = USB DP
22 P1_12 = pin.P1_12  # GPIO_4
23 # P1_13 = USB ID
24 # P1_14 = SYS 3.3V
25 # P1_15 = SYS GND
26 # P1_16 = SYS GND
27 # P1_17 = AIN 1.8V REF-
28 # P1_18 = AIN 1.8V REF+
29 P1_19 = pin.P1_19  # AIN0
30 P1_20 = pin.P1_20  # GPIO_20
31 P1_21 = pin.P1_21  # AIN1
32 # P1_22 = SYS GND
33 P1_23 = pin.P1_23  # AIN2
34 # P1_22 = SYS VOUT
35 P1_25 = pin.P1_25  # AIN3
36 P1_26 = pin.P1_26  # GPIO_12
37 P1_27 = pin.P1_27  # AIN4
38 P1_28 = pin.P1_28  # GPIO_13
39 P1_29 = pin.P1_29  # GPIO_117
40 P1_30 = pin.P1_30  # GPIO_43
41 P1_31 = pin.P1_31  # GPIO_114
42 P1_32 = pin.P1_32  # GPIO_42
43 P1_33 = pin.P1_33  # GPIO_111
44 P1_34 = pin.P1_34  # GPIO_26
45 P1_35 = pin.P1_35  # GPIO_88
46 P1_36 = pin.P1_36  # GPIO_110
47
48
49 P2_1 = pin.P2_1  # GPIO_50
50 P2_2 = pin.P2_2  # GPIO_59
51 P2_3 = pin.P2_3  # GPIO_23
52 P2_4 = pin.P2_4  # GPIO_58
53 P2_5 = pin.P2_5  # GPIO_30
54 P2_6 = pin.P2_6  # GPIO_57
55 P2_7 = pin.P2_7  # GPIO_31
56 P2_8 = pin.P2_8  # GPIO_60
57 P2_9 = pin.P2_9  # GPIO_15
58 P2_10 = pin.P2_10  # GPIO_52
59 P2_11 = pin.P2_11  # GPIO_14
60 # P2_12 = SYS  PWR BTN
61 # P2_13 = SYS VOUT
62 # P2_14 = BAT VIN
63 # P2_15 = SYS GND
64 # P2_16 = BAT TEMP
65 P2_17 = pin.P2_17  # GPIO_65
66 P2_18 = pin.P2_18  # GPIO_47
67 P2_19 = pin.P2_19  # GPIO_27
68 P2_20 = pin.P2_20  # GPIO_64
69 # P2_21 = SYS GND
70 P2_22 = pin.P2_22  # GPIO_46
71 # P2_23 = SYS 3.3V
72 P2_24 = pin.P2_24  # GPIO_44
73 P2_25 = pin.P2_25  # GPIO_41
74 # P2_26 = SYS NRST
75 P2_27 = pin.P2_27  # GPIO_40
76 P2_28 = pin.P2_28  # GPIO_116
77 P2_29 = pin.P2_29  # GPIO_7
78 P2_30 = pin.P2_30  # GPIO_113
79 P2_31 = pin.P2_31  # GPIO_19
80 P2_32 = pin.P2_32  # GPIO_112
81 P2_33 = pin.P2_33  # GPIO_45
82 P2_34 = pin.P2_34  # GPIO_115
83 P2_35 = pin.P2_35  # GPIO_86
84 P2_36 = pin.P2_36  # AIN7
85
86 # common to all beagles
87 LED_USR0 = pin.USR0
88 LED_USR1 = pin.USR1
89 LED_USR2 = pin.USR2
90 LED_USR3 = pin.USR3
91
92 ##########
93 # Refer to header default pin modes
94 # https://raw.githubusercontent.com/wiki/beagleboard/pocketbeagle/images/PocketBeagle_pinout.png
95
96 # I2C1 pins
97 # P2_11 (I2C1_SDA => SDA_1) data signal
98 # P2_9 (I2C1_SCL => SCL_1) clock signal
99 SDA_1 = pin.P2_11
100 SCL_1 = pin.P2_9
101
102 # I2C2 pins
103 # P1_26 (I2C2_SDA => SDA_2) data signal
104 # P1_28 (I2C2_SCL => SCL_2) clock signal
105 SDA_2 = pin.P1_26
106 SCL_2 = pin.P1_28
107
108 # SPI0 pins
109 # P1_6 (SPI0_CSO => CE0) enables peripheral device
110 # P1_12 (SPI0_MOSI => MOSI) outputs data to peripheral device
111 # P1_10 (SPIO_MISO => MISO) receives data from peripheral device
112 # P1_8 (SPI0_CLK => SCLK) outputs clock signal
113 CE0 = pin.P1_6
114 MOSI = pin.P1_12
115 MISO = pin.P1_10
116 SCLK = pin.P1_8
117 # CircuitPython naming convention for SPI Clock
118 SCK = SCLK
119
120 # SPI1 pins
121 # P2_31 (SPI1_CS1 => CE1) enables peripheral device
122 # P2_25 (SPI1_MOSI => MOSI) outputs data to peripheral device
123 # P2_27 (SPI1_MISO => MISO) receives data from peripheral device
124 # P2_29 (SPI1_CLK => SCLK) outputs clock signal
125 CE1 = pin.P2_31
126 MOSI_1 = pin.P2_25
127 MISO_1 = pin.P2_27
128 SCLK_1 = pin.P2_29
129 # CircuitPython naming convention for SPI Clock
130 SCK_1 = SCLK_1
131
132
133 # UART0
134 TX_0 = pin.P1_30
135 RX_0 = pin.P1_32
136
137 TX = TX_0
138 RX = RX_0
139
140
141 # UART2
142 # pins already in use by SPI0
143 # TX_2 = pin.P1_8
144 # RX_2 = pin.P1_10
145
146 # UART4
147 TX_4 = pin.P2_7
148 RX_4 = pin.P2_5
149
150
151 # ordered as spiId, sckId, mosiId, misoId
152 spiPorts = (
153     (0, SCLK, MOSI, MISO),
154     (1, SCLK_1, MOSI_1, MISO_1),
155 )
156
157 # ordered as uartId, txId, rxId
158 uartPorts = (
159     (0, TX_0, RX_0),
160     (4, TX_4, RX_4),
161 )
162
163 i2cPorts = (
164     (1, SCL_1, SDA_1),
165     (2, SCL_2, SDA_2),
166 )