]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - src/adafruit_blinka/microcontroller/bcm283x/pin.py
Split RP4 and CM4 SPI definitions
[hackapet/Adafruit_Blinka.git] / src / adafruit_blinka / microcontroller / bcm283x / pin.py
index 1bca6f513c57bea7785ca3a7bb72dff28a64ff75..dd8abe60e943cf0f3f8dac1ef61f1f1303f81e69 100644 (file)
@@ -1,5 +1,6 @@
 """Broadcom BCM283x pin names"""
 import RPi.GPIO as GPIO
+from adafruit_blinka.agnostic import detector
 
 GPIO.setmode(GPIO.BCM)  # Use BCM pins D4 = GPIO #4
 GPIO.setwarnings(False)  # shh!
@@ -138,11 +139,21 @@ D44 = Pin(44)
 D45 = Pin(45)
 
 # ordered as spiId, sckId, mosiId, misoId
-spiPorts = (
-    (0, SCLK, MOSI, MISO),
-    (1, SCLK_1, MOSI_1, MISO_1),
-    (2, SCLK_2, MOSI_2, MISO_2),
-)
+if detector.board.id in ["RASPBERRY_PI_4B", "RASPBERRY_PI_CM4"]:
+    spiPorts = (
+        (0, SCLK, MOSI, MISO),
+        (6, SCLK_1, MOSI_1, MISO_1),
+        (2, SCLK_2, MOSI_2, MISO_2),
+        (3, D3, D2, D1),
+        (4, D7, D6, D5),
+        (5, D15, D14, D13),
+    )
+else:
+    spiPorts = (
+        (0, SCLK, MOSI, MISO),
+        (1, SCLK_1, MOSI_1, MISO_1),
+        (2, SCLK_2, MOSI_2, MISO_2),
+    )
 
 # ordered as uartId, txId, rxId
 uartPorts = ((1, TXD, RXD),)
@@ -153,5 +164,5 @@ uartPorts = ((1, TXD, RXD),)
 i2cPorts = (
     (1, SCL, SDA),
     (0, D1, D0),  # both pi 1 and pi 2 i2c ports!
-    (10, D45, D44), # internal i2c bus for the CM4
+    (10, D45, D44),  # internal i2c bus for the CM4
 )