]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - src/adafruit_blinka/microcontroller/rp2040_u2if/i2c.py
add support for Radxa-X4 via U2IF
[Adafruit_Blinka-hackapet.git] / src / adafruit_blinka / microcontroller / rp2040_u2if / i2c.py
index f4a1a61fd697d5442ad4d82fed306da9656789da..57e4aed141b0a0149ea03c8000a9823fe2d19916 100644 (file)
@@ -88,6 +88,48 @@ class I2C_Feather(I2C):
         super().__init__(index, frequency=frequency)
 
 
         super().__init__(index, frequency=frequency)
 
 
+class I2C_Feather_CAN(I2C):
+    """I2C Class for Feather EPD u2if"""
+
+    def __init__(self, scl, sda, *, frequency=100000):
+        index = None
+        if scl.id == 3 and sda.id == 2:
+            index = 1
+        if index is None:
+            raise ValueError("I2C not found on specified pins.")
+        self._index = index
+
+        super().__init__(index, frequency=frequency)
+
+
+class I2C_Feather_EPD(I2C):
+    """I2C Class for Feather EPD u2if"""
+
+    def __init__(self, scl, sda, *, frequency=100000):
+        index = None
+        if scl.id == 3 and sda.id == 2:
+            index = 1
+        if index is None:
+            raise ValueError("I2C not found on specified pins.")
+        self._index = index
+
+        super().__init__(index, frequency=frequency)
+
+
+class I2C_Feather_RFM(I2C):
+    """I2C Class for Feather EPD u2if"""
+
+    def __init__(self, scl, sda, *, frequency=100000):
+        index = None
+        if scl.id == 3 and sda.id == 2:
+            index = 1
+        if index is None:
+            raise ValueError("I2C not found on specified pins.")
+        self._index = index
+
+        super().__init__(index, frequency=frequency)
+
+
 class I2C_QTPY(I2C):
     """I2C Class for QT Py 2if"""
 
 class I2C_QTPY(I2C):
     """I2C Class for QT Py 2if"""
 
@@ -143,3 +185,33 @@ class I2C_QT2040_Trinkey(I2C):
         self._index = index
 
         super().__init__(index, frequency=frequency)
         self._index = index
 
         super().__init__(index, frequency=frequency)
+
+
+class I2C_KB2040(I2C):
+    """I2C Class for KB2040 u2if"""
+
+    def __init__(self, scl, sda, *, frequency=100000):
+        index = None
+        if scl.id == 13 and sda.id == 12:
+            index = 0
+        if index is None:
+            raise ValueError("I2C not found on specified pins.")
+        self._index = index
+
+        super().__init__(index, frequency=frequency)
+
+
+class I2C_Radxa_X4(I2C):
+    """I2C Class for Radxa X4 u2if"""
+
+    def __init__(self, scl, sda, *, frequency=100000):
+        index = None
+        if scl.id == 29 and sda.id == 28:
+            index = 0
+        if scl.id == 19 and sda.id == 18:
+            index = 1
+        if index is None:
+            raise ValueError("I2C not found on specified pins.")
+        self._index = index
+
+        super().__init__(index, frequency=frequency)