]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/digitalio.py
Merge pull request #807 from brentru/force-mcp
[Adafruit_Blinka-hackapet.git] / src / digitalio.py
index 657e7da5d47bae9fc955ff43d75a0c8f707da910..7f57e31500daeef16c7f4ca2889b0cf7a7685832 100644 (file)
@@ -9,19 +9,29 @@ See `CircuitPython:digitalio` in CircuitPython for more details.
 
 * Author(s): cefn
 """
-
+import os
 from adafruit_blinka.agnostic import board_id, detector
 
-# pylint: disable=ungrouped-imports,wrong-import-position
+# pylint: disable=ungrouped-imports,wrong-import-position,unused-wildcard-import,wildcard-import
 
 # By Chip Class
 if detector.chip.BCM2XXX:
-    from adafruit_blinka.microcontroller.bcm283x.pin import Pin
+    if board_id in (
+        "RASPBERRY_PI_4B",
+        "RASPBERRY_PI_400",
+        "RASPBERRY_PI_CM4",
+        "RASPBERRY_PI_CM4S",
+    ):
+        from adafruit_blinka.microcontroller.bcm2711.pin import *
+    elif board_id in ("RASPBERRY_PI_5",):
+        from adafruit_blinka.microcontroller.bcm2712.pin import *
+    else:
+        from adafruit_blinka.microcontroller.bcm283x.pin import Pin
 elif detector.chip.AM33XX:
     from adafruit_blinka.microcontroller.am335x.pin import Pin
 elif detector.chip.AM65XX:
     from adafruit_blinka.microcontroller.am65xx.pin import Pin
-elif detector.chip.JH71x0:
+elif detector.chip.JH71X0:
     from adafruit_blinka.microcontroller.starfive.JH71x0.pin import Pin
 elif detector.chip.DRA74X:
     from adafruit_blinka.microcontroller.dra74x.pin import Pin
@@ -105,6 +115,8 @@ elif detector.chip.H616:
     from adafruit_blinka.microcontroller.allwinner.h616.pin import Pin
 elif detector.chip.D1_RISCV:
     from adafruit_blinka.microcontroller.allwinner.D1.pin import Pin
+elif detector.chip.TH1520:
+    from adafruit_blinka.microcontroller.thead.th1520.pin import Pin
 # Special Case Boards
 elif detector.board.ftdi_ft232h:
     from adafruit_blinka.microcontroller.ftdi_mpsse.ft232h.pin import Pin
@@ -115,7 +127,13 @@ elif detector.board.binho_nova:
 elif detector.board.greatfet_one:
     from adafruit_blinka.microcontroller.nxp_lpc4330.pin import Pin
 elif detector.board.microchip_mcp2221:
-    from adafruit_blinka.microcontroller.mcp2221.pin import Pin
+    if (
+        "BLINKA_FORCECHIP" in os.environ
+        and os.environ["BLINKA_FORCEBOARD"] == "MICROCHIP_MCP2221"
+    ):
+        from adafruit_blinka.microcontroller.fake_mcp2221.pin import Pin
+    else:
+        from adafruit_blinka.microcontroller.mcp2221.pin import Pin
 elif detector.chip.RP2040_U2IF:
     from adafruit_blinka.microcontroller.rp2040_u2if.pin import Pin
 # MicroPython Chips
@@ -123,6 +141,8 @@ elif detector.chip.STM32F405:
     from machine import Pin
 elif detector.chip.RP2040:
     from machine import Pin
+elif detector.chip.CV1800B:
+    from adafruit_blinka.microcontroller.cv1800b.pin import Pin
 
 from adafruit_blinka import Enum, ContextManaged