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