elif detector.board.binho_nova:
             from adafruit_blinka.microcontroller.nova.spi import SPI as _SPI
             from adafruit_blinka.microcontroller.nova.pin import Pin
+        elif board_id == ap_board.PINE64 or board_id == ap_board.PINEBOOK or board_id == ap_board.PINEPHONE:
+            from adafruit_blinka.microcontroller.allwinner.a64.pin import Pin
+            from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
         else:
             from machine import SPI as _SPI
             from machine import Pin
 
     from machine import Pin
 elif detector.board.microchip_mcp2221:
     from adafruit_blinka.microcontroller.mcp2221.pin import Pin
+elif detector.board.pine64 or detector.board.pinebook or detector.board.pinephone:
+    from adafruit_blinka.microcontroller.allwinner.pin import Pin
 from adafruit_blinka import Enum, ContextManaged
 
 class DriveMode(Enum):
 
     from adafruit_blinka.microcontroller.nova.pin import *
 elif chip_id == ap_chip.MCP2221:
     from adafruit_blinka.microcontroller.mcp2221.pin import *
+elif chip_id == ap_chip.A64:
+    from adafruit_blinka.microcontroller.allwinner.pin import *
 else:
     raise NotImplementedError("Microcontroller not supported: ", chip_id)