aboutsummaryrefslogtreecommitdiff
path: root/nmigen_boards/resources/interface.py
diff options
context:
space:
mode:
authorawygle <awygle@gmail.com>2020-11-04 22:52:12 -0800
committerGitHub <noreply@github.com>2020-11-05 06:52:12 +0000
commitec65568d91dca4ca2ff7da22b90ad6574bbad68a (patch)
treeb99cf827aaf1edcfb34f3aae5228d3e81c0d916e /nmigen_boards/resources/interface.py
parentbcc14672994a3cdd04b7c0e1620d6f5e05145d94 (diff)
Factor out I2C resource.
Diffstat (limited to 'nmigen_boards/resources/interface.py')
-rw-r--r--nmigen_boards/resources/interface.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/nmigen_boards/resources/interface.py b/nmigen_boards/resources/interface.py
index 7244062..9710ffb 100644
--- a/nmigen_boards/resources/interface.py
+++ b/nmigen_boards/resources/interface.py
@@ -2,7 +2,7 @@ from nmigen.build import *
__all__ = [
- "UARTResource", "IrDAResource", "SPIResource",
+ "UARTResource", "IrDAResource", "SPIResource", "I2CResource",
"DirectUSBResource", "ULPIResource"
]
@@ -86,6 +86,15 @@ def SPIResource(*args, cs, clk, copi, cipo, int=None, reset=None,
return Resource.family(*args, default_name="spi", ios=io)
+def I2CResource(*args, scl, sda, conn=None, attrs=None):
+ io = []
+ io.append(Subsignal("scl", Pins(scl, dir="io", conn=conn, assert_width=1)))
+ io.append(Subsignal("sda", Pins(sda, dir="io", conn=conn, assert_width=1)))
+ if attrs is not None:
+ io.append(attrs)
+ return Resource.family(*args, default_name="i2c", ios=io)
+
+
def DirectUSBResource(*args, d_p, d_n, pullup=None, vbus_valid=None,
conn=None, attrs=None):