]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/board/beaglebone_pocketbeagle.py
41ed67e87b9db150e214f33494568405d6d697bf
[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 # P1_1 = SYS VIN
11 P1_2 = pin.P1_2
12 P1_3 = pin.P1_3
13 P1_4 = pin.P1_4
14 # P1_5 = USB VBUS
15 P1_6 = pin.P1_6
16 # P1_7 = USB VIN
17 P1_8 = pin.P1_8
18 # P1_9 = USB DN
19 P1_10 = pin.P1_10
20 # P1_11 = USB DP
21 P1_12 = pin.P1_12
22 # P1_13 = USB ID
23 # P1_14 = SYS 3.3V
24 # P1_15 = SYS GND
25 # P1_16 = SYS GND
26 # P1_17 = AIN 1.8V REF-
27 # P1_18 = AIN 1.8V REF+
28 P1_19 = pin.P1_19
29 P1_20 = pin.P1_20
30 P1_21 = pin.P1_21
31 # P1_22 = SYS GND
32 P1_23 = pin.P1_23
33 # P1_22 = SYS VOUT
34 P1_25 = pin.P1_25
35 P1_26 = pin.P1_26
36 P1_27 = pin.P1_27
37 P1_28 = pin.P1_28
38 P1_29 = pin.P1_29
39 P1_30 = pin.P1_30
40 P1_31 = pin.P1_31
41 P1_32 = pin.P1_32
42 P1_33 = pin.P1_33
43 P1_34 = pin.P1_34
44 P1_35 = pin.P1_35
45 P1_36 = pin.P1_36
46
47
48 P2_1 = pin.P2_1
49 P2_2 = pin.P2_2
50 P2_3 = pin.P2_3
51 P2_4 = pin.P2_4
52 P2_5 = pin.P2_5
53 P2_6 = pin.P2_6
54 P2_7 = pin.P2_7
55 P2_8 = pin.P2_8
56 P2_9 = pin.P2_9
57 P2_10 = pin.P2_10
58 P2_11 = pin.P2_11
59 # P2_12 = SYS  PWR BTN
60 # P2_13 = SYS VOUT
61 # P2_14 = BAT VIN
62 # P2_15 = SYS GND
63 # P2_16 = BAT TEMP
64 P2_17 = pin.P2_17
65 P2_18 = pin.P2_18
66 P2_19 = pin.P2_19
67 P2_20 = pin.P2_20
68 # P2_21 = SYS GND
69 P2_22 = pin.P2_22
70 # P2_23 = SYS 3.3V
71 P2_24 = pin.P2_24
72 P2_25 = pin.P2_25
73 # P2_26 = SYS NRST
74 P2_27 = pin.P2_27
75 P2_28 = pin.P2_28
76 P2_29 = pin.P2_29
77 P2_30 = pin.P2_30
78 P2_31 = pin.P2_31
79 P2_32 = pin.P2_32
80 P2_33 = pin.P2_33
81 P2_34 = pin.P2_34
82 P2_35 = pin.P2_35
83 P2_36 = pin.P2_36
84
85 LED_USR0 = pin.USR0
86 LED_USR1 = pin.USR1
87 LED_USR2 = pin.USR2
88 LED_USR3 = pin.USR3
89
90 ##########
91 # Refer to header default pin modes
92 # https://raw.githubusercontent.com/wiki/beagleboard/pocketbeagle/images/PocketBeagle_pinout.png
93
94 # I2C1 pins
95 # P2_11 (I2C1_SDA => SDA_1) data signal
96 # P2_9 (I2C1_SCL => SCL_1) clock signal
97 SDA_1 = pin.P2_11
98 SCL_1 = pin.P2_9
99
100 # I2C2 pins
101 # P1_26 (I2C2_SDA => SDA_2) data signal
102 # P1_28 (I2C2_SCL => SCL_2) clock signal
103 SDA_2 = pin.P1_26
104 SCL_2 = pin.P1_28
105
106 # SPI0 pins
107 # P1_6 (SPI0_CSO => CE0) enables peripheral device
108 # P1_12 (SPI0_MOSI => MOSI) outputs data to peripheral device
109 # P1_10 (SPIO_MISO => MISO) receives data from peripheral device
110 # P1_8 (SPI0_CLK => SCLK) outputs clock signal
111 CE0 = pin.P1_6
112 MOSI = pin.P1_12
113 MISO = pin.P1_10
114 SCLK = pin.P1_8
115 # CircuitPython naming convention for SPI Clock
116 SCK = SCLK
117
118 # SPI1 pins
119 # P2_31 (SPI1_CS1 => CE1) enables peripheral device
120 # P2_25 (SPI1_MOSI => MOSI) outputs data to peripheral device
121 # P2_27 (SPI1_MISO => MISO) receives data from peripheral device
122 # P2_29 (SPI1_CLK => SCLK) outputs clock signal
123 CE1 = pin.P2_31
124 MOSI_1 = pin.P2_25
125 MISO_1 = pin.P2_27
126 SCLK_1 = pin.P2_29
127 # CircuitPython naming convention for SPI Clock
128 SCK_1 = SCLK_1
129
130
131 # UART0
132 TX_0 = pin.P1_30
133 RX_0 = pin.P1_32
134
135 TX = TX_0
136 RX = RX_0
137
138
139 # UART2
140 # pins already in use by SPI0
141 # TX_2 = pin.P1_8
142 # RX_2 = pin.P1_10
143
144 # UART4
145 TX_4 = pin.P2_7
146 RX_4 = pin.P2_5
147
148
149 # ordered as spiId, sckId, mosiId, misoId
150 spiPorts = (
151     (0, SCLK, MOSI, MISO),
152     (1, SCLK_1, MOSI_1, MISO_1),
153 )
154
155 # ordered as uartId, txId, rxId
156 uartPorts = (
157     (0, TX_0, RX_0),
158     (4, TX_4, RX_4),
159 )
160
161 i2cPorts = (
162     (1, SCL_1, SDA_1),
163     (2, SCL_2, SDA_2),
164 )