]> Repositories - Adafruit_Blinka-hackapet.git/blob - src/adafruit_blinka/microcontroller/bcm2711/pin.py
feat: add I2C and SPI
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / bcm2711 / pin.py
1 # SPDX-FileCopyrightText: 2021 Melissa LeBlanc-Williams for Adafruit Industries
2 #
3 # SPDX-License-Identifier: MIT
4 """Broadcom BCM2711 pin names"""
5 from RPi import GPIO
6 from adafruit_blinka.microcontroller.bcm283x.pin import Pin
7
8 GPIO.setmode(GPIO.BCM)  # Use BCM pins D4 = GPIO #4
9 GPIO.setwarnings(False)  # shh!
10
11 D0 = Pin(0)
12 D1 = Pin(1)
13
14 D2 = Pin(2)
15 SDA = Pin(2)
16 D3 = Pin(3)
17 SCL = Pin(3)
18
19 D4 = Pin(4)
20 D5 = Pin(5)
21 D6 = Pin(6)
22
23 D7 = Pin(7)
24 CE1 = Pin(7)
25 D8 = Pin(8)
26 CE0 = Pin(8)
27 D9 = Pin(9)
28 MISO = Pin(9)
29 D10 = Pin(10)
30 MOSI = Pin(10)
31 D11 = Pin(11)
32 SCLK = Pin(11)  # Raspberry Pi naming
33 SCK = Pin(11)  # CircuitPython naming
34
35 D12 = Pin(12)
36 D13 = Pin(13)
37
38 D14 = Pin(14)
39 TXD = Pin(14)
40 D15 = Pin(15)
41 RXD = Pin(15)
42
43 D16 = Pin(16)
44 D17 = Pin(17)
45 D18 = Pin(18)
46 D19 = Pin(19)
47 MISO_1 = Pin(19)
48 D20 = Pin(20)
49 MOSI_1 = Pin(20)
50 D21 = Pin(21)
51 SCLK_1 = Pin(21)
52 SCK_1 = Pin(21)
53 D22 = Pin(22)
54 D23 = Pin(23)
55 D24 = Pin(24)
56 D25 = Pin(25)
57 D26 = Pin(26)
58 D27 = Pin(27)
59 D28 = Pin(28)
60 D29 = Pin(29)
61 D30 = Pin(30)
62 D31 = Pin(31)
63 D32 = Pin(32)
64 D33 = Pin(33)
65 D34 = Pin(34)
66 D35 = Pin(35)
67 D36 = Pin(36)
68 D37 = Pin(37)
69 D38 = Pin(38)
70 D39 = Pin(39)
71 D40 = Pin(40)
72 MISO_2 = Pin(40)
73 D41 = Pin(41)
74 MOSI_2 = Pin(41)
75 D42 = Pin(42)
76 SCLK_2 = Pin(42)
77 SCK_2 = Pin(43)
78 D43 = Pin(43)
79 D44 = Pin(44)
80 D45 = Pin(45)
81
82 # ordered as spiId, sckId, mosiId, misoId
83 spiPorts = (
84     (0, SCLK, MOSI, MISO),
85     (1, SCLK_1, MOSI_1, MISO_1),
86     (2, SCLK_2, MOSI_2, MISO_2),
87     (3, D3, D2, D1),
88     (4, D7, D6, D5),
89     (5, D15, D14, D13),
90 )
91
92 # ordered as uartId, txId, rxId
93 uartPorts = ((1, TXD, RXD),)
94
95 # These are the known hardware I2C ports / pins.
96 # For software I2C ports created with the i2c-gpio overlay, see:
97 #     https://github.com/adafruit/Adafruit_Python_Extended_Bus
98 i2cPorts = (
99     (1, SCL, SDA),
100     (0, D1, D0),  # both pi 1 and pi 2 i2c ports!
101     (10, D45, D44),  # internal i2c bus for the CM4
102 )