]> Repositories - hackapet/Adafruit_Blinka.git/blobdiff - src/busio.py
Update busio.py
[hackapet/Adafruit_Blinka.git] / src / busio.py
index 67494592e6592ea7928289fe94f93e726e47f02c..cb85c9dbb58ebd42d21e6ec94d07907bc677fd90 100755 (executable)
@@ -18,7 +18,7 @@ from adafruit_blinka import Enum, Lockable, agnostic
 from adafruit_blinka.agnostic import board_id, detector
 
 # pylint: disable=import-outside-toplevel,too-many-branches,too-many-statements
-# pylint: disable=too-many-arguments,too-many-function-args
+# pylint: disable=too-many-arguments,too-many-function-args, consider-using-with
 
 
 class I2C(Lockable):
@@ -53,6 +53,11 @@ class I2C(Lockable):
 
             self._i2c = _I2C(frequency=frequency)
             return
+        if detector.board.pico_u2if:
+            from adafruit_blinka.microcontroller.pico_u2if.i2c import I2C as _I2C
+
+            self._i2c = _I2C(scl, sda, frequency=frequency)
+            return
         if detector.board.any_embedded_linux:
             from adafruit_blinka.microcontroller.generic_linux.i2c import I2C as _I2C
         else:
@@ -171,6 +176,12 @@ class SPI(Lockable):
             self._spi = _SPI()
             self._pins = (SCK, MOSI, MISO)
             return
+        if detector.board.pico_u2if:
+            from adafruit_blinka.microcontroller.pico_u2if.spi import SPI as _SPI
+
+            self._spi = _SPI(clock)  # this is really all that's needed
+            self._pins = (clock, clock, clock)  # will determine MOSI/MISO from clock
+            return
         if detector.board.any_embedded_linux:
             from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
         else:
@@ -209,6 +220,8 @@ class SPI(Lockable):
                 from adafruit_blinka.microcontroller.allwinner.h3.pin import Pin
             elif detector.chip.id == ap_chip.H5:
                 from adafruit_blinka.microcontroller.allwinner.h5.pin import Pin
+            elif detector.chip.id == ap_chip.H6:
+                from adafruit_blinka.microcontroller.allwinner.h6.pin import Pin
             elif detector.chip.id == ap_chip.H616:
                 from adafruit_blinka.microcontroller.allwinner.h616.pin import Pin
             from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
@@ -286,6 +299,9 @@ class SPI(Lockable):
         elif detector.board.any_lubancat and detector.chip.id == ap_chip.IMX6ULL:
             from adafruit_blinka.microcontroller.nxp_imx6ull.pin import Pin
             from adafruit_blinka.microcontroller.generic_linux.spi import SPI as _SPI
+        elif detector.board.pico_u2if:
+            from adafruit_blinka.microcontroller.pico_u2if.spi import SPI as _SPI
+            from adafruit_blinka.microcontroller.pico_u2if.pin import Pin
         else:
             from machine import SPI as _SPI
             from machine import Pin