-        if board_id == "raspi_3" or board_id == "raspi_2":
-            from adafruit_blinka.microcontroller.raspi_23.spi import SPI as _SPI
-            from adafruit_blinka.microcontroller.raspi_23.pin import Pin
-        elif board_id == "beaglebone_black":
-            from adafruit_blinka.microcontroller.beaglebone_black.spi import SPI as _SPI
-            from adafruit_blinka.microcontroller.beaglebone_black.pin import Pin
+        if detector.board.any_raspberry_pi:
+            from adafruit_blinka.microcontroller.bcm283x.pin import Pin
+            from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
+        elif detector.board.any_beaglebone:
+            from adafruit_blinka.microcontroller.am335x.pin import Pin
+            from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
+        elif board_id == ap_board.ORANGE_PI_PC:
+            from adafruit_blinka.microcontroller.allwinner_h3.pin import Pin
+            from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
+        elif board_id == ap_board.GIANT_BOARD:
+            from adafruit_blinka.microcontroller.sama5.pin import Pin
+            from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
+        elif board_id == ap_board.CORAL_EDGE_TPU_DEV:
+            from adafruit_blinka.microcontroller.nxp_imx8m.pin import Pin
+            from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI