]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/board/beaglebone_black.py
4bd10cd8e36dff3623d215338674adaf4f8261b0
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / board / beaglebone_black.py
1 """Pin definitions for the Beaglebone Black."""
2 from adafruit_blinka.microcontroller.am335x import pin
3
4 # initial pins, to mimic bonescript demo
5 # BeagleBone Black
6 # P8_1 = DGND
7 # P8_2 = DGND
8 P8_3 = pin.P8_3  # GPIO_38
9 P8_4 = pin.P8_4  # GPIO_39
10 P8_5 = pin.P8_5  # GPIO_34
11 P8_6 = pin.P8_6  # GPIO_35
12 P8_7 = pin.P8_7  # GPIO_66
13 P8_8 = pin.P8_8  # GPIO_67
14 P8_9 = pin.P8_9  # GPIO_69
15 P8_10 = pin.P8_10  # GPIO_68
16 P8_11 = pin.P8_11  # GPIO_45
17 P8_12 = pin.P8_12  # GPIO_44
18 P8_13 = pin.P8_13  # GPIO_23
19 P8_14 = pin.P8_14  # GPIO_26
20 P8_15 = pin.P8_15  # GPIO_47
21 P8_16 = pin.P8_16  # GPIO_46
22 P8_17 = pin.P8_17  # GPIO_27
23 P8_18 = pin.P8_18  # GPIO_65
24 P8_19 = pin.P8_19  # GPIO_22
25 P8_20 = pin.P8_20  # GPIO_63
26 P8_21 = pin.P8_21  # GPIO_62
27 P8_22 = pin.P8_22  # GPIO_37
28 P8_23 = pin.P8_23  # GPIO_36
29 P8_24 = pin.P8_24  # GPIO_33
30 P8_25 = pin.P8_25  # GPIO_32
31 P8_26 = pin.P8_26  # GPIO_61
32 P8_27 = pin.P8_27  # GPIO_86
33 P8_28 = pin.P8_28  # GPIO_88
34 P8_29 = pin.P8_29  # GPIO_87
35 P8_30 = pin.P8_30  # GPIO_89
36 P8_31 = pin.P8_31  # GPIO_10
37 P8_32 = pin.P8_32  # GPIO_11
38 P8_33 = pin.P8_33  # GPIO_9
39 P8_34 = pin.P8_34  # GPIO_81
40 P8_35 = pin.P8_35  # GPIO_8
41 P8_36 = pin.P8_36  # GPIO_80
42 P8_37 = pin.P8_37  # GPIO_78
43 P8_38 = pin.P8_38  # GPIO_79
44 P8_39 = pin.P8_39  # GPIO_76
45 P8_40 = pin.P8_40  # GPIO_77
46 P8_41 = pin.P8_41  # GPIO_74
47 P8_42 = pin.P8_42  # GPIO_75
48 P8_43 = pin.P8_43  # GPIO_72
49 P8_44 = pin.P8_44  # GPIO_73
50 P8_45 = pin.P8_45  # GPIO_70
51 P8_46 = pin.P8_46  # GPIO_71
52
53 # P9_1 = DGND
54 # P9_2 = DGND
55 # P9_3 = VDD_3V3
56 # P9_4 = VDD_3V3
57 # P9_5 = VDD_5V
58 # P9_6 = VDD_5V
59 # P9_7 = SYS_5V
60 # P9_8 = SYS_5V
61 # P9_9 = PWR_BUT
62 # P9_10 = SYS_RESETN
63 P9_11 = pin.P9_11  # GPIO_30
64 P9_12 = pin.P9_12  # GPIO_60
65 P9_13 = pin.P9_13  # GPIO_31
66 P9_14 = pin.P9_14  # GPIO_40
67 P9_15 = pin.P9_15  # GPIO_48
68 P9_16 = pin.P9_16  # GPIO_51
69 P9_17 = pin.P9_17  # GPIO_4
70 P9_18 = pin.P9_18  # GPIO_5
71 P9_19 = pin.P9_19  # I2C2_SCL
72 P9_20 = pin.P9_20  # I2C2_SDA
73 P9_21 = pin.P9_21  # GPIO_3
74 P9_22 = pin.P9_22  # GPIO_2
75 P9_23 = pin.P9_23  # GPIO_49
76 P9_24 = pin.P9_24  # GPIO_15
77 P9_25 = pin.P9_25  # GPIO_117
78 P9_26 = pin.P9_26  # GPIO_14
79 P9_27 = pin.P9_27  # GPIO_125
80 P9_28 = pin.P9_28  # GPIO_123
81 P9_29 = pin.P9_29  # GPIO_121
82 P9_30 = pin.P9_30  # GPIO_122
83 P9_31 = pin.P9_31  # GPIO_120
84 # P9_32 = VDD_ADC
85 # P9_33 = AIN4
86 # P9_34 = GNDA_ADC
87 # P9_35 = AIN6
88 # P9_36 = AIN5
89 # P9_37 = AIN2
90 # P9_38 = AIN3
91 # P9_39 = AIN0
92 # P9_40 = AIN1
93 P9_41 = pin.P9_41  # GPIO_20
94 P9_42 = pin.P9_42  # GPIO_7
95 # P9_43 = DGND
96 # P9_44 = DGND
97 # P9_45 = DGND
98 # P9_46 = DGND
99
100 # common to all beagles
101 LED_USR0 = pin.USR0
102 LED_USR1 = pin.USR1
103 LED_USR2 = pin.USR2
104 LED_USR3 = pin.USR3
105
106 # I2C and SPI pins from:
107 # src/adafruit_blinka/board/raspi_40pin.py
108 # SDA = pin.SDA
109 # SCL = pin.SCL
110 # CE1 = pin.D7
111 # CE0 = pin.D8
112 # MISO = pin.D9
113 # MOSI = pin.D10
114 # SCLK = pin.D11
115 # SCK = pin.D11
116 # TXD = pin.D14
117 # RXD = pin.D15
118 # MISO_1 = pin.D19
119 # MOSI_1 = pin.D20
120 # SCLK_1 = pin.D21
121 # SCK_1 = pin.D21
122
123 SDA = pin.P9_19
124 SCL = pin.P9_20
125
126 # Refer to header default pin modes
127 # http://beagleboard.org/static/images/cape-headers.png
128 #
129 # P9_17 (SPI0_CSO => CE0) enables peripheral device
130 # P9_18 (SPI0_D1 => MOSI) outputs data to peripheral device
131 # P9_21 (SPIO_DO => MISO) receives data from peripheral device
132 # P9_22 (SPI0_SCLK => SCLK) outputs clock signal
133 #
134 # Use config-pin to set pin mode for SPI pins
135 # https://github.com/beagleboard/bb.org-overlays/tree/master/tools/beaglebone-universal-io
136 # config-pin p9.17 spi_cs
137 # config-pin p9.18 spi
138 # config-pin p9.21 spi
139 # config-pin p9.22 spi_sclk
140 #
141 CE0 = pin.P9_17
142 MOSI = pin.P9_18
143 MISO = pin.P9_21
144 SCLK = pin.P9_22
145 # CircuitPython naming convention for SPI Clock
146 SCK = SCLK
147
148 # Pins for SPI1
149 # refer to:
150 # http://beagleboard.org/static/images/cape-headers-spi.png
151 #
152 # CE1 P9.28 SPI1_CS0
153 # MISO_1 P9.29 SPI1_D0
154 # MOSI_1 P9.30 SPI1_D1
155 # SCLK_1 P9.31 SPI_SCLK
156 #
157 # SPI1 conflicts with HDMI Audio (McASP)
158 #
159 # Refer to:
160 # https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
161 #
162 # To Disable HDMI AUDIO, uncomment this line in /boot/uEnv.txt:
163 # disable_uboot_overlay_audio=1
164 #
165 # Set pin modes for SPI1 with:
166 #
167 # config-pin p9.28 spi1_cs
168 # config-pin p9.29 spi1
169 # config-pin p9.30 spi1
170 # config-pin p9.31 spi_sclk
171 CE1 = pin.P9_28
172 MOSI_1 = pin.P9_29
173 MISO_1 = pin.P9_30
174 SCLK_1 = pin.P9_31
175 # CircuitPython naming convention for SPI Clock
176 SCK_1 = SCLK_1
177
178
179 # ordered as spiId, sckId, mosiId, misoId
180 spiPorts = (
181     (0, SCLK, MOSI, MISO),
182     (1, SCLK_1, MOSI_1, MISO_1)
183 )
184
185 # ordered as uartId, txId, rxId
186 uartPorts = (
187     (),
188 )
189
190 i2cPorts = (
191     (2, SCL, SDA),
192 )